Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/dashboard/css/dashboard.css48
-rw-r--r--apps/dashboard/css/dashboard.css.map1
-rw-r--r--apps/dashboard/src/components/BackgroundSettings.vue2
-rw-r--r--apps/dav/l10n/eu.js1
-rw-r--r--apps/dav/l10n/eu.json1
-rw-r--r--apps/dav/l10n/fr.js2
-rw-r--r--apps/dav/l10n/fr.json2
-rw-r--r--apps/dav/l10n/ja.js5
-rw-r--r--apps/dav/l10n/ja.json5
-rw-r--r--apps/dav/lib/CardDAV/CardDavBackend.php61
-rw-r--r--apps/dav/lib/CardDAV/SyncService.php4
-rw-r--r--apps/dav/lib/Connector/Sabre/Principal.php9
-rw-r--r--apps/dav/lib/HookManager.php12
-rw-r--r--apps/dav/lib/Server.php2
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php4
-rw-r--r--apps/encryption/css/settings-personal.css16
-rw-r--r--apps/encryption/css/settings-personal.css.map1
-rw-r--r--apps/encryption/css/settings-personal.scss12
-rw-r--r--apps/encryption/l10n/tr.js4
-rw-r--r--apps/encryption/l10n/tr.json4
-rw-r--r--apps/encryption/lib/Crypto/Crypt.php47
-rw-r--r--apps/encryption/lib/Crypto/Encryption.php50
-rw-r--r--apps/encryption/tests/Crypto/CryptTest.php23
-rw-r--r--apps/federatedfilesharing/css/settings-admin.css5
-rw-r--r--apps/federatedfilesharing/css/settings-admin.css.map1
-rw-r--r--apps/federatedfilesharing/css/settings-personal.css107
-rw-r--r--apps/federatedfilesharing/css/settings-personal.css.map1
-rw-r--r--apps/federatedfilesharing/css/settings-personal.scss9
-rw-r--r--apps/files/css/detailsView.css133
-rw-r--r--apps/files/css/detailsView.css.map1
-rw-r--r--apps/files/css/files.css1297
-rw-r--r--apps/files/css/files.css.map1
-rw-r--r--apps/files/css/files.scss29
-rw-r--r--apps/files/css/merged.css1831
-rw-r--r--apps/files/css/merged.css.map1
-rw-r--r--apps/files/css/mobile.css112
-rw-r--r--apps/files/css/mobile.css.map1
-rw-r--r--apps/files/css/mobile.scss4
-rw-r--r--apps/files/css/upload.css264
-rw-r--r--apps/files/css/upload.css.map1
-rw-r--r--apps/files/l10n/fi.js7
-rw-r--r--apps/files/l10n/fi.json7
-rw-r--r--apps/files/l10n/nl.js28
-rw-r--r--apps/files/l10n/nl.json28
-rw-r--r--apps/files/l10n/tr.js6
-rw-r--r--apps/files/l10n/tr.json6
-rw-r--r--apps/files/l10n/uk.js1
-rw-r--r--apps/files/l10n/uk.json1
-rw-r--r--apps/files/lib/App.php38
-rw-r--r--apps/files/lib/Collaboration/Resources/Listener.php5
-rw-r--r--apps/files/lib/Controller/TransferOwnershipController.php3
-rw-r--r--apps/files/list.php9
-rw-r--r--apps/files/templates/list.php1
-rw-r--r--apps/files_external/css/settings.css177
-rw-r--r--apps/files_external/css/settings.css.map1
-rw-r--r--apps/files_external/css/settings.scss2
-rw-r--r--apps/files_external/lib/Lib/Storage/AmazonS3.php33
-rw-r--r--apps/files_external/lib/Lib/Storage/SMB.php8
-rw-r--r--apps/files_sharing/css/icons.css94
-rw-r--r--apps/files_sharing/css/icons.css.map1
-rw-r--r--apps/files_sharing/css/icons.scss8
-rw-r--r--apps/files_sharing/css/mobile.css86
-rw-r--r--apps/files_sharing/css/mobile.css.map1
-rw-r--r--apps/files_sharing/css/mobile.scss4
-rw-r--r--apps/files_sharing/css/public.css237
-rw-r--r--apps/files_sharing/css/public.css.map1
-rw-r--r--apps/files_sharing/css/public.scss6
-rw-r--r--apps/files_sharing/css/publicView.css320
-rw-r--r--apps/files_sharing/css/publicView.css.map1
-rw-r--r--apps/files_sharing/l10n/fi.js1
-rw-r--r--apps/files_sharing/l10n/fi.json1
-rw-r--r--apps/files_sharing/l10n/fr.js1
-rw-r--r--apps/files_sharing/l10n/fr.json1
-rw-r--r--apps/files_sharing/l10n/pt_PT.js1
-rw-r--r--apps/files_sharing/l10n/pt_PT.json1
-rw-r--r--apps/files_sharing/l10n/sk.js2
-rw-r--r--apps/files_sharing/l10n/sk.json2
-rw-r--r--apps/files_sharing/l10n/tr.js6
-rw-r--r--apps/files_sharing/l10n/tr.json6
-rw-r--r--apps/files_sharing/lib/MountProvider.php1
-rw-r--r--apps/files_sharing/lib/SharedMount.php1
-rw-r--r--apps/files_sharing/src/components/SharingInput.vue2
-rw-r--r--apps/files_trashbin/l10n/fr.js1
-rw-r--r--apps/files_trashbin/l10n/fr.json1
-rw-r--r--apps/files_trashbin/l10n/ja.js6
-rw-r--r--apps/files_trashbin/l10n/ja.json6
-rw-r--r--apps/oauth2/lib/Db/Client.php4
-rw-r--r--apps/settings/css/settings.css1598
-rw-r--r--apps/settings/css/settings.css.map1
-rw-r--r--apps/settings/css/settings.scss16
-rw-r--r--apps/settings/l10n/ar.js3
-rw-r--r--apps/settings/l10n/ar.json3
-rw-r--r--apps/settings/l10n/bg.js9
-rw-r--r--apps/settings/l10n/bg.json9
-rw-r--r--apps/settings/l10n/br.js6
-rw-r--r--apps/settings/l10n/br.json6
-rw-r--r--apps/settings/l10n/ca.js7
-rw-r--r--apps/settings/l10n/ca.json7
-rw-r--r--apps/settings/l10n/cs.js11
-rw-r--r--apps/settings/l10n/cs.json11
-rw-r--r--apps/settings/l10n/da.js7
-rw-r--r--apps/settings/l10n/da.json7
-rw-r--r--apps/settings/l10n/de.js10
-rw-r--r--apps/settings/l10n/de.json10
-rw-r--r--apps/settings/l10n/de_DE.js10
-rw-r--r--apps/settings/l10n/de_DE.json10
-rw-r--r--apps/settings/l10n/el.js7
-rw-r--r--apps/settings/l10n/el.json7
-rw-r--r--apps/settings/l10n/en_GB.js3
-rw-r--r--apps/settings/l10n/en_GB.json3
-rw-r--r--apps/settings/l10n/eo.js5
-rw-r--r--apps/settings/l10n/eo.json5
-rw-r--r--apps/settings/l10n/es.js7
-rw-r--r--apps/settings/l10n/es.json7
-rw-r--r--apps/settings/l10n/es_419.js3
-rw-r--r--apps/settings/l10n/es_419.json3
-rw-r--r--apps/settings/l10n/es_AR.js3
-rw-r--r--apps/settings/l10n/es_AR.json3
-rw-r--r--apps/settings/l10n/es_CL.js3
-rw-r--r--apps/settings/l10n/es_CL.json3
-rw-r--r--apps/settings/l10n/es_CO.js3
-rw-r--r--apps/settings/l10n/es_CO.json3
-rw-r--r--apps/settings/l10n/es_CR.js3
-rw-r--r--apps/settings/l10n/es_CR.json3
-rw-r--r--apps/settings/l10n/es_DO.js3
-rw-r--r--apps/settings/l10n/es_DO.json3
-rw-r--r--apps/settings/l10n/es_EC.js3
-rw-r--r--apps/settings/l10n/es_EC.json3
-rw-r--r--apps/settings/l10n/es_GT.js3
-rw-r--r--apps/settings/l10n/es_GT.json3
-rw-r--r--apps/settings/l10n/es_HN.js3
-rw-r--r--apps/settings/l10n/es_HN.json3
-rw-r--r--apps/settings/l10n/es_MX.js3
-rw-r--r--apps/settings/l10n/es_MX.json3
-rw-r--r--apps/settings/l10n/es_NI.js3
-rw-r--r--apps/settings/l10n/es_NI.json3
-rw-r--r--apps/settings/l10n/es_PA.js3
-rw-r--r--apps/settings/l10n/es_PA.json3
-rw-r--r--apps/settings/l10n/es_PE.js3
-rw-r--r--apps/settings/l10n/es_PE.json3
-rw-r--r--apps/settings/l10n/es_PR.js3
-rw-r--r--apps/settings/l10n/es_PR.json3
-rw-r--r--apps/settings/l10n/es_PY.js3
-rw-r--r--apps/settings/l10n/es_PY.json3
-rw-r--r--apps/settings/l10n/es_SV.js3
-rw-r--r--apps/settings/l10n/es_SV.json3
-rw-r--r--apps/settings/l10n/es_UY.js3
-rw-r--r--apps/settings/l10n/es_UY.json3
-rw-r--r--apps/settings/l10n/eu.js9
-rw-r--r--apps/settings/l10n/eu.json9
-rw-r--r--apps/settings/l10n/fa.js6
-rw-r--r--apps/settings/l10n/fa.json6
-rw-r--r--apps/settings/l10n/fi.js7
-rw-r--r--apps/settings/l10n/fi.json7
-rw-r--r--apps/settings/l10n/fr.js13
-rw-r--r--apps/settings/l10n/fr.json13
-rw-r--r--apps/settings/l10n/gl.js7
-rw-r--r--apps/settings/l10n/gl.json7
-rw-r--r--apps/settings/l10n/he.js7
-rw-r--r--apps/settings/l10n/he.json7
-rw-r--r--apps/settings/l10n/hr.js7
-rw-r--r--apps/settings/l10n/hr.json7
-rw-r--r--apps/settings/l10n/hu.js11
-rw-r--r--apps/settings/l10n/hu.json11
-rw-r--r--apps/settings/l10n/id.js23
-rw-r--r--apps/settings/l10n/id.json23
-rw-r--r--apps/settings/l10n/is.js6
-rw-r--r--apps/settings/l10n/is.json6
-rw-r--r--apps/settings/l10n/it.js7
-rw-r--r--apps/settings/l10n/it.json7
-rw-r--r--apps/settings/l10n/ja.js7
-rw-r--r--apps/settings/l10n/ja.json7
-rw-r--r--apps/settings/l10n/ka_GE.js3
-rw-r--r--apps/settings/l10n/ka_GE.json3
-rw-r--r--apps/settings/l10n/ko.js3
-rw-r--r--apps/settings/l10n/ko.json3
-rw-r--r--apps/settings/l10n/lt_LT.js7
-rw-r--r--apps/settings/l10n/lt_LT.json7
-rw-r--r--apps/settings/l10n/mk.js7
-rw-r--r--apps/settings/l10n/mk.json7
-rw-r--r--apps/settings/l10n/nb.js4
-rw-r--r--apps/settings/l10n/nb.json4
-rw-r--r--apps/settings/l10n/nl.js7
-rw-r--r--apps/settings/l10n/nl.json7
-rw-r--r--apps/settings/l10n/oc.js3
-rw-r--r--apps/settings/l10n/oc.json3
-rw-r--r--apps/settings/l10n/pl.js10
-rw-r--r--apps/settings/l10n/pl.json10
-rw-r--r--apps/settings/l10n/pt_BR.js16
-rw-r--r--apps/settings/l10n/pt_BR.json16
-rw-r--r--apps/settings/l10n/pt_PT.js3
-rw-r--r--apps/settings/l10n/pt_PT.json3
-rw-r--r--apps/settings/l10n/ru.js7
-rw-r--r--apps/settings/l10n/ru.json7
-rw-r--r--apps/settings/l10n/sc.js7
-rw-r--r--apps/settings/l10n/sc.json7
-rw-r--r--apps/settings/l10n/sk.js9
-rw-r--r--apps/settings/l10n/sk.json9
-rw-r--r--apps/settings/l10n/sl.js7
-rw-r--r--apps/settings/l10n/sl.json7
-rw-r--r--apps/settings/l10n/sq.js3
-rw-r--r--apps/settings/l10n/sq.json3
-rw-r--r--apps/settings/l10n/sr.js7
-rw-r--r--apps/settings/l10n/sr.json7
-rw-r--r--apps/settings/l10n/sv.js7
-rw-r--r--apps/settings/l10n/sv.json7
-rw-r--r--apps/settings/l10n/th.js3
-rw-r--r--apps/settings/l10n/th.json3
-rw-r--r--apps/settings/l10n/tr.js30
-rw-r--r--apps/settings/l10n/tr.json30
-rw-r--r--apps/settings/l10n/uk.js3
-rw-r--r--apps/settings/l10n/uk.json3
-rw-r--r--apps/settings/l10n/zh_CN.js7
-rw-r--r--apps/settings/l10n/zh_CN.json7
-rw-r--r--apps/settings/l10n/zh_HK.js10
-rw-r--r--apps/settings/l10n/zh_HK.json10
-rw-r--r--apps/settings/l10n/zh_TW.js10
-rw-r--r--apps/settings/l10n/zh_TW.json10
-rw-r--r--apps/settings/lib/Controller/ChangePasswordController.php5
-rw-r--r--apps/settings/lib/Settings/Admin/Sharing.php1
-rw-r--r--apps/settings/src/admin.js1
-rw-r--r--apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue2
-rw-r--r--apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue2
-rw-r--r--apps/settings/templates/settings/admin/sharing.php18
-rw-r--r--apps/settings/tests/Settings/Admin/SharingTest.php4
-rw-r--r--apps/sharebymail/l10n/es.js2
-rw-r--r--apps/sharebymail/l10n/es.json2
-rw-r--r--apps/testing/lib/Locking/FakeDBLockingProvider.php17
-rw-r--r--apps/theming/css/default.css3
-rw-r--r--apps/theming/css/settings-admin.css132
-rw-r--r--apps/theming/css/settings-admin.css.map1
-rw-r--r--apps/theming/css/theming.css17
-rw-r--r--apps/theming/css/theming.scss285
-rw-r--r--apps/theming/l10n/af.js1
-rw-r--r--apps/theming/l10n/af.json1
-rw-r--r--apps/theming/l10n/ar.js1
-rw-r--r--apps/theming/l10n/ar.json1
-rw-r--r--apps/theming/l10n/bg.js1
-rw-r--r--apps/theming/l10n/bg.json1
-rw-r--r--apps/theming/l10n/ca.js1
-rw-r--r--apps/theming/l10n/ca.json1
-rw-r--r--apps/theming/l10n/cs.js4
-rw-r--r--apps/theming/l10n/cs.json4
-rw-r--r--apps/theming/l10n/da.js1
-rw-r--r--apps/theming/l10n/da.json1
-rw-r--r--apps/theming/l10n/de.js1
-rw-r--r--apps/theming/l10n/de.json1
-rw-r--r--apps/theming/l10n/de_DE.js2
-rw-r--r--apps/theming/l10n/de_DE.json2
-rw-r--r--apps/theming/l10n/el.js1
-rw-r--r--apps/theming/l10n/el.json1
-rw-r--r--apps/theming/l10n/en_GB.js2
-rw-r--r--apps/theming/l10n/en_GB.json2
-rw-r--r--apps/theming/l10n/eo.js1
-rw-r--r--apps/theming/l10n/eo.json1
-rw-r--r--apps/theming/l10n/es.js1
-rw-r--r--apps/theming/l10n/es.json1
-rw-r--r--apps/theming/l10n/es_AR.js1
-rw-r--r--apps/theming/l10n/es_AR.json1
-rw-r--r--apps/theming/l10n/es_CL.js1
-rw-r--r--apps/theming/l10n/es_CL.json1
-rw-r--r--apps/theming/l10n/es_CO.js1
-rw-r--r--apps/theming/l10n/es_CO.json1
-rw-r--r--apps/theming/l10n/es_DO.js1
-rw-r--r--apps/theming/l10n/es_DO.json1
-rw-r--r--apps/theming/l10n/es_EC.js1
-rw-r--r--apps/theming/l10n/es_EC.json1
-rw-r--r--apps/theming/l10n/es_GT.js1
-rw-r--r--apps/theming/l10n/es_GT.json1
-rw-r--r--apps/theming/l10n/es_MX.js1
-rw-r--r--apps/theming/l10n/es_MX.json1
-rw-r--r--apps/theming/l10n/eu.js1
-rw-r--r--apps/theming/l10n/eu.json1
-rw-r--r--apps/theming/l10n/fi.js6
-rw-r--r--apps/theming/l10n/fi.json6
-rw-r--r--apps/theming/l10n/fr.js2
-rw-r--r--apps/theming/l10n/fr.json2
-rw-r--r--apps/theming/l10n/gl.js1
-rw-r--r--apps/theming/l10n/gl.json1
-rw-r--r--apps/theming/l10n/he.js1
-rw-r--r--apps/theming/l10n/he.json1
-rw-r--r--apps/theming/l10n/hr.js1
-rw-r--r--apps/theming/l10n/hr.json1
-rw-r--r--apps/theming/l10n/hu.js6
-rw-r--r--apps/theming/l10n/hu.json6
-rw-r--r--apps/theming/l10n/is.js1
-rw-r--r--apps/theming/l10n/is.json1
-rw-r--r--apps/theming/l10n/it.js1
-rw-r--r--apps/theming/l10n/it.json1
-rw-r--r--apps/theming/l10n/ja.js1
-rw-r--r--apps/theming/l10n/ja.json1
-rw-r--r--apps/theming/l10n/ka_GE.js1
-rw-r--r--apps/theming/l10n/ka_GE.json1
-rw-r--r--apps/theming/l10n/ko.js1
-rw-r--r--apps/theming/l10n/ko.json1
-rw-r--r--apps/theming/l10n/lt_LT.js1
-rw-r--r--apps/theming/l10n/lt_LT.json1
-rw-r--r--apps/theming/l10n/mk.js1
-rw-r--r--apps/theming/l10n/mk.json1
-rw-r--r--apps/theming/l10n/nb.js1
-rw-r--r--apps/theming/l10n/nb.json1
-rw-r--r--apps/theming/l10n/nl.js1
-rw-r--r--apps/theming/l10n/nl.json1
-rw-r--r--apps/theming/l10n/pl.js2
-rw-r--r--apps/theming/l10n/pl.json2
-rw-r--r--apps/theming/l10n/pt_BR.js13
-rw-r--r--apps/theming/l10n/pt_BR.json13
-rw-r--r--apps/theming/l10n/pt_PT.js1
-rw-r--r--apps/theming/l10n/pt_PT.json1
-rw-r--r--apps/theming/l10n/ru.js4
-rw-r--r--apps/theming/l10n/ru.json4
-rw-r--r--apps/theming/l10n/sc.js1
-rw-r--r--apps/theming/l10n/sc.json1
-rw-r--r--apps/theming/l10n/sk.js6
-rw-r--r--apps/theming/l10n/sk.json6
-rw-r--r--apps/theming/l10n/sl.js1
-rw-r--r--apps/theming/l10n/sl.json1
-rw-r--r--apps/theming/l10n/sq.js1
-rw-r--r--apps/theming/l10n/sq.json1
-rw-r--r--apps/theming/l10n/sr.js1
-rw-r--r--apps/theming/l10n/sr.json1
-rw-r--r--apps/theming/l10n/sv.js1
-rw-r--r--apps/theming/l10n/sv.json1
-rw-r--r--apps/theming/l10n/tr.js4
-rw-r--r--apps/theming/l10n/tr.json4
-rw-r--r--apps/theming/l10n/uk.js1
-rw-r--r--apps/theming/l10n/uk.json1
-rw-r--r--apps/theming/l10n/vi.js1
-rw-r--r--apps/theming/l10n/vi.json1
-rw-r--r--apps/theming/l10n/zh_CN.js1
-rw-r--r--apps/theming/l10n/zh_CN.json1
-rw-r--r--apps/theming/l10n/zh_HK.js2
-rw-r--r--apps/theming/l10n/zh_HK.json2
-rw-r--r--apps/theming/l10n/zh_TW.js2
-rw-r--r--apps/theming/l10n/zh_TW.json2
-rw-r--r--apps/theming/lib/Themes/DefaultTheme.php7
-rw-r--r--apps/theming/src/UserThemes.vue15
-rw-r--r--apps/updatenotification/l10n/fr.js3
-rw-r--r--apps/updatenotification/l10n/fr.json3
-rw-r--r--apps/updatenotification/l10n/tr.js6
-rw-r--r--apps/updatenotification/l10n/tr.json6
-rw-r--r--apps/updatenotification/src/components/UpdateNotification.vue2
-rw-r--r--apps/user_ldap/l10n/bg.js4
-rw-r--r--apps/user_ldap/l10n/bg.json4
-rw-r--r--apps/user_ldap/l10n/cs.js5
-rw-r--r--apps/user_ldap/l10n/cs.json5
-rw-r--r--apps/user_ldap/l10n/de.js4
-rw-r--r--apps/user_ldap/l10n/de.json4
-rw-r--r--apps/user_ldap/l10n/de_DE.js5
-rw-r--r--apps/user_ldap/l10n/de_DE.json5
-rw-r--r--apps/user_ldap/l10n/el.js4
-rw-r--r--apps/user_ldap/l10n/el.json4
-rw-r--r--apps/user_ldap/l10n/es.js4
-rw-r--r--apps/user_ldap/l10n/es.json4
-rw-r--r--apps/user_ldap/l10n/eu.js4
-rw-r--r--apps/user_ldap/l10n/eu.json4
-rw-r--r--apps/user_ldap/l10n/fr.js4
-rw-r--r--apps/user_ldap/l10n/fr.json4
-rw-r--r--apps/user_ldap/l10n/hr.js4
-rw-r--r--apps/user_ldap/l10n/hr.json4
-rw-r--r--apps/user_ldap/l10n/hu.js5
-rw-r--r--apps/user_ldap/l10n/hu.json5
-rw-r--r--apps/user_ldap/l10n/it.js4
-rw-r--r--apps/user_ldap/l10n/it.json4
-rw-r--r--apps/user_ldap/l10n/ja.js4
-rw-r--r--apps/user_ldap/l10n/ja.json4
-rw-r--r--apps/user_ldap/l10n/nl.js4
-rw-r--r--apps/user_ldap/l10n/nl.json4
-rw-r--r--apps/user_ldap/l10n/pl.js5
-rw-r--r--apps/user_ldap/l10n/pl.json5
-rw-r--r--apps/user_ldap/l10n/pt_BR.js4
-rw-r--r--apps/user_ldap/l10n/pt_BR.json4
-rw-r--r--apps/user_ldap/l10n/ru.js4
-rw-r--r--apps/user_ldap/l10n/ru.json4
-rw-r--r--apps/user_ldap/l10n/sc.js4
-rw-r--r--apps/user_ldap/l10n/sc.json4
-rw-r--r--apps/user_ldap/l10n/sk.js4
-rw-r--r--apps/user_ldap/l10n/sk.json4
-rw-r--r--apps/user_ldap/l10n/sl.js4
-rw-r--r--apps/user_ldap/l10n/sl.json4
-rw-r--r--apps/user_ldap/l10n/tr.js25
-rw-r--r--apps/user_ldap/l10n/tr.json25
-rw-r--r--apps/user_ldap/l10n/zh_CN.js4
-rw-r--r--apps/user_ldap/l10n/zh_CN.json4
-rw-r--r--apps/user_ldap/l10n/zh_HK.js5
-rw-r--r--apps/user_ldap/l10n/zh_HK.json5
-rw-r--r--apps/user_ldap/l10n/zh_TW.js5
-rw-r--r--apps/user_ldap/l10n/zh_TW.json5
-rw-r--r--apps/user_ldap/lib/Connection.php11
-rw-r--r--apps/user_ldap/lib/Group_LDAP.php12
-rw-r--r--apps/user_ldap/lib/Helper.php13
-rw-r--r--apps/user_ldap/lib/User/Manager.php51
-rw-r--r--apps/user_ldap/templates/settings.php2
-rw-r--r--apps/user_status/css/user-status-menu.css101
-rw-r--r--apps/user_status/css/user-status-menu.css.map1
-rw-r--r--apps/user_status/css/user-status-menu.scss6
-rw-r--r--apps/weather_status/l10n/eu.js16
-rw-r--r--apps/weather_status/l10n/eu.json16
-rw-r--r--apps/weather_status/l10n/ro.js37
-rw-r--r--apps/weather_status/l10n/ro.json35
-rw-r--r--apps/workflowengine/l10n/de_DE.js2
-rw-r--r--apps/workflowengine/l10n/de_DE.json2
-rw-r--r--apps/workflowengine/lib/Manager.php9
-rw-r--r--apps/workflowengine/src/components/Event.vue2
-rw-r--r--apps/workflowengine/src/components/Operation.vue13
-rw-r--r--apps/workflowengine/src/components/Rule.vue69
-rw-r--r--apps/workflowengine/src/styles/operation.scss1
407 files changed, 7609 insertions, 1479 deletions
diff --git a/apps/dashboard/css/dashboard.css b/apps/dashboard/css/dashboard.css
new file mode 100644
index 00000000000..ea01e0f771b
--- /dev/null
+++ b/apps/dashboard/css/dashboard.css
@@ -0,0 +1,48 @@
+.skip-navigation:not(.skip-content) {
+ display: none;
+}
+
+.skip-navigation.skip-content {
+ left: 3px;
+}
+
+#header {
+ background: transparent !important;
+ --color-header: rgba(24, 24, 24, 1);
+}
+#body-user.dashboard--dark #header {
+ --color-header: rgba(255, 255, 255, 1);
+}
+#header:before {
+ content: " ";
+ display: block;
+ position: absolute;
+ background-image: linear-gradient(180deg, var(--color-header) 0%, transparent 100%);
+ width: 100%;
+ height: 70px;
+ top: 0;
+ margin-top: -70px;
+ transition: margin-top var(--animation-slow);
+}
+#body-user.dashboard--scrolled #header:before {
+ margin-top: 0;
+}
+#body-user.theme--highcontrast #header {
+ background-color: var(--color-header) !important;
+}
+#body-user.theme--highcontrast #header:before {
+ display: none;
+}
+
+#content {
+ padding-top: 0 !important;
+}
+
+#appmenu li a.active::before,
+#appmenu li:hover a::before,
+#appmenu li:hover a.active::before,
+#appmenu li a:focus::before {
+ display: none !important;
+}
+
+/*# sourceMappingURL=dashboard.css.map */
diff --git a/apps/dashboard/css/dashboard.css.map b/apps/dashboard/css/dashboard.css.map
new file mode 100644
index 00000000000..15b99dd3883
--- /dev/null
+++ b/apps/dashboard/css/dashboard.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":"AACA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKF;EACC;;AAEA;EACC;;;AAMH;EACC;;;AAID;AAAA;AAAA;AAAA;EAIC","file":"dashboard.css"} \ No newline at end of file
diff --git a/apps/dashboard/src/components/BackgroundSettings.vue b/apps/dashboard/src/components/BackgroundSettings.vue
index bd2154e89a7..3fd82768267 100644
--- a/apps/dashboard/src/components/BackgroundSettings.vue
+++ b/apps/dashboard/src/components/BackgroundSettings.vue
@@ -174,7 +174,7 @@ export default {
}
&.active:not(.icon-loading):after {
- background-image: var(--icon-checkmark-fff);
+ background-image: var(--icon-checkmark-white);
background-repeat: no-repeat;
background-position: center;
background-size: 44px;
diff --git a/apps/dav/l10n/eu.js b/apps/dav/l10n/eu.js
index f1c49f150ed..09931f17cd1 100644
--- a/apps/dav/l10n/eu.js
+++ b/apps/dav/l10n/eu.js
@@ -108,6 +108,7 @@ OC.L10N.register(
"{actor} updated contact {card} in address book {addressbook}" : "{actor}-(e)k eguneratu du {card} kontaktua {addressbook} helbide-liburuan",
"You updated contact {card} in address book {addressbook}" : "Eguneratu duzu {card} kontaktua {addressbook} helbide-liburuan",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>kontaktu</strong> edo <strong>helbide-liburu</strong>bat aldatu da",
+ "Could not write file contents" : "Ezin izan dira fitxategiaren edukiak idatzi",
"_%n byte_::_%n bytes_" : ["Byte %n","%n byte"],
"Could not open file" : "Ezin izan da fitxategia ireki",
"System is in maintenance mode." : "Sistema mantentze moduan dago.",
diff --git a/apps/dav/l10n/eu.json b/apps/dav/l10n/eu.json
index 9a320a4ad77..83384237f8b 100644
--- a/apps/dav/l10n/eu.json
+++ b/apps/dav/l10n/eu.json
@@ -106,6 +106,7 @@
"{actor} updated contact {card} in address book {addressbook}" : "{actor}-(e)k eguneratu du {card} kontaktua {addressbook} helbide-liburuan",
"You updated contact {card} in address book {addressbook}" : "Eguneratu duzu {card} kontaktua {addressbook} helbide-liburuan",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>kontaktu</strong> edo <strong>helbide-liburu</strong>bat aldatu da",
+ "Could not write file contents" : "Ezin izan dira fitxategiaren edukiak idatzi",
"_%n byte_::_%n bytes_" : ["Byte %n","%n byte"],
"Could not open file" : "Ezin izan da fitxategia ireki",
"System is in maintenance mode." : "Sistema mantentze moduan dago.",
diff --git a/apps/dav/l10n/fr.js b/apps/dav/l10n/fr.js
index 5265da53539..c0582dfc01a 100644
--- a/apps/dav/l10n/fr.js
+++ b/apps/dav/l10n/fr.js
@@ -137,6 +137,7 @@ OC.L10N.register(
"Due on %s by %s" : "Echéance le %s pour %s",
"Due on %s" : "Echéance le %s",
"Migrated calendar (%1$s)" : "Agenda migré (%1$s)",
+ "Calendars including events, details and attendees" : "Calendriers incluant des événements, détails et participants",
"Contacts and groups" : "Contacts et groupes",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Point d'accès WebDAV",
@@ -162,6 +163,7 @@ OC.L10N.register(
"Hence they will not be available immediately after enabling but will show up after some time." : "Par conséquent, ils ne seront pas disponibles immédiatement après l'activation mais apparaîtront après un certain temps.",
"Send notifications for events" : "Envoyer une notification pour les évènements",
"Notifications are sent via background jobs, so these must occur often enough." : "Les notifications sont envoyées par des tâches de fond qui doivent, par conséquent, être exécutées régulièrement.",
+ "Reminders are always sent to organizers and attendees." : "Des rappels sont toujours envoyés aux organisateurs et aux participants.",
"Enable notifications for events via push" : "Activer les notifications push pour les évènements",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Installer aussi {calendarappstoreopen}l'application Calendrier{linkclose}, ou {calendardocopen}connecter à votre PC & téléphone pour synchroniser ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Merci de vérifier d'avoir correctement configuré {emailopen}le serveur de courriel{linkclose}.",
diff --git a/apps/dav/l10n/fr.json b/apps/dav/l10n/fr.json
index 9e4f4ef414f..51364131d95 100644
--- a/apps/dav/l10n/fr.json
+++ b/apps/dav/l10n/fr.json
@@ -135,6 +135,7 @@
"Due on %s by %s" : "Echéance le %s pour %s",
"Due on %s" : "Echéance le %s",
"Migrated calendar (%1$s)" : "Agenda migré (%1$s)",
+ "Calendars including events, details and attendees" : "Calendriers incluant des événements, détails et participants",
"Contacts and groups" : "Contacts et groupes",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Point d'accès WebDAV",
@@ -160,6 +161,7 @@
"Hence they will not be available immediately after enabling but will show up after some time." : "Par conséquent, ils ne seront pas disponibles immédiatement après l'activation mais apparaîtront après un certain temps.",
"Send notifications for events" : "Envoyer une notification pour les évènements",
"Notifications are sent via background jobs, so these must occur often enough." : "Les notifications sont envoyées par des tâches de fond qui doivent, par conséquent, être exécutées régulièrement.",
+ "Reminders are always sent to organizers and attendees." : "Des rappels sont toujours envoyés aux organisateurs et aux participants.",
"Enable notifications for events via push" : "Activer les notifications push pour les évènements",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Installer aussi {calendarappstoreopen}l'application Calendrier{linkclose}, ou {calendardocopen}connecter à votre PC & téléphone pour synchroniser ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Merci de vérifier d'avoir correctement configuré {emailopen}le serveur de courriel{linkclose}.",
diff --git a/apps/dav/l10n/ja.js b/apps/dav/l10n/ja.js
index e95c0a012a2..ab469850ac3 100644
--- a/apps/dav/l10n/ja.js
+++ b/apps/dav/l10n/ja.js
@@ -108,6 +108,11 @@ OC.L10N.register(
"{actor} updated contact {card} in address book {addressbook}" : "{actor}がアドレス帳 {addressbook}の連絡先 {card}を更新しました",
"You updated contact {card} in address book {addressbook}" : "アドレス帳 {addressbook}の連絡先 {card}を更新しました",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "連絡先やアドレス帳が変更されたとき",
+ "File is not updatable: %1$s" : "ファイルが更新できません:%1$s",
+ "Could not write to final file, canceled by hook" : "最終ファイルへの書き込みができなかったため、フックによりキャンセルされた",
+ "Could not write file contents" : "ファイルの内容を書き込むことができませんでした",
+ "_%n byte_::_%n bytes_" : ["%n bytes"],
+ "Could not open file" : "ファイルを開くことができませんでした",
"System is in maintenance mode." : "システムはメンテナンスモードです。",
"Upgrade needed" : "アップグレードが必要です",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "iOS / macOSでCalDAVおよびCardDAVを使用するには、%sにHTTPSを設定する必要があります。",
diff --git a/apps/dav/l10n/ja.json b/apps/dav/l10n/ja.json
index b3816a8b966..1c47079c0af 100644
--- a/apps/dav/l10n/ja.json
+++ b/apps/dav/l10n/ja.json
@@ -106,6 +106,11 @@
"{actor} updated contact {card} in address book {addressbook}" : "{actor}がアドレス帳 {addressbook}の連絡先 {card}を更新しました",
"You updated contact {card} in address book {addressbook}" : "アドレス帳 {addressbook}の連絡先 {card}を更新しました",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "連絡先やアドレス帳が変更されたとき",
+ "File is not updatable: %1$s" : "ファイルが更新できません:%1$s",
+ "Could not write to final file, canceled by hook" : "最終ファイルへの書き込みができなかったため、フックによりキャンセルされた",
+ "Could not write file contents" : "ファイルの内容を書き込むことができませんでした",
+ "_%n byte_::_%n bytes_" : ["%n bytes"],
+ "Could not open file" : "ファイルを開くことができませんでした",
"System is in maintenance mode." : "システムはメンテナンスモードです。",
"Upgrade needed" : "アップグレードが必要です",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "iOS / macOSでCalDAVおよびCardDAVを使用するには、%sにHTTPSを設定する必要があります。",
diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php
index 1c1754ff752..f5ed9a548d1 100644
--- a/apps/dav/lib/CardDAV/CardDavBackend.php
+++ b/apps/dav/lib/CardDAV/CardDavBackend.php
@@ -648,23 +648,26 @@ class CardDavBackend implements BackendInterface, SyncSupport {
* @param mixed $addressBookId
* @param string $cardUri
* @param string $cardData
+ * @param bool $checkAlreadyExists
* @return string
*/
- public function createCard($addressBookId, $cardUri, $cardData) {
+ public function createCard($addressBookId, $cardUri, $cardData, bool $checkAlreadyExists = true) {
$etag = md5($cardData);
$uid = $this->getUID($cardData);
- $q = $this->db->getQueryBuilder();
- $q->select('uid')
- ->from($this->dbCardsTable)
- ->where($q->expr()->eq('addressbookid', $q->createNamedParameter($addressBookId)))
- ->andWhere($q->expr()->eq('uid', $q->createNamedParameter($uid)))
- ->setMaxResults(1);
- $result = $q->execute();
- $count = (bool)$result->fetchOne();
- $result->closeCursor();
- if ($count) {
- throw new \Sabre\DAV\Exception\BadRequest('VCard object with uid already exists in this addressbook collection.');
+ if ($checkAlreadyExists) {
+ $q = $this->db->getQueryBuilder();
+ $q->select('uid')
+ ->from($this->dbCardsTable)
+ ->where($q->expr()->eq('addressbookid', $q->createNamedParameter($addressBookId)))
+ ->andWhere($q->expr()->eq('uid', $q->createNamedParameter($uid)))
+ ->setMaxResults(1);
+ $result = $q->executeQuery();
+ $count = (bool)$result->fetchOne();
+ $result->closeCursor();
+ if ($count) {
+ throw new \Sabre\DAV\Exception\BadRequest('VCard object with uid already exists in this addressbook collection.');
+ }
}
$query = $this->db->getQueryBuilder();
@@ -1268,21 +1271,29 @@ class CardDavBackend implements BackendInterface, SyncSupport {
]
);
- foreach ($vCard->children() as $property) {
- if (!in_array($property->name, self::$indexProperties)) {
- continue;
- }
- $preferred = 0;
- foreach ($property->parameters as $parameter) {
- if ($parameter->name === 'TYPE' && strtoupper($parameter->getValue()) === 'PREF') {
- $preferred = 1;
- break;
+
+ $this->db->beginTransaction();
+
+ try {
+ foreach ($vCard->children() as $property) {
+ if (!in_array($property->name, self::$indexProperties)) {
+ continue;
+ }
+ $preferred = 0;
+ foreach ($property->parameters as $parameter) {
+ if ($parameter->name === 'TYPE' && strtoupper($parameter->getValue()) === 'PREF') {
+ $preferred = 1;
+ break;
+ }
}
+ $query->setParameter('name', $property->name);
+ $query->setParameter('value', mb_strcut($property->getValue(), 0, 254));
+ $query->setParameter('preferred', $preferred);
+ $query->execute();
}
- $query->setParameter('name', $property->name);
- $query->setParameter('value', mb_strcut($property->getValue(), 0, 254));
- $query->setParameter('preferred', $preferred);
- $query->execute();
+ $this->db->commit();
+ } catch (\Exception $e) {
+ $this->db->rollBack();
}
}
diff --git a/apps/dav/lib/CardDAV/SyncService.php b/apps/dav/lib/CardDAV/SyncService.php
index b93fd94f741..e1ac3af5cc9 100644
--- a/apps/dav/lib/CardDAV/SyncService.php
+++ b/apps/dav/lib/CardDAV/SyncService.php
@@ -265,12 +265,12 @@ class SyncService {
$userId = $user->getUID();
$cardId = "$name:$userId.vcf";
- $card = $this->backend->getCard($addressBookId, $cardId);
if ($user->isEnabled()) {
+ $card = $this->backend->getCard($addressBookId, $cardId);
if ($card === false) {
$vCard = $this->converter->createCardFromUser($user);
if ($vCard !== null) {
- $this->backend->createCard($addressBookId, $cardId, $vCard->serialize());
+ $this->backend->createCard($addressBookId, $cardId, $vCard->serialize(), false);
}
} else {
$vCard = $this->converter->createCardFromUser($user);
diff --git a/apps/dav/lib/Connector/Sabre/Principal.php b/apps/dav/lib/Connector/Sabre/Principal.php
index c3f06f95783..94e3978e67d 100644
--- a/apps/dav/lib/Connector/Sabre/Principal.php
+++ b/apps/dav/lib/Connector/Sabre/Principal.php
@@ -270,6 +270,8 @@ class Principal implements BackendInterface {
$limitEnumerationGroup = $this->shareManager->limitEnumerationToGroups();
$limitEnumerationPhone = $this->shareManager->limitEnumerationToPhone();
$allowEnumerationFullMatch = $this->shareManager->allowEnumerationFullMatch();
+ $ignoreSecondDisplayName = $this->shareManager->ignoreSecondDisplayName();
+ $matchEmail = $this->shareManager->matchEmail();
// If sharing is restricted to group members only,
// return only members that have groups in common
@@ -298,7 +300,7 @@ class Principal implements BackendInterface {
switch ($prop) {
case '{http://sabredav.org/ns}email-address':
if (!$allowEnumeration) {
- if ($allowEnumerationFullMatch) {
+ if ($allowEnumerationFullMatch && $matchEmail) {
$users = $this->userManager->getByEmail($value);
} else {
$users = [];
@@ -349,8 +351,9 @@ class Principal implements BackendInterface {
if ($allowEnumerationFullMatch) {
$lowerSearch = strtolower($value);
$users = $this->userManager->searchDisplayName($value, $searchLimit);
- $users = \array_filter($users, static function (IUser $user) use ($lowerSearch) {
- return strtolower($user->getDisplayName()) === $lowerSearch;
+ $users = \array_filter($users, static function (IUser $user) use ($lowerSearch, $ignoreSecondDisplayName) {
+ $lowerDisplayName = strtolower($user->getDisplayName());
+ return $lowerDisplayName === $lowerSearch || ($ignoreSecondDisplayName && trim(preg_replace('/ \(.*\)$/', '', $lowerDisplayName)) === $lowerSearch);
});
} else {
$users = [];
diff --git a/apps/dav/lib/HookManager.php b/apps/dav/lib/HookManager.php
index f0fdd5cfd4f..b69d9b0cd79 100644
--- a/apps/dav/lib/HookManager.php
+++ b/apps/dav/lib/HookManager.php
@@ -105,10 +105,7 @@ class HookManager {
$this->postDeleteUser(['uid' => $uid]);
});
\OC::$server->getUserManager()->listen('\OC\User', 'postUnassignedUserId', [$this, 'postUnassignedUserId']);
- Util::connectHook('OC_User',
- 'changeUser',
- $this,
- 'changeUser');
+ Util::connectHook('OC_User', 'changeUser', $this, 'changeUser');
}
public function postCreateUser($params) {
@@ -164,7 +161,12 @@ class HookManager {
public function changeUser($params) {
$user = $params['user'];
- $this->syncService->updateUser($user);
+ $feature = $params['feature'];
+ // This case is already covered by the account manager firing up a signal
+ // later on
+ if ($feature !== 'eMailAddress' && $feature !== 'displayName') {
+ $this->syncService->updateUser($user);
+ }
}
public function firstLogin(IUser $user = null) {
diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php
index e69f984e20b..9791bc6b334 100644
--- a/apps/dav/lib/Server.php
+++ b/apps/dav/lib/Server.php
@@ -306,7 +306,7 @@ class Server {
\OC::$server->getShareManager(),
$view
));
-- $logger = \OC::$server->get(LoggerInterface::class);
+ $logger = \OC::$server->get(LoggerInterface::class);
$this->server->addPlugin(
new BulkUploadPlugin($userFolder, $logger)
);
diff --git a/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php b/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php
index d7c074c9e3b..86413e4a366 100644
--- a/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php
@@ -662,6 +662,10 @@ class PrincipalTest extends TestCase {
->method('allowEnumerationFullMatch')
->willReturn(true);
+ $this->shareManager->expects($this->once())
+ ->method('matchEmail')
+ ->willReturn(true);
+
$user2 = $this->createMock(IUser::class);
$user2->method('getUID')->willReturn('user2');
$user2->method('getDisplayName')->willReturn('User 2');
diff --git a/apps/encryption/css/settings-personal.css b/apps/encryption/css/settings-personal.css
new file mode 100644
index 00000000000..9b795f05382
--- /dev/null
+++ b/apps/encryption/css/settings-personal.css
@@ -0,0 +1,16 @@
+/* Copyright (c) 2013, Sam Tuke, <samtuke@owncloud.com>
+ This file is licensed under the Affero General Public License version 3 or later.
+ See the COPYING-README file. */
+#encryptAllError,
+#encryptAllSuccess,
+#recoveryEnabledError,
+#recoveryEnabledSuccess {
+ display: none;
+}
+
+/* icons for sidebar */
+.nav-icon-basic-encryption-module {
+ background-image: var(--icon-encryption-dark);
+}
+
+/*# sourceMappingURL=settings-personal.css.map */
diff --git a/apps/encryption/css/settings-personal.css.map b/apps/encryption/css/settings-personal.css.map
new file mode 100644
index 00000000000..979a14d9aec
--- /dev/null
+++ b/apps/encryption/css/settings-personal.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["settings-personal.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC","file":"settings-personal.css"} \ No newline at end of file
diff --git a/apps/encryption/css/settings-personal.scss b/apps/encryption/css/settings-personal.scss
index d9846cc77f6..59981356573 100644
--- a/apps/encryption/css/settings-personal.scss
+++ b/apps/encryption/css/settings-personal.scss
@@ -2,14 +2,14 @@
This file is licensed under the Affero General Public License version 3 or later.
See the COPYING-README file. */
-#encryptAllError
-, #encryptAllSuccess
-, #recoveryEnabledError
-, #recoveryEnabledSuccess {
+#encryptAllError,
+#encryptAllSuccess,
+#recoveryEnabledError,
+#recoveryEnabledSuccess {
display: none;
}
/* icons for sidebar */
.nav-icon-basic-encryption-module {
- @include icon-color('app', 'encryption', $color-black);
-} \ No newline at end of file
+ background-image: var(--icon-encryption-dark);
+}
diff --git a/apps/encryption/l10n/tr.js b/apps/encryption/l10n/tr.js
index 74b19bea00c..8e7492d76c3 100644
--- a/apps/encryption/l10n/tr.js
+++ b/apps/encryption/l10n/tr.js
@@ -32,14 +32,14 @@ OC.L10N.register(
"Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya okunamadı ve büyük olasılıkla paylaşılan bir dosya. Lütfen dosya sahibi ile görüşerek sizinle yeniden paylaşmasını isteyin.",
"Default encryption module" : "Varsayılan şifreleme modülü",
"Default encryption module for server-side encryption" : "Sunucu tarafında şifreleme için varsayılan şifreleme modülü",
- "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Bu şifreleme modülünün kullanılması için sunucu tarafında yönetim bölümünden\n\t\tşifreleme seçeneği etkinleştirilmelidir. Bu modül etkinleştirildikten sonra \n\t\ttüm dosyalarınızı size farkettirmeden şifreler. Şifreleme AES 256 anahtarları\n\t\tile yapılır. Modül var olan dosyaları değiştirmez, yalnız sunucu tarafında \n\t\tşifreleme etkinleştirildikten sonra eklenen yeni dosyalar şifrelenir. \n\t\tŞifreleme etkinleştirildikten sonra devre dışı bırakılamaz ve şifreleme olmayan\n\t\tsisteme geri dönülemez. Lütfen sunucu tarafı şifrelemeyi etkinleştirmeden önce\n\t\tbelgeleri okuyun ve uygulamadan doğacak tüm sonuçlarını öğrenin.",
+ "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Bu şifreleme modülünün kullanılması için sunucu tarafında yönetim bölümünden\n\t\tşifreleme seçeneği etkinleştirilmelidir. Bu modül etkinleştirildikten sonra \n\t\ttüm dosyalarınızı size farkettirmeden şifreler. Şifreleme AES 256 anahtarları\n\t\tile yapılır. Modül var olan dosyaları değiştirmez, yalnızca sunucu tarafında \n\t\tşifreleme etkinleştirildikten sonra eklenen yeni dosyalar şifrelenir. \n\t\tŞifreleme etkinleştirildikten sonra devre dışı bırakılamaz ve şifreleme olmayan\n\t\tsisteme geri dönülemez. Lütfen sunucu tarafı şifrelemeyi etkinleştirmeden önce\n\t\tbelgeleri okuyun ve uygulamadan doğacak tüm sonuçlarını öğrenin.",
"Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "Selam,\n\nSistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız \"%s\" parolası kullanılarak şifrelendi.\n\nLütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan \"Temel şifreleme modülü\" bölümüne giderek \"Eski oturum açma parolası\" alanına bu parolayı ve geçerli oturum açma parolanızı yazarak şifreleme parolanızı güncelleyin.\n\n",
"The share will expire on %s." : "Bu paylaşım %s tarihinde sona erecek.",
"Cheers!" : "Hoşçakalın!",
"Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "Selam,<br><br>Sistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız <strong>%s</strong> parolası kullanılarak şifrelendi.<br><br>Lütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan \"Temel şifreleme modülü\" bölümüne giderek \"Eski oturum açma parolası\" alanına bu parolayı ve geçerli oturum açma parolanızı yazarak şifreleme parolanızı güncelleyin.<br><br>",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme uygulaması etkin ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
"Encrypt the home storage" : "Ana depolama şifrelensin",
- "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Bu seçenek etkinleştirildiğinde, ana depolama alanındaki tüm dosyalar şifrelenir. Devre dışı bırakıldığında yalnız dış depolama alanındaki dosyalar şifrelenir",
+ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Bu seçenek etkinleştirildiğinde, ana depolama alanındaki tüm dosyalar şifrelenir. Devre dışı bırakıldığında yalnızca dış depolama alanındaki dosyalar şifrelenir",
"Enable recovery key" : "Kurtarma anahtarını etkinleştir",
"Disable recovery key" : "Kurtarma anahtarını devre dışı bırak",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Kurtarma anahtarı, dosyaların şifrelenmesi için ek bir güvenlik sağlar. Böylece kullanıcı unutursa dosyalarının parolasını sıfırlayabilir.",
diff --git a/apps/encryption/l10n/tr.json b/apps/encryption/l10n/tr.json
index ffc07193deb..ac4cc3ffd37 100644
--- a/apps/encryption/l10n/tr.json
+++ b/apps/encryption/l10n/tr.json
@@ -30,14 +30,14 @@
"Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya okunamadı ve büyük olasılıkla paylaşılan bir dosya. Lütfen dosya sahibi ile görüşerek sizinle yeniden paylaşmasını isteyin.",
"Default encryption module" : "Varsayılan şifreleme modülü",
"Default encryption module for server-side encryption" : "Sunucu tarafında şifreleme için varsayılan şifreleme modülü",
- "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Bu şifreleme modülünün kullanılması için sunucu tarafında yönetim bölümünden\n\t\tşifreleme seçeneği etkinleştirilmelidir. Bu modül etkinleştirildikten sonra \n\t\ttüm dosyalarınızı size farkettirmeden şifreler. Şifreleme AES 256 anahtarları\n\t\tile yapılır. Modül var olan dosyaları değiştirmez, yalnız sunucu tarafında \n\t\tşifreleme etkinleştirildikten sonra eklenen yeni dosyalar şifrelenir. \n\t\tŞifreleme etkinleştirildikten sonra devre dışı bırakılamaz ve şifreleme olmayan\n\t\tsisteme geri dönülemez. Lütfen sunucu tarafı şifrelemeyi etkinleştirmeden önce\n\t\tbelgeleri okuyun ve uygulamadan doğacak tüm sonuçlarını öğrenin.",
+ "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Bu şifreleme modülünün kullanılması için sunucu tarafında yönetim bölümünden\n\t\tşifreleme seçeneği etkinleştirilmelidir. Bu modül etkinleştirildikten sonra \n\t\ttüm dosyalarınızı size farkettirmeden şifreler. Şifreleme AES 256 anahtarları\n\t\tile yapılır. Modül var olan dosyaları değiştirmez, yalnızca sunucu tarafında \n\t\tşifreleme etkinleştirildikten sonra eklenen yeni dosyalar şifrelenir. \n\t\tŞifreleme etkinleştirildikten sonra devre dışı bırakılamaz ve şifreleme olmayan\n\t\tsisteme geri dönülemez. Lütfen sunucu tarafı şifrelemeyi etkinleştirmeden önce\n\t\tbelgeleri okuyun ve uygulamadan doğacak tüm sonuçlarını öğrenin.",
"Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "Selam,\n\nSistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız \"%s\" parolası kullanılarak şifrelendi.\n\nLütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan \"Temel şifreleme modülü\" bölümüne giderek \"Eski oturum açma parolası\" alanına bu parolayı ve geçerli oturum açma parolanızı yazarak şifreleme parolanızı güncelleyin.\n\n",
"The share will expire on %s." : "Bu paylaşım %s tarihinde sona erecek.",
"Cheers!" : "Hoşçakalın!",
"Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "Selam,<br><br>Sistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız <strong>%s</strong> parolası kullanılarak şifrelendi.<br><br>Lütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan \"Temel şifreleme modülü\" bölümüne giderek \"Eski oturum açma parolası\" alanına bu parolayı ve geçerli oturum açma parolanızı yazarak şifreleme parolanızı güncelleyin.<br><br>",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme uygulaması etkin ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
"Encrypt the home storage" : "Ana depolama şifrelensin",
- "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Bu seçenek etkinleştirildiğinde, ana depolama alanındaki tüm dosyalar şifrelenir. Devre dışı bırakıldığında yalnız dış depolama alanındaki dosyalar şifrelenir",
+ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Bu seçenek etkinleştirildiğinde, ana depolama alanındaki tüm dosyalar şifrelenir. Devre dışı bırakıldığında yalnızca dış depolama alanındaki dosyalar şifrelenir",
"Enable recovery key" : "Kurtarma anahtarını etkinleştir",
"Disable recovery key" : "Kurtarma anahtarını devre dışı bırak",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Kurtarma anahtarı, dosyaların şifrelenmesi için ek bir güvenlik sağlar. Böylece kullanıcı unutursa dosyalarının parolasını sıfırlayabilir.",
diff --git a/apps/encryption/lib/Crypto/Crypt.php b/apps/encryption/lib/Crypto/Crypt.php
index 93120068c6a..f8ba3d69b80 100644
--- a/apps/encryption/lib/Crypto/Crypt.php
+++ b/apps/encryption/lib/Crypto/Crypt.php
@@ -77,6 +77,9 @@ class Crypt {
public const HEADER_START = 'HBEGIN';
public const HEADER_END = 'HEND';
+ // default encoding format, old Nextcloud versions used base64
+ public const BINARY_ENCODING_FORMAT = 'binary';
+
/** @var ILogger */
private $logger;
@@ -96,6 +99,11 @@ class Crypt {
private $supportLegacy;
/**
+ * Use the legacy base64 encoding instead of the more space-efficient binary encoding.
+ */
+ private bool $useLegacyBase64Encoding;
+
+ /**
* @param ILogger $logger
* @param IUserSession $userSession
* @param IConfig $config
@@ -107,6 +115,7 @@ class Crypt {
$this->config = $config;
$this->l = $l;
$this->supportLegacy = $this->config->getSystemValueBool('encryption.legacy_format_support', false);
+ $this->useLegacyBase64Encoding = $this->config->getSystemValueBool('encryption.use_legacy_base64_encoding', false);
}
/**
@@ -215,12 +224,15 @@ class Crypt {
throw new \InvalidArgumentException('key format "' . $keyFormat . '" is not supported');
}
- $cipher = $this->getCipher();
-
$header = self::HEADER_START
- . ':cipher:' . $cipher
- . ':keyFormat:' . $keyFormat
- . ':' . self::HEADER_END;
+ . ':cipher:' . $this->getCipher()
+ . ':keyFormat:' . $keyFormat;
+
+ if ($this->useLegacyBase64Encoding !== true) {
+ $header .= ':encoding:' . self::BINARY_ENCODING_FORMAT;
+ }
+
+ $header .= ':' . self::HEADER_END;
return $header;
}
@@ -234,10 +246,11 @@ class Crypt {
* @throws EncryptionFailedException
*/
private function encrypt($plainContent, $iv, $passPhrase = '', $cipher = self::DEFAULT_CIPHER) {
+ $options = $this->useLegacyBase64Encoding ? 0 : OPENSSL_RAW_DATA;
$encryptedContent = openssl_encrypt($plainContent,
$cipher,
$passPhrase,
- 0,
+ $options,
$iv);
if (!$encryptedContent) {
@@ -424,6 +437,8 @@ class Crypt {
$password = $this->generatePasswordHash($password, $cipher, $uid);
}
+ $binaryEncoding = isset($header['encoding']) && $header['encoding'] === self::BINARY_ENCODING_FORMAT;
+
// If we found a header we need to remove it from the key we want to decrypt
if (!empty($header)) {
$privateKey = substr($privateKey,
@@ -435,7 +450,9 @@ class Crypt {
$privateKey,
$password,
$cipher,
- 0
+ 0,
+ 0,
+ $binaryEncoding
);
if ($this->isValidPrivateKey($plainKey) === false) {
@@ -470,10 +487,11 @@ class Crypt {
* @param string $cipher
* @param int $version
* @param int|string $position
+ * @param boolean $binaryEncoding
* @return string
* @throws DecryptionFailedException
*/
- public function symmetricDecryptFileContent($keyFileContents, $passPhrase, $cipher = self::DEFAULT_CIPHER, $version = 0, $position = 0) {
+ public function symmetricDecryptFileContent($keyFileContents, $passPhrase, $cipher = self::DEFAULT_CIPHER, $version = 0, $position = 0, bool $binaryEncoding = false) {
if ($keyFileContents == '') {
return '';
}
@@ -493,7 +511,8 @@ class Crypt {
return $this->decrypt($catFile['encrypted'],
$catFile['iv'],
$passPhrase,
- $cipher);
+ $cipher,
+ $binaryEncoding);
}
/**
@@ -610,14 +629,16 @@ class Crypt {
* @param string $iv
* @param string $passPhrase
* @param string $cipher
+ * @param boolean $binaryEncoding
* @return string
* @throws DecryptionFailedException
*/
- private function decrypt($encryptedContent, $iv, $passPhrase = '', $cipher = self::DEFAULT_CIPHER) {
+ private function decrypt(string $encryptedContent, string $iv, string $passPhrase = '', string $cipher = self::DEFAULT_CIPHER, bool $binaryEncoding = false): string {
+ $options = $binaryEncoding === true ? OPENSSL_RAW_DATA : 0;
$plainContent = openssl_decrypt($encryptedContent,
$cipher,
$passPhrase,
- 0,
+ $options,
$iv);
if ($plainContent) {
@@ -728,4 +749,8 @@ class Crypt {
throw new MultiKeyEncryptException('multikeyencryption failed ' . openssl_error_string());
}
}
+
+ public function useLegacyBase64Encoding(): bool {
+ return $this->useLegacyBase64Encoding;
+ }
}
diff --git a/apps/encryption/lib/Crypto/Encryption.php b/apps/encryption/lib/Crypto/Encryption.php
index 58cefcbe087..b44472fd04a 100644
--- a/apps/encryption/lib/Crypto/Encryption.php
+++ b/apps/encryption/lib/Crypto/Encryption.php
@@ -103,11 +103,7 @@ class Encryption implements IEncryptionModule {
/** @var DecryptAll */
private $decryptAll;
- /** @var int unencrypted block size if block contains signature */
- private $unencryptedBlockSizeSigned = 6072;
-
- /** @var int unencrypted block size */
- private $unencryptedBlockSize = 6126;
+ private bool $useLegacyBase64Encoding = false;
/** @var int Current version of the file */
private $version = 0;
@@ -184,6 +180,11 @@ class Encryption implements IEncryptionModule {
$this->user = $user;
$this->isWriteOperation = false;
$this->writeCache = '';
+ $this->useLegacyBase64Encoding = true;
+
+ if (isset($header['encoding'])) {
+ $this->useLegacyBase64Encoding = $header['encoding'] !== Crypt::BINARY_ENCODING_FORMAT;
+ }
if ($this->session->isReady() === false) {
// if the master key is enabled we can initialize encryption
@@ -229,6 +230,7 @@ class Encryption implements IEncryptionModule {
if ($this->isWriteOperation) {
$this->cipher = $this->crypt->getCipher();
+ $this->useLegacyBase64Encoding = $this->crypt->useLegacyBase64Encoding();
} elseif (isset($header['cipher'])) {
$this->cipher = $header['cipher'];
} else {
@@ -237,7 +239,13 @@ class Encryption implements IEncryptionModule {
$this->cipher = $this->crypt->getLegacyCipher();
}
- return ['cipher' => $this->cipher, 'signed' => 'true'];
+ $result = ['cipher' => $this->cipher, 'signed' => 'true'];
+
+ if ($this->useLegacyBase64Encoding !== true) {
+ $result['encoding'] = Crypt::BINARY_ENCODING_FORMAT;
+ }
+
+ return $result;
}
/**
@@ -325,8 +333,8 @@ class Encryption implements IEncryptionModule {
$remainingLength = strlen($data);
// If data remaining to be written is less than the
- // size of 1 6126 byte block
- if ($remainingLength < $this->unencryptedBlockSizeSigned) {
+ // size of 1 unencrypted block
+ if ($remainingLength < $this->getUnencryptedBlockSize(true)) {
// Set writeCache to contents of $data
// The writeCache will be carried over to the
@@ -343,14 +351,14 @@ class Encryption implements IEncryptionModule {
} else {
// Read the chunk from the start of $data
- $chunk = substr($data, 0, $this->unencryptedBlockSizeSigned);
+ $chunk = substr($data, 0, $this->getUnencryptedBlockSize(true));
$encrypted .= $this->crypt->symmetricEncryptFileContent($chunk, $this->fileKey, $this->version + 1, $position);
// Remove the chunk we just processed from
// $data, leaving only unprocessed data in $data
// var, for handling on the next round
- $data = substr($data, $this->unencryptedBlockSizeSigned);
+ $data = substr($data, $this->getUnencryptedBlockSize(true));
}
}
@@ -374,7 +382,7 @@ class Encryption implements IEncryptionModule {
throw new DecryptionFailedException($msg, $hint);
}
- return $this->crypt->symmetricDecryptFileContent($data, $this->fileKey, $this->cipher, $this->version, $position);
+ return $this->crypt->symmetricDecryptFileContent($data, $this->fileKey, $this->cipher, $this->version, $position, !$this->useLegacyBase64Encoding);
}
/**
@@ -462,15 +470,27 @@ class Encryption implements IEncryptionModule {
* get size of the unencrypted payload per block.
* Nextcloud read/write files with a block size of 8192 byte
*
+ * Encrypted blocks have a 22-byte IV and 2 bytes of padding, encrypted and
+ * signed blocks have also a 71-byte signature and 1 more byte of padding,
+ * resulting respectively in:
+ *
+ * 8192 - 22 - 2 = 8168 bytes in each unsigned unencrypted block
+ * 8192 - 22 - 2 - 71 - 1 = 8096 bytes in each signed unencrypted block
+ *
+ * Legacy base64 encoding then reduces the available size by a 3/4 factor:
+ *
+ * 8168 * (3/4) = 6126 bytes in each base64-encoded unsigned unencrypted block
+ * 8096 * (3/4) = 6072 bytes in each base64-encoded signed unencrypted block
+ *
* @param bool $signed
* @return int
*/
public function getUnencryptedBlockSize($signed = false) {
- if ($signed === false) {
- return $this->unencryptedBlockSize;
+ if ($this->useLegacyBase64Encoding) {
+ return $signed ? 6072 : 6126;
+ } else {
+ return $signed ? 8096 : 8168;
}
-
- return $this->unencryptedBlockSizeSigned;
}
/**
diff --git a/apps/encryption/tests/Crypto/CryptTest.php b/apps/encryption/tests/Crypto/CryptTest.php
index 60548a0f1dc..ef4e46085a4 100644
--- a/apps/encryption/tests/Crypto/CryptTest.php
+++ b/apps/encryption/tests/Crypto/CryptTest.php
@@ -139,9 +139,9 @@ class CryptTest extends TestCase {
*/
public function dataTestGenerateHeader() {
return [
- [null, 'HBEGIN:cipher:AES-128-CFB:keyFormat:hash:HEND'],
- ['password', 'HBEGIN:cipher:AES-128-CFB:keyFormat:password:HEND'],
- ['hash', 'HBEGIN:cipher:AES-128-CFB:keyFormat:hash:HEND']
+ [null, 'HBEGIN:cipher:AES-128-CFB:keyFormat:hash:encoding:binary:HEND'],
+ ['password', 'HBEGIN:cipher:AES-128-CFB:keyFormat:password:encoding:binary:HEND'],
+ ['hash', 'HBEGIN:cipher:AES-128-CFB:keyFormat:hash:encoding:binary:HEND']
];
}
@@ -305,15 +305,17 @@ class CryptTest extends TestCase {
* test parseHeader()
*/
public function testParseHeader() {
- $header = 'HBEGIN:foo:bar:cipher:AES-256-CFB:HEND';
+ $header = 'HBEGIN:foo:bar:cipher:AES-256-CFB:encoding:binary:HEND';
$result = self::invokePrivate($this->crypt, 'parseHeader', [$header]);
$this->assertTrue(is_array($result));
- $this->assertSame(2, count($result));
+ $this->assertSame(3, count($result));
$this->assertArrayHasKey('foo', $result);
$this->assertArrayHasKey('cipher', $result);
+ $this->assertArrayHasKey('encoding', $result);
$this->assertSame('bar', $result['foo']);
$this->assertSame('AES-256-CFB', $result['cipher']);
+ $this->assertSame('binary', $result['encoding']);
}
/**
@@ -324,18 +326,20 @@ class CryptTest extends TestCase {
public function testEncrypt() {
$decrypted = 'content';
$password = 'password';
+ $cipher = 'AES-256-CTR';
$iv = self::invokePrivate($this->crypt, 'generateIv');
$this->assertTrue(is_string($iv));
$this->assertSame(16, strlen($iv));
- $result = self::invokePrivate($this->crypt, 'encrypt', [$decrypted, $iv, $password]);
+ $result = self::invokePrivate($this->crypt, 'encrypt', [$decrypted, $iv, $password, $cipher]);
$this->assertTrue(is_string($result));
return [
'password' => $password,
'iv' => $iv,
+ 'cipher' => $cipher,
'encrypted' => $result,
'decrypted' => $decrypted];
}
@@ -349,7 +353,7 @@ class CryptTest extends TestCase {
$result = self::invokePrivate(
$this->crypt,
'decrypt',
- [$data['encrypted'], $data['iv'], $data['password']]);
+ [$data['encrypted'], $data['iv'], $data['password'], $data['cipher'], true]);
$this->assertSame($data['decrypted'], $result);
}
@@ -391,8 +395,9 @@ class CryptTest extends TestCase {
*/
public function testDecryptPrivateKey($header, $privateKey, $expectedCipher, $isValidKey, $expected) {
$this->config->method('getSystemValueBool')
- ->with('encryption.legacy_format_support', false)
- ->willReturn(true);
+ ->withConsecutive(['encryption.legacy_format_support', false],
+ ['encryption.use_legacy_base64_encoding', false])
+ ->willReturnOnConsecutiveCalls(true, false);
/** @var \OCA\Encryption\Crypto\Crypt | \PHPUnit\Framework\MockObject\MockObject $crypt */
$crypt = $this->getMockBuilder(Crypt::class)
diff --git a/apps/federatedfilesharing/css/settings-admin.css b/apps/federatedfilesharing/css/settings-admin.css
new file mode 100644
index 00000000000..d043ebae43b
--- /dev/null
+++ b/apps/federatedfilesharing/css/settings-admin.css
@@ -0,0 +1,5 @@
+#fileSharingSettings h2 {
+ display: inline-block;
+}
+
+/*# sourceMappingURL=settings-admin.css.map */
diff --git a/apps/federatedfilesharing/css/settings-admin.css.map b/apps/federatedfilesharing/css/settings-admin.css.map
new file mode 100644
index 00000000000..9b1d105e143
--- /dev/null
+++ b/apps/federatedfilesharing/css/settings-admin.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["settings-admin.scss"],"names":[],"mappings":"AAAA;EACC","file":"settings-admin.css"} \ No newline at end of file
diff --git a/apps/federatedfilesharing/css/settings-personal.css b/apps/federatedfilesharing/css/settings-personal.css
new file mode 100644
index 00000000000..16e482beecc
--- /dev/null
+++ b/apps/federatedfilesharing/css/settings-personal.css
@@ -0,0 +1,107 @@
+@charset "UTF-8";
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @see core/src/icons.js
+ */
+/**
+ * SVG COLOR API
+ *
+ * @param string $icon the icon filename
+ * @param string $dir the icon folder within /core/img if $core or app name
+ * @param string $color the desired color in hexadecimal
+ * @param int $version the version of the file
+ * @param bool [$core] search icon in core
+ *
+ * @returns A background image with the url to the set to the requested icon.
+ */
+#fileSharingSettings h2 {
+ display: inline-block;
+}
+
+#fileSharingSettings img {
+ cursor: pointer;
+}
+
+#fileSharingSettings xmp {
+ margin-top: 0;
+ white-space: pre-wrap;
+}
+
+#fileSharingSettings .icon {
+ background-size: 16px 16px;
+ display: inline-block;
+ position: relative;
+ top: 3px;
+ margin-left: 5px;
+}
+
+[class^=social-], [class*=" social-"] {
+ background-repeat: no-repeat;
+ background-position: 8px;
+ min-width: 16px;
+ min-height: 16px;
+ padding-left: 28px;
+ background-size: 16px;
+}
+
+.social-diaspora {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-social-diaspora-dark);
+}
+
+.social-twitter {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-social-twitter-dark);
+}
+
+.social-facebook {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-social-facebook-dark);
+}
+
+.social_sharing_buttons {
+ padding-left: 30px !important;
+}
+
+/*# sourceMappingURL=settings-personal.css.map */
diff --git a/apps/federatedfilesharing/css/settings-personal.css.map b/apps/federatedfilesharing/css/settings-personal.css.map
new file mode 100644
index 00000000000..490e82ccb28
--- /dev/null
+++ b/apps/federatedfilesharing/css/settings-personal.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","../../../core/css/functions.scss","settings-personal.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC/CA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AD8BC;EAEA;;;AC7BD;AD2BC;EAEA;;;AC1BD;ADwBC;EAEA;;;ACtBD;EACC","file":"settings-personal.css"} \ No newline at end of file
diff --git a/apps/federatedfilesharing/css/settings-personal.scss b/apps/federatedfilesharing/css/settings-personal.scss
index d94e06f943d..501b81df436 100644
--- a/apps/federatedfilesharing/css/settings-personal.scss
+++ b/apps/federatedfilesharing/css/settings-personal.scss
@@ -1,3 +1,6 @@
+@use 'variables';
+@import 'functions';
+
#fileSharingSettings h2 {
display: inline-block;
}
@@ -29,13 +32,13 @@
}
.social-diaspora {
- @include icon-color('social-diaspora', 'federatedfilesharing', $color-black);
+ @include icon-color('social-diaspora', 'federatedfilesharing', variables.$color-black);
}
.social-twitter {
- @include icon-color('social-twitter', 'federatedfilesharing', $color-black);
+ @include icon-color('social-twitter', 'federatedfilesharing', variables.$color-black);
}
.social-facebook {
- @include icon-color('social-facebook', 'federatedfilesharing', $color-black);
+ @include icon-color('social-facebook', 'federatedfilesharing', variables.$color-black);
}
.social_sharing_buttons {
diff --git a/apps/files/css/detailsView.css b/apps/files/css/detailsView.css
new file mode 100644
index 00000000000..46c2eeabe36
--- /dev/null
+++ b/apps/files/css/detailsView.css
@@ -0,0 +1,133 @@
+.app-sidebar .detailFileInfoContainer {
+ min-height: 50px;
+ padding: 15px;
+}
+
+.app-sidebar .detailFileInfoContainer > div {
+ clear: both;
+}
+
+.app-sidebar .mainFileInfoView .icon {
+ display: inline-block;
+ background-size: 16px 16px;
+}
+
+.app-sidebar .mainFileInfoView .permalink {
+ padding: 6px 10px;
+ vertical-align: top;
+ opacity: 0.6;
+}
+.app-sidebar .mainFileInfoView .permalink:hover, .app-sidebar .mainFileInfoView .permalink:focus {
+ opacity: 1;
+}
+
+.app-sidebar .mainFileInfoView .permalink-field > input {
+ clear: both;
+ width: 90%;
+}
+
+.app-sidebar .thumbnailContainer.large {
+ margin-left: -15px;
+ margin-right: -35px;
+ /* 15 + 20 for the close button */
+ margin-top: -15px;
+}
+
+.app-sidebar .thumbnailContainer.large.portrait {
+ margin: 0;
+ /* if we don't fit the image anyway we give it back the margin */
+}
+
+.app-sidebar .large .thumbnail {
+ width: 100%;
+ display: block;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 100%;
+ float: none;
+ margin: 0;
+ height: auto;
+}
+
+.app-sidebar .large .thumbnail .stretcher {
+ content: "";
+ display: block;
+ padding-bottom: 56.25%;
+ /* sets height of .thumbnail to 9/16 of the width */
+}
+
+.app-sidebar .large.portrait .thumbnail {
+ background-position: 50% top;
+}
+
+.app-sidebar .large.portrait .thumbnail {
+ background-size: contain;
+}
+
+.app-sidebar .large.text {
+ overflow-y: scroll;
+ overflow-x: hidden;
+ padding-top: 14px;
+ font-size: 80%;
+ margin-left: 0;
+}
+
+.app-sidebar .thumbnail {
+ width: 100%;
+ min-height: 75px;
+ display: inline-block;
+ float: left;
+ margin-right: 10px;
+ background-size: contain;
+ background-repeat: no-repeat;
+}
+
+.app-sidebar .ellipsis {
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+
+.app-sidebar .fileName {
+ font-size: 16px;
+ padding-top: 13px;
+ padding-bottom: 3px;
+}
+
+.app-sidebar .fileName h3 {
+ width: calc(100% - 42px);
+ /* 36px is the with of the copy link icon, but this breaks so we add some more to be sure */
+ display: inline-block;
+ padding: 5px 0;
+ margin: -5px 0;
+}
+
+.app-sidebar .file-details {
+ color: var(--color-text-maxcontrast);
+}
+
+.app-sidebar .action-favorite {
+ vertical-align: sub;
+ padding: 10px;
+ margin: -10px;
+}
+
+.app-sidebar .action-favorite > span {
+ opacity: 0.7 !important;
+}
+
+.app-sidebar .detailList {
+ float: left;
+}
+
+.app-sidebar .close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ opacity: 0.5;
+ z-index: 1;
+ width: 44px;
+ height: 44px;
+}
+
+/*# sourceMappingURL=detailsView.css.map */
diff --git a/apps/files/css/detailsView.css.map b/apps/files/css/detailsView.css.map
new file mode 100644
index 00000000000..30726744caf
--- /dev/null
+++ b/apps/files/css/detailsView.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["detailsView.scss"],"names":[],"mappings":"AAAA;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EAEC;;;AAGF;EACC;EACA;;;AAGD;EACC;EACA;AAAqB;EACrB;;;AAGD;EACC;AAAW;;;AAGZ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;AAAwB;;;AAGzB;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;AAA0B;EAC1B;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA","file":"detailsView.css"} \ No newline at end of file
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
new file mode 100644
index 00000000000..eb465b71cdb
--- /dev/null
+++ b/apps/files/css/files.css
@@ -0,0 +1,1297 @@
+@charset "UTF-8";
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
+ * @copyright Copyright (c) 2019, Fabian Dreßler <nudelsalat@clouz.de>
+ *
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @see core/src/icons.js
+ */
+/**
+ * SVG COLOR API
+ *
+ * @param string $icon the icon filename
+ * @param string $dir the icon folder within /core/img if $core or app name
+ * @param string $color the desired color in hexadecimal
+ * @param int $version the version of the file
+ * @param bool [$core] search icon in core
+ *
+ * @returns A background image with the url to the set to the requested icon.
+ */
+/* FILE MENU */
+.actions {
+ padding: 5px;
+ height: 100%;
+ display: inline-block;
+ float: left;
+}
+
+.actions input, .actions button, .actions .button {
+ margin: 0;
+ float: left;
+}
+
+.actions .button a {
+ color: #555;
+}
+
+.actions .button a:hover,
+.actions .button a:focus {
+ background-color: var(--color-background-hover);
+}
+
+.actions .button a:active {
+ background-color: var(--color-primary-light);
+}
+
+.actions.creatable {
+ position: relative;
+ display: flex;
+ flex: 1 1;
+}
+.actions.creatable .button:not(:last-child) {
+ margin-right: 3px;
+}
+
+.actions.hidden {
+ display: none;
+}
+
+#trash {
+ margin-right: 8px;
+ float: right;
+ z-index: 1010;
+ padding: 10px;
+ font-weight: normal;
+}
+
+.newFileMenu .error,
+.newFileMenu .error + .icon-confirm,
+#fileList .error {
+ color: var(--color-error);
+ border-color: var(--color-error);
+}
+
+/* FILE TABLE */
+#filestable {
+ position: relative;
+ width: 100%;
+ min-width: 250px;
+ display: block;
+ flex-direction: column;
+ /**
+ * This is a dirty hack as the sticky header requires us to use a different display type on the table element
+ */
+}
+#emptycontent:not(.hidden) ~ #filestable {
+ display: none;
+}
+#filestable thead {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 50px;
+ z-index: 60;
+ display: block;
+ background-color: var(--color-main-background-translucent);
+}
+#filestable tbody {
+ display: table;
+ width: 100%;
+}
+#filestable tbody tr[data-permissions="0"],
+#filestable tbody tr[data-permissions="16"] {
+ background-color: var(--color-background-dark);
+}
+#filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,
+#filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext {
+ color: var(--color-text-maxcontrast);
+}
+
+#filestable.hidden {
+ display: none;
+}
+
+/* fit app list view heights */
+.app-files #app-content > .viewcontainer {
+ min-height: 0%;
+ width: 100%;
+}
+
+.app-files #app-content {
+ width: calc(100% - 300px);
+}
+
+.file-drag, .file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover {
+ background-color: var(--color-primary-light) !important;
+}
+
+.app-files #app-content.dir-drop {
+ background-color: var(--color-main-background) !important;
+}
+
+.file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover {
+ background-color: transparent !important;
+}
+
+.app-files #app-content.dir-drop #filestable tbody tr.dropping-to-dir {
+ background-color: var(--color-primary-light) !important;
+}
+
+/* icons for sidebar */
+.nav-icon-files {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-folder-dark);
+}
+
+.nav-icon-recent {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-recent-dark);
+}
+
+.nav-icon-favorites {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-starred-dark);
+}
+
+.nav-icon-sharingin,
+.nav-icon-sharingout,
+.nav-icon-pendingshares,
+.nav-icon-shareoverview {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-share-dark);
+}
+
+.nav-icon-sharinglinks {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-public-dark);
+}
+
+.nav-icon-extstoragemounts {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-external-dark);
+}
+
+.nav-icon-trashbin {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-delete-dark);
+}
+
+.nav-icon-trashbin-starred {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-delete-#ff0000);
+}
+
+.nav-icon-deletedshares {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-unshare-dark);
+}
+
+.nav-icon-favorites-starred {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-starred-yellow);
+}
+
+#app-navigation .nav-files a.nav-icon-files {
+ width: auto;
+}
+
+/* button needs overrides due to navigation styles */
+#app-navigation .nav-files a.new {
+ width: 40px;
+ height: 32px;
+ padding: 0 10px;
+ margin: 0;
+ cursor: pointer;
+}
+
+#app-navigation .nav-files a.new.hidden {
+ display: none;
+}
+
+#app-navigation .nav-files a.new.disabled {
+ opacity: 0.3;
+}
+
+#filestable tbody tr {
+ height: 51px;
+}
+
+#filestable tbody tr:hover,
+#filestable tbody tr:focus,
+#filestable tbody .name:focus,
+#filestable tbody tr:hover .filename form,
+table tr.mouseOver td {
+ background-color: var(--color-background-hover);
+}
+
+#filestable tbody tr:active,
+#filestable tbody tr.highlighted,
+#filestable tbody tr.highlighted .name:focus,
+#filestable tbody tr.selected,
+#filestable tbody tr.searchresult {
+ background-color: var(--color-primary-light);
+}
+
+tbody a {
+ color: var(--color-main-text);
+}
+
+span.conflict-path, span.extension, span.uploading, td.date {
+ color: var(--color-text-maxcontrast);
+}
+
+span.conflict-path, span.extension {
+ -webkit-transition: opacity 300ms;
+ -moz-transition: opacity 300ms;
+ -o-transition: opacity 300ms;
+ transition: opacity 300ms;
+ vertical-align: top;
+}
+
+tr:hover span.conflict-path,
+tr:focus span.conflict-path,
+tr:hover span.extension,
+tr:focus span.extension {
+ opacity: 1;
+ color: var(--color-text-maxcontrast);
+}
+
+table th, table th a {
+ color: var(--color-text-maxcontrast);
+}
+
+table.multiselect th a {
+ color: var(--color-main-text);
+}
+
+table th .columntitle {
+ display: block;
+ padding: 15px;
+ height: 50px;
+ box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ vertical-align: middle;
+}
+
+table.multiselect th .columntitle {
+ display: inline-block;
+ margin-right: -20px;
+}
+
+table th .columntitle.name {
+ padding-left: 0;
+ margin-left: 44px;
+}
+
+table.multiselect th .columntitle.name {
+ margin-left: 0;
+}
+
+table th .sort-indicator {
+ width: 10px;
+ height: 8px;
+ margin-left: 5px;
+ display: inline-block;
+ vertical-align: text-bottom;
+ opacity: 0.3;
+}
+
+.sort-indicator.hidden,
+.multiselect .sort-indicator,
+table.multiselect th:hover .sort-indicator.hidden,
+table.multiselect th:focus .sort-indicator.hidden {
+ visibility: hidden;
+}
+
+.multiselect .sort, .multiselect .sort span {
+ cursor: default;
+}
+
+table th:hover .sort-indicator.hidden,
+table th:focus .sort-indicator.hidden {
+ visibility: visible;
+}
+
+table th,
+table td {
+ border-bottom: 1px solid var(--color-border);
+ text-align: left;
+ font-weight: normal;
+}
+
+table td {
+ padding: 0 15px;
+ font-style: normal;
+ background-position: 8px center;
+ background-repeat: no-repeat;
+}
+
+table th#headerName {
+ position: relative;
+ width: 9999px;
+ /* not really sure why this works better than 100% … table styling */
+ padding: 0;
+}
+
+#headerName-container {
+ position: relative;
+ height: 50px;
+}
+
+table th#headerSelection {
+ padding-top: 2px;
+}
+
+table th#headerSize, table td.filesize {
+ text-align: right;
+}
+
+table th#headerDate, table td.date,
+table th.column-last, table td.column-last {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ position: relative;
+ /* this can not be just width, both need to be set … table styling */
+ min-width: 130px;
+ max-width: 130px;
+}
+
+#app-content-files thead,
+#app-content-trashbin thead {
+ top: 94px;
+}
+
+#app-content-recent,
+#app-content-favorites,
+#app-content-shareoverview,
+#app-content-sharingout,
+#app-content-sharingin,
+#app-content-sharinglinks,
+#app-content-deletedshares,
+#app-content-pendingshares {
+ margin-top: 22px;
+}
+
+table.multiselect thead th {
+ background-color: var(--color-main-background-translucent);
+ font-weight: bold;
+}
+
+#app-content.with-app-sidebar table.multiselect thead {
+ margin-right: 27%;
+}
+
+table.multiselect #headerName {
+ position: relative;
+ width: 9999px;
+ /* when we use 100%, the styling breaks on mobile … table styling */
+}
+
+table.multiselect #modified {
+ display: none;
+}
+
+table td.selection,
+table th.selection,
+table td.fileaction {
+ width: 32px;
+ text-align: center;
+}
+
+table td.filename a.name,
+table td.filename p.name {
+ display: flex;
+ position: relative;
+ /* Firefox needs to explicitly have this default set … */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ height: 50px;
+ line-height: 50px;
+ padding: 0;
+}
+
+table td.filename .thumbnail-wrapper {
+ /* we need this to make sure flex is working inside a table cell */
+ width: 0;
+ min-width: 50px;
+ max-width: 50px;
+ height: 50px;
+}
+
+table td.filename .thumbnail-wrapper.icon-loading-small:after {
+ z-index: 10;
+}
+table td.filename .thumbnail-wrapper.icon-loading-small .thumbnail {
+ opacity: 0.2;
+}
+
+table td.filename .thumbnail {
+ display: inline-block;
+ width: 32px;
+ height: 32px;
+ background-size: 32px;
+ margin-left: 9px;
+ margin-top: 9px;
+ border-radius: var(--border-radius);
+ cursor: pointer;
+ position: absolute;
+ z-index: 4;
+}
+
+table td.filename p.name .thumbnail {
+ cursor: default;
+}
+
+table tr[data-has-preview=true] .thumbnail {
+ border: 1px solid var(--color-border);
+}
+
+table td.filename input.filename {
+ width: 70%;
+ margin-left: 48px;
+ cursor: text;
+}
+
+table td.filename form {
+ margin-top: -40px;
+ position: relative;
+ top: -6px;
+}
+
+table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete {
+ padding: 3px 8px 8px 3px;
+}
+
+table td.filename .nametext, .modified, .column-last > span:first-child {
+ float: left;
+ padding: 15px 0;
+}
+
+.modified, .column-last > span:first-child {
+ position: relative;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: 110px;
+}
+
+/* TODO fix usability bug (accidental file/folder selection) */
+table td.filename {
+ max-width: 0;
+}
+table td.filename .nametext {
+ width: 0;
+ flex-grow: 1;
+ display: flex;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ height: 100%;
+ z-index: 10;
+ padding: 0 20px 0 0;
+}
+
+.hide-hidden-files #filestable #fileList tr.hidden-file,
+.hide-hidden-files #filestable #fileList tr.hidden-file.dragging {
+ display: none;
+}
+
+#fileList tr.animate-opacity {
+ -webkit-transition: opacity 250ms;
+ -moz-transition: opacity 250ms;
+ -o-transition: opacity 250ms;
+ transition: opacity 250ms;
+}
+
+#fileList tr.dragging {
+ opacity: 0.2;
+}
+
+table td.filename .nametext .innernametext {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ position: relative;
+ vertical-align: top;
+}
+
+/* for smaller resolutions - see mobile.css */
+table td.filename .uploadtext {
+ position: absolute;
+ font-weight: normal;
+ margin-left: 50px;
+ left: 0;
+ bottom: 0;
+ height: 20px;
+ padding: 0 4px;
+ padding-left: 1px;
+ font-size: 11px;
+ line-height: 22px;
+ color: var(--color-text-maxcontrast);
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+table td.selection {
+ padding: 0;
+}
+
+/* File checkboxes */
+#fileList tr td.selection > .selectCheckBox + label:before {
+ opacity: 0.3;
+ margin-right: 0;
+}
+
+/* Show checkbox with full opacity when hovering, checked, or selected */
+#fileList tr:hover td.selection > .selectCheckBox + label:before,
+#fileList tr:focus td.selection > .selectCheckBox + label:before,
+#fileList tr td.selection > .selectCheckBox:checked + label:before,
+#fileList tr.selected td.selection > .selectCheckBox + label:before {
+ opacity: 1;
+}
+
+/* Show checkbox with half opacity when selecting range */
+#fileList tr.halfselected td.selection > .selectCheckBox + label:before {
+ opacity: 0.5;
+}
+
+/* Use label to have bigger clickable size for checkbox */
+#fileList tr td.selection > .selectCheckBox + label,
+.select-all + label {
+ padding: 16px;
+}
+#fileList tr td.selection > .selectCheckBox:focus + label,
+.select-all:focus + label {
+ background-color: var(--color-background-hover);
+ border-radius: var(--border-radius-pill);
+}
+
+#fileList tr td.selection > .selectCheckBox:focus-visible + label,
+.select-all:focus-visible + label {
+ outline-offset: 0px;
+}
+
+#fileList tr td.filename {
+ position: relative;
+ width: 100%;
+ padding-left: 0;
+ padding-right: 0;
+ -webkit-transition: background-image 500ms;
+ -moz-transition: background-image 500ms;
+ -o-transition: background-image 500ms;
+ transition: background-image 500ms;
+}
+
+#fileList tr td.filename a.name label,
+#fileList tr td.filename p.name label {
+ position: absolute;
+ width: 80%;
+ height: 50px;
+}
+
+#fileList tr td.filename .favorite {
+ display: inline-block;
+ float: left;
+}
+
+#fileList tr td.filename .favorite-mark {
+ position: absolute;
+ display: block;
+ top: -6px;
+ right: -6px;
+ line-height: 100%;
+ text-align: center;
+}
+
+#uploadsize-message, #delete-confirm {
+ display: none;
+}
+
+/* File actions */
+.fileactions {
+ z-index: 50;
+}
+
+.busy .fileactions, .busy .action {
+ visibility: hidden;
+}
+
+/* fix position of bubble pointer for Files app */
+.bubble,
+#app-navigation .app-navigation-entry-menu {
+ border-top-right-radius: 3px;
+ min-width: 100px;
+}
+
+/* force show the loading icon, not only on hover */
+#fileList .icon-loading-small {
+ opacity: 1 !important;
+ display: inline !important;
+}
+
+#fileList .action.action-share-notification span, #fileList a.name {
+ cursor: default !important;
+}
+
+/*
+ * Make the disabled link look not like a link in file list rows
+ */
+#fileList a.name.disabled * {
+ cursor: default;
+}
+#fileList a.name.disabled a, #fileList a.name.disabled a * {
+ cursor: pointer;
+}
+#fileList a.name.disabled:focus {
+ background: none;
+}
+
+a.action > img {
+ height: 16px;
+ width: 16px;
+ vertical-align: text-bottom;
+}
+
+/* Actions for selected files */
+.selectedActions {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.selectedActions.hidden {
+ display: none;
+}
+
+.selectedActions a {
+ display: inline;
+ line-height: 50px;
+ padding: 16px 5px;
+}
+
+.selectedActions a.hidden {
+ display: none;
+}
+
+.selectedActions a img {
+ position: relative;
+ vertical-align: text-bottom;
+ margin-bottom: -1px;
+}
+
+.selectedActions .actions-selected .icon-more {
+ margin-top: -3px;
+}
+
+#fileList td a a.action {
+ display: inline;
+ padding: 17px 8px;
+ line-height: 50px;
+ opacity: 0.3;
+}
+#fileList td a a.action.action-share {
+ padding: 17px 14px;
+}
+#fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared + span {
+ /* hide text of the share action */
+ /* .hidden-visually for accessbility */
+ position: absolute;
+ left: -10000px;
+ top: auto;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+}
+#fileList td a a.action.action-share .avatar {
+ display: inline-block;
+ vertical-align: middle;
+}
+#fileList td a a.action.action-menu {
+ padding-top: 17px;
+ padding-bottom: 17px;
+ padding-left: 14px;
+ padding-right: 14px;
+}
+#fileList td a a.action.no-permission:hover, #fileList td a a.action.no-permission:focus {
+ opacity: 0.3;
+}
+#fileList td a a.action.disabled:hover, #fileList td a a.action.disabled:focus,
+#fileList td a a.action.disabled img {
+ opacity: 0.3;
+}
+#fileList td a a.action.disabled.action-download {
+ opacity: 0.7;
+}
+#fileList td a a.action.disabled.action-download:hover, #fileList td a a.action.disabled.action-download:focus {
+ opacity: 0.7;
+}
+#fileList td a a.action:hover, #fileList td a a.action:focus {
+ opacity: 1;
+}
+#fileList td a a.action:focus {
+ background-color: var(--color-background-hover);
+ border-radius: var(--border-radius-pill);
+}
+#fileList td a .fileActionsMenu a.action, #fileList td a a.action.action-share.shared-style {
+ opacity: 0.7;
+}
+#fileList td a .fileActionsMenu .action.permanent {
+ opacity: 1;
+}
+
+#fileList .action.action-share.permanent.shared-style span:not(.icon) {
+ display: inline-block;
+ max-width: 70px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ vertical-align: middle;
+ margin-left: 6px;
+}
+
+#fileList .remoteAddress .userDomain {
+ margin-left: 0 !important;
+}
+
+#fileList .favorite-mark.permanent {
+ opacity: 1;
+}
+
+#fileList .fileActionsMenu a.action:hover,
+#fileList .fileActionsMenu a.action:focus,
+#fileList a.action.action-share.shared-style:hover,
+#fileList a.action.action-share.shared-style:focus {
+ opacity: 1;
+}
+
+#fileList tr a.action.disabled {
+ background: none;
+}
+
+#selectedActionsList a.download.disabled,
+#fileList tr a.action.action-download.disabled {
+ color: #000000;
+}
+
+#fileList tr:hover a.action.disabled:hover * {
+ cursor: default;
+}
+
+.summary {
+ color: var(--color-text-maxcontrast);
+ /* add whitespace to bottom of files list to correctly show dropdowns */
+ height: 330px;
+}
+
+#filestable .filesummary {
+ width: 100%;
+ /* Width of checkbox and file preview */
+ padding-left: 101px;
+}
+
+/* Less whitespace needed on link share page
+ * as there is a footer and action menus have fewer entries.
+ */
+#body-public .summary {
+ height: 180px;
+}
+
+.summary:hover,
+.summary:focus,
+.summary,
+table tr.summary td {
+ background-color: transparent;
+}
+
+.summary td {
+ border-bottom: none;
+ vertical-align: top;
+ padding-top: 20px;
+}
+
+.summary td:first-child {
+ padding: 0;
+}
+
+.hiddeninfo {
+ white-space: pre-line;
+}
+
+table.dragshadow {
+ width: auto;
+ z-index: 2000;
+}
+
+table.dragshadow td.filename {
+ padding-left: 60px;
+ padding-right: 16px;
+ height: 36px;
+ /* Override "max-width: 0" to prevent file name and size from overlapping */
+ max-width: unset;
+}
+
+table.dragshadow td.size {
+ padding-right: 8px;
+}
+
+.mask {
+ z-index: 50;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: var(--color-main-background);
+ background-repeat: no-repeat no-repeat;
+ background-position: 50%;
+ opacity: 0.7;
+ transition: opacity 100ms;
+ -moz-transition: opacity 100ms;
+ -o-transition: opacity 100ms;
+ -ms-transition: opacity 100ms;
+ -webkit-transition: opacity 100ms;
+}
+
+.mask.transparent {
+ opacity: 0;
+}
+
+.newFileMenu {
+ font-weight: 300;
+ top: 100%;
+ left: -48px !important;
+ margin-top: 4px;
+ min-width: 100px;
+ z-index: 1001;
+ /* Center triangle */
+}
+.newFileMenu::after {
+ left: 57px !important;
+}
+
+#filestable .filename .action .icon,
+#filestable .selectedActions a .icon,
+#filestable .filename .favorite-mark .icon,
+#controls .actions .button .icon {
+ display: inline-block;
+ vertical-align: middle;
+ background-size: 16px 16px;
+}
+
+#filestable .filename .favorite-mark .icon-star {
+ background-image: none;
+}
+#filestable .filename .favorite-mark .icon-starred {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-star-dark-yellow);
+}
+
+#filestable .filename .action .icon.hidden,
+#filestable .selectedActions a .icon.hidden,
+#controls .actions .button .icon.hidden {
+ display: none;
+}
+
+#filestable .filename .action .icon.loading,
+#filestable .selectedActions a .icon.loading,
+#controls .actions .button .icon.loading {
+ width: 15px;
+ height: 15px;
+}
+
+.app-files .actions .button.new {
+ position: relative;
+}
+
+.breadcrumb .canDrop > a,
+#filestable tbody tr.canDrop {
+ background-color: rgba(0, 130, 201, 0.3);
+}
+
+.dropzone-background {
+ background-color: rgba(0, 130, 201, 0.3);
+}
+.dropzone-background :hover {
+ box-shadow: none !important;
+}
+
+.notCreatable {
+ margin-left: 12px;
+ margin-right: 44px;
+ margin-top: 12px;
+ color: var(--color-main-text);
+ overflow: auto;
+ min-width: 160px;
+ height: 54px;
+}
+.notCreatable:not(.hidden) {
+ display: flex;
+}
+.notCreatable .icon-alert-outline {
+ top: -15px;
+ position: relative;
+ margin-right: 4px;
+}
+
+#quota {
+ margin: 0 !important;
+ border: none;
+ border-radius: 0;
+ background-color: transparent;
+ z-index: 1;
+}
+#quota > a[href="#"] {
+ box-shadow: none !important;
+}
+#quota > a[href="#"], #quota > a[href="#"] * {
+ cursor: default !important;
+}
+#quota .quota-container {
+ height: 5px;
+ border-radius: var(--border-radius);
+}
+#quota .quota-container div {
+ height: 100%;
+ background-color: var(--color-primary);
+}
+
+#quotatext {
+ padding: 0;
+ height: 30px;
+ line-height: 30px;
+}
+
+/* GRID */
+#filestable.view-grid:not(.hidden) {
+ /* HEADER and MULTISELECT */
+ /* MAIN FILE LIST */
+ /* Center align the footer file number & size summary */
+}
+#filestable.view-grid:not(.hidden) thead tr {
+ display: block;
+ border-bottom: 1px solid var(--color-border);
+ background-color: var(--color-main-background-translucent);
+}
+#filestable.view-grid:not(.hidden) thead tr th {
+ width: auto;
+ border: none;
+}
+#filestable.view-grid:not(.hidden) tbody {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, 160px);
+ justify-content: space-around;
+ row-gap: 15px;
+ margin: 15px 0;
+}
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) {
+ display: block;
+ position: relative;
+ height: 190px;
+ border-radius: var(--border-radius);
+}
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted {
+ background-color: transparent;
+}
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions {
+ background-color: var(--color-background-hover);
+}
+#filestable.view-grid:not(.hidden) tbody td {
+ display: inline;
+ border-bottom: none;
+ /* No space for filesize and date in grid view */
+ /* Position actions menu below file */
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper {
+ min-width: 0;
+ max-width: none;
+ position: absolute;
+ width: 160px;
+ height: 160px;
+ padding: 14px;
+ top: 0;
+ left: 0;
+ z-index: -1;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail {
+ width: calc(100% - 2 * 14px);
+ height: calc(100% - 2 * 14px);
+ background-size: contain;
+ margin: 0;
+ border-radius: var(--border-radius);
+ background-repeat: no-repeat;
+ background-position: center;
+ /* Position favorite star related to checkbox to left and 3-dot menu below
+ * Position is inherited from the selection while in grid view
+ */
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark {
+ padding: 14px;
+ left: auto;
+ top: -22px;
+ right: -22px;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .uploadtext {
+ width: 100%;
+ margin: 0;
+ top: 0;
+ bottom: auto;
+ height: 28px;
+ padding-top: 4px;
+ padding-left: 28px;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name {
+ height: 100%;
+ border-radius: var(--border-radius);
+ overflow: hidden;
+ cursor: pointer !important;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext {
+ display: flex;
+ height: 44px;
+ margin-top: 146px;
+ text-align: center;
+ line-height: 44px;
+ padding: 0;
+ /* No space for extension in grid view */
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
+ display: inline-block;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before {
+ content: "";
+ flex: 1;
+ min-width: 14px;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after {
+ content: "";
+ flex: 1;
+ min-width: 44px;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension {
+ display: none;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions {
+ height: initial;
+ margin-top: 146px;
+ display: flex;
+ align-items: center;
+ position: absolute;
+ right: 0;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action {
+ padding: 14px;
+ width: 44px;
+ height: 44px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu) {
+ display: none;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden {
+ display: block !important;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img {
+ padding: 6px;
+ border-radius: 50%;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden {
+ display: block !important;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden {
+ display: block !important;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename form {
+ padding: 3px 14px;
+ border-radius: var(--border-radius);
+}
+#filestable.view-grid:not(.hidden) tbody td.filename form input.filename {
+ width: 100%;
+ margin-left: 0;
+}
+#filestable.view-grid:not(.hidden) tbody td.filesize, #filestable.view-grid:not(.hidden) tbody td.date {
+ display: none;
+}
+#filestable.view-grid:not(.hidden) tbody td.selection, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark {
+ position: absolute;
+ top: -8px;
+ left: -8px;
+ display: flex;
+ width: 44px;
+ height: 44px;
+ z-index: 10;
+ background: transparent;
+}
+#filestable.view-grid:not(.hidden) tbody td.selection label, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label {
+ width: 44px;
+ height: 44px;
+ display: inline-flex;
+ padding: 14px;
+}
+#filestable.view-grid:not(.hidden) tbody td.selection label::before, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before {
+ margin: 0;
+ width: 14px;
+ height: 14px;
+}
+#filestable.view-grid:not(.hidden) tbody td .popovermenu {
+ left: 0;
+ width: 150px;
+ margin: 0 5px;
+ /* Ellipsize long entries, normally menu width is adjusted but for grid we use fixed width. */
+}
+#filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon) {
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+#filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension {
+ display: block;
+}
+#filestable.view-grid:not(.hidden) tfoot {
+ display: grid;
+}
+#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) {
+ display: inline-block;
+ margin: 0 auto;
+ height: 418px;
+}
+#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td {
+ padding-top: 50px;
+}
+#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child, #filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date {
+ display: none;
+}
+#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info {
+ margin-left: 0;
+}
+
+/* Grid view toggle */
+#view-toggle {
+ background-color: transparent;
+ border: none;
+ margin: 0;
+ padding: 22px;
+ opacity: 0.5;
+ position: fixed;
+ right: 0;
+ z-index: 100;
+}
+#view-toggle:hover, #view-toggle:focus, #showgridview:focus + #view-toggle {
+ opacity: 1;
+}
+
+/**
+ * Make sure the hidden input is always
+ * on the visible scrolled area of the
+ * page to avoid scrolling to top when focusing
+ */
+#showgridview {
+ position: fixed;
+ top: 0;
+}
+
+/* Adjustments for link share page */
+#body-public {
+ /* Right-align view toggle on link share page */
+}
+#body-public #filestable.view-grid:not(.hidden) tbody td {
+ /* More space for filename since there is no share icon */
+ /* Position actions menu correctly below 3-dot-menu */
+}
+#body-public #filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
+ max-width: 124px;
+}
+#body-public #filestable.view-grid:not(.hidden) tbody td .popovermenu {
+ left: -80px;
+}
+#body-public #view-toggle {
+ position: absolute;
+ right: 0;
+}
+
+/* Hide legacy Gallery toggle */
+#gallery-button {
+ display: none;
+}
+
+#tag_multiple_files_container {
+ overflow: hidden;
+ background-color: #fff;
+ border-radius: 3px;
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: 10px;
+}
+#tag_multiple_files_container h3 {
+ width: 100%;
+ padding: 0 18px;
+}
+#tag_multiple_files_container .systemTagsInputFieldContainer {
+ flex: 1 1 80%;
+ min-width: 0;
+ margin: 0 12px;
+}
+
+/*# sourceMappingURL=files.css.map */
diff --git a/apps/files/css/files.css.map b/apps/files/css/files.css.map
new file mode 100644
index 00000000000..ffefdcfdf53
--- /dev/null
+++ b/apps/files/css/files.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","files.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADxCA;AACA;EACC;EACA;EACA;EACA;;;AAED;EAAoD;EAAU;;;AAC9D;EAAqB;;;AACrB;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;AAiBA;AAAA;AAAA;;AAfA;EACC;;AAGD;EACC;EACA;EAEA,KDoCc;EClCd;EACA;EACA;;AAMD;EACC;EACA;;AAEA;AAAA;EAEC;;AAEA;AAAA;EACC;;;AAMJ;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EAGC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;AClEC;EAEA;;;ADmED;ACrEC;EAEA;;;ADsED;ACxEC;EAEA;;;ADyED;AAAA;AAAA;AAAA;AC3EC;EAEA;;;AD+ED;ACjFC;EAEA;;;ADkFD;ACpFC;EAEA;;;ADqFD;ACvFC;EAEA;;;ADwFD;AC1FC;EAEA;;;AD2FD;AC7FC;EAEA;;;AD8FD;AChGC;EAEA;;;ADkGD;EACC;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAAU;;;AAEV;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;AAAe;EACf;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;AACA;EACA;EACA;;;AAGD;AAAA;EAEC;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;AAAe;;;AAEhB;EACC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;EAEC;EACA;AAAmB;EACnB;EACA;EACA;EACA;EACA;;;AAED;AACC;EACA;EACA;EACA;EACA;;;AAGA;EACC;;AAED;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAID;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EAA6H;;;AAC7H;EAAwE;EAAY;;;AAEpF;EACC;EACA;EACA;EACA;;;AAGD;AAEC;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;AACA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC;;;AAGD;AAGC;AAAA;EACC;;AAGD;AAAA;EACC;EACA;;;AAIF;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAA2C;EAAwC;EAAsC;;;AAG1H;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsC;;;AAEtC;AACA;EACC;;;AAGD;EACC;;;AAGD;AACA;AAAA;EAEC;EACA;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;;AACA;EACC;;AACA;AACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;;AAGA;EACC;;AAID;AAAA;EAEC;;AAED;EACC;;AACA;EACC;;AAIH;EACC;;AAED;EACC;EACA;;AAGF;EACC;;AAED;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAAA;EAKC;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;AACA;EAEA;;;AAED;EACC;AACA;EACA;;;AAED;AAAA;AAAA;AAGA;EACC;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;AAEA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACC;;;AAIF;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;AC1vBA;EAEA;;;AD6vBD;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAED;EACC;;AACA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EAEC;;AACA;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;;;AAKH;EACC;EACA;EACA;;;AAGD;AACA;AAIC;AAaA;AAoOA;;AA/OC;EACC;EACA;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;AAAA;EAKC;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;AAKH;EACC;EACA;AAmJA;AA8BA;;AA9KC;EACC;EACA;EACA;EACA,OAvDQ;EAwDR,QAxDQ;EAyDR,SAxDO;EAyDP;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACC,SA1EK;EA2EL;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGD;EACC;EACA;EAIA;EAKA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;AAoBA;;AAlBA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAID;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,SApJK;EAqJL;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAQH;EACC;;AAEA;EACC;EACA;;AAIF;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAvNO;;AAwNP;EACC;EACA,OA1NM;EA2NN,QA3NM;;AAiOT;EACC;EACA;EACA;AAEA;;AACA;EACC;EACA;;AAMJ;EACC;;AAID;EACC;;AAEA;EACC;EACA;EAEA;;AAEA;EACC;;AAEA;EAEC;;AAGD;EACI;;;AAOR;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAKA;EACC;EACA;;;AAGD;AACA;AAaC;;AAZA;AACC;AAKA;;AAJA;EACC;;AAID;EACC;;AAKF;EACC;EACA;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA","file":"files.css"} \ No newline at end of file
diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss
index 2c9be4ef3fe..c6097858ed5 100644
--- a/apps/files/css/files.scss
+++ b/apps/files/css/files.scss
@@ -5,6 +5,8 @@
* This file is licensed under the Affero General Public License version 3 or later.
* See the COPYING-README file.
*/
+@use 'variables';
+@import 'functions';
/* FILE MENU */
.actions {
@@ -66,9 +68,8 @@
thead {
position: -webkit-sticky;
position: sticky;
- @include position('sticky');
// header + breadcrumbs
- top: $header-height;
+ top: variables.$header-height;
// under breadcrumbs, over file list
z-index: 60;
display: block;
@@ -127,37 +128,37 @@
/* icons for sidebar */
.nav-icon-files {
- @include icon-color('folder', 'files', $color-black);
+ @include icon-color('folder', 'files', variables.$color-black);
}
.nav-icon-recent {
- @include icon-color('recent', 'files', $color-black);
+ @include icon-color('recent', 'files', variables.$color-black);
}
.nav-icon-favorites {
- @include icon-color('star-dark', 'actions', $color-black, 2, true);
+ @include icon-color('starred', 'actions', variables.$color-black, 2, true);
}
.nav-icon-sharingin,
.nav-icon-sharingout,
.nav-icon-pendingshares,
.nav-icon-shareoverview {
- @include icon-color('share', 'files', $color-black);
+ @include icon-color('share', 'files', variables.$color-black);
}
.nav-icon-sharinglinks {
- @include icon-color('public', 'files', $color-black);
+ @include icon-color('public', 'files', variables.$color-black);
}
.nav-icon-extstoragemounts {
- @include icon-color('external', 'files', $color-black);
+ @include icon-color('external', 'files', variables.$color-black);
}
.nav-icon-trashbin {
- @include icon-color('delete', 'files', $color-black);
+ @include icon-color('delete', 'files', variables.$color-black);
}
.nav-icon-trashbin-starred {
@include icon-color('delete', 'files', #ff0000);
}
.nav-icon-deletedshares {
- @include icon-color('unshare', 'files', $color-black);
+ @include icon-color('unshare', 'files', variables.$color-black);
}
.nav-icon-favorites-starred {
- @include icon-color('star-dark', 'actions', $color-yellow, 2, true);
+ @include icon-color('starred', 'actions', variables.$color-yellow, 2, true);
}
#app-navigation .nav-files a.nav-icon-files {
@@ -823,7 +824,7 @@ table.dragshadow td.size {
background-image: none;
}
& .icon-starred {
- @include icon-color('star-dark', 'actions', $color-yellow, 1, true);
+ @include icon-color('star-dark', 'actions', variables.$color-yellow, 1, true);
}
}
@@ -846,10 +847,10 @@ table.dragshadow td.size {
.breadcrumb .canDrop > a,
#filestable tbody tr.canDrop {
- background-color: rgba( $color-primary, .3 );
+ background-color: rgba( variables.$color-primary, .3 );
}
.dropzone-background {
- background-color: rgba( $color-primary, .3 );
+ background-color: rgba( variables.$color-primary, .3 );
:hover{
box-shadow: none !important;
}
diff --git a/apps/files/css/merged.css b/apps/files/css/merged.css
new file mode 100644
index 00000000000..4e36788ace6
--- /dev/null
+++ b/apps/files/css/merged.css
@@ -0,0 +1,1831 @@
+@charset "UTF-8";
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
+ * @copyright Copyright (c) 2019, Fabian Dreßler <nudelsalat@clouz.de>
+ *
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @see core/src/icons.js
+ */
+/**
+ * SVG COLOR API
+ *
+ * @param string $icon the icon filename
+ * @param string $dir the icon folder within /core/img if $core or app name
+ * @param string $color the desired color in hexadecimal
+ * @param int $version the version of the file
+ * @param bool [$core] search icon in core
+ *
+ * @returns A background image with the url to the set to the requested icon.
+ */
+/* FILE MENU */
+.actions {
+ padding: 5px;
+ height: 100%;
+ display: inline-block;
+ float: left;
+}
+
+.actions input, .actions button, .actions .button {
+ margin: 0;
+ float: left;
+}
+
+.actions .button a {
+ color: #555;
+}
+
+.actions .button a:hover,
+.actions .button a:focus {
+ background-color: var(--color-background-hover);
+}
+
+.actions .button a:active {
+ background-color: var(--color-primary-light);
+}
+
+.actions.creatable {
+ position: relative;
+ display: flex;
+ flex: 1 1;
+}
+.actions.creatable .button:not(:last-child) {
+ margin-right: 3px;
+}
+
+.actions.hidden {
+ display: none;
+}
+
+#trash {
+ margin-right: 8px;
+ float: right;
+ z-index: 1010;
+ padding: 10px;
+ font-weight: normal;
+}
+
+.newFileMenu .error,
+.newFileMenu .error + .icon-confirm,
+#fileList .error {
+ color: var(--color-error);
+ border-color: var(--color-error);
+}
+
+/* FILE TABLE */
+#filestable {
+ position: relative;
+ width: 100%;
+ min-width: 250px;
+ display: block;
+ flex-direction: column;
+ /**
+ * This is a dirty hack as the sticky header requires us to use a different display type on the table element
+ */
+}
+#emptycontent:not(.hidden) ~ #filestable {
+ display: none;
+}
+#filestable thead {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 50px;
+ z-index: 60;
+ display: block;
+ background-color: var(--color-main-background-translucent);
+}
+#filestable tbody {
+ display: table;
+ width: 100%;
+}
+#filestable tbody tr[data-permissions="0"],
+#filestable tbody tr[data-permissions="16"] {
+ background-color: var(--color-background-dark);
+}
+#filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,
+#filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext {
+ color: var(--color-text-maxcontrast);
+}
+
+#filestable.hidden {
+ display: none;
+}
+
+/* fit app list view heights */
+.app-files #app-content > .viewcontainer {
+ min-height: 0%;
+ width: 100%;
+}
+
+.app-files #app-content {
+ width: calc(100% - 300px);
+}
+
+.file-drag, .file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover {
+ background-color: var(--color-primary-light) !important;
+}
+
+.app-files #app-content.dir-drop {
+ background-color: var(--color-main-background) !important;
+}
+
+.file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover {
+ background-color: transparent !important;
+}
+
+.app-files #app-content.dir-drop #filestable tbody tr.dropping-to-dir {
+ background-color: var(--color-primary-light) !important;
+}
+
+/* icons for sidebar */
+.nav-icon-files {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-folder-dark);
+}
+
+.nav-icon-recent {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-recent-dark);
+}
+
+.nav-icon-favorites {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-starred-dark);
+}
+
+.nav-icon-sharingin,
+.nav-icon-sharingout,
+.nav-icon-pendingshares,
+.nav-icon-shareoverview {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-share-dark);
+}
+
+.nav-icon-sharinglinks {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-public-dark);
+}
+
+.nav-icon-extstoragemounts {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-external-dark);
+}
+
+.nav-icon-trashbin {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-delete-dark);
+}
+
+.nav-icon-trashbin-starred {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-delete-#ff0000);
+}
+
+.nav-icon-deletedshares {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-unshare-dark);
+}
+
+.nav-icon-favorites-starred {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-starred-yellow);
+}
+
+#app-navigation .nav-files a.nav-icon-files {
+ width: auto;
+}
+
+/* button needs overrides due to navigation styles */
+#app-navigation .nav-files a.new {
+ width: 40px;
+ height: 32px;
+ padding: 0 10px;
+ margin: 0;
+ cursor: pointer;
+}
+
+#app-navigation .nav-files a.new.hidden {
+ display: none;
+}
+
+#app-navigation .nav-files a.new.disabled {
+ opacity: 0.3;
+}
+
+#filestable tbody tr {
+ height: 51px;
+}
+
+#filestable tbody tr:hover,
+#filestable tbody tr:focus,
+#filestable tbody .name:focus,
+#filestable tbody tr:hover .filename form,
+table tr.mouseOver td {
+ background-color: var(--color-background-hover);
+}
+
+#filestable tbody tr:active,
+#filestable tbody tr.highlighted,
+#filestable tbody tr.highlighted .name:focus,
+#filestable tbody tr.selected,
+#filestable tbody tr.searchresult {
+ background-color: var(--color-primary-light);
+}
+
+tbody a {
+ color: var(--color-main-text);
+}
+
+span.conflict-path, span.extension, span.uploading, td.date {
+ color: var(--color-text-maxcontrast);
+}
+
+span.conflict-path, span.extension {
+ -webkit-transition: opacity 300ms;
+ -moz-transition: opacity 300ms;
+ -o-transition: opacity 300ms;
+ transition: opacity 300ms;
+ vertical-align: top;
+}
+
+tr:hover span.conflict-path,
+tr:focus span.conflict-path,
+tr:hover span.extension,
+tr:focus span.extension {
+ opacity: 1;
+ color: var(--color-text-maxcontrast);
+}
+
+table th, table th a {
+ color: var(--color-text-maxcontrast);
+}
+
+table.multiselect th a {
+ color: var(--color-main-text);
+}
+
+table th .columntitle {
+ display: block;
+ padding: 15px;
+ height: 50px;
+ box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ vertical-align: middle;
+}
+
+table.multiselect th .columntitle {
+ display: inline-block;
+ margin-right: -20px;
+}
+
+table th .columntitle.name {
+ padding-left: 0;
+ margin-left: 44px;
+}
+
+table.multiselect th .columntitle.name {
+ margin-left: 0;
+}
+
+table th .sort-indicator {
+ width: 10px;
+ height: 8px;
+ margin-left: 5px;
+ display: inline-block;
+ vertical-align: text-bottom;
+ opacity: 0.3;
+}
+
+.sort-indicator.hidden,
+.multiselect .sort-indicator,
+table.multiselect th:hover .sort-indicator.hidden,
+table.multiselect th:focus .sort-indicator.hidden {
+ visibility: hidden;
+}
+
+.multiselect .sort, .multiselect .sort span {
+ cursor: default;
+}
+
+table th:hover .sort-indicator.hidden,
+table th:focus .sort-indicator.hidden {
+ visibility: visible;
+}
+
+table th,
+table td {
+ border-bottom: 1px solid var(--color-border);
+ text-align: left;
+ font-weight: normal;
+}
+
+table td {
+ padding: 0 15px;
+ font-style: normal;
+ background-position: 8px center;
+ background-repeat: no-repeat;
+}
+
+table th#headerName {
+ position: relative;
+ width: 9999px;
+ /* not really sure why this works better than 100% … table styling */
+ padding: 0;
+}
+
+#headerName-container {
+ position: relative;
+ height: 50px;
+}
+
+table th#headerSelection {
+ padding-top: 2px;
+}
+
+table th#headerSize, table td.filesize {
+ text-align: right;
+}
+
+table th#headerDate, table td.date,
+table th.column-last, table td.column-last {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ position: relative;
+ /* this can not be just width, both need to be set … table styling */
+ min-width: 130px;
+ max-width: 130px;
+}
+
+#app-content-files thead,
+#app-content-trashbin thead {
+ top: 94px;
+}
+
+#app-content-recent,
+#app-content-favorites,
+#app-content-shareoverview,
+#app-content-sharingout,
+#app-content-sharingin,
+#app-content-sharinglinks,
+#app-content-deletedshares,
+#app-content-pendingshares {
+ margin-top: 22px;
+}
+
+table.multiselect thead th {
+ background-color: var(--color-main-background-translucent);
+ font-weight: bold;
+}
+
+#app-content.with-app-sidebar table.multiselect thead {
+ margin-right: 27%;
+}
+
+table.multiselect #headerName {
+ position: relative;
+ width: 9999px;
+ /* when we use 100%, the styling breaks on mobile … table styling */
+}
+
+table.multiselect #modified {
+ display: none;
+}
+
+table td.selection,
+table th.selection,
+table td.fileaction {
+ width: 32px;
+ text-align: center;
+}
+
+table td.filename a.name,
+table td.filename p.name {
+ display: flex;
+ position: relative;
+ /* Firefox needs to explicitly have this default set … */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ height: 50px;
+ line-height: 50px;
+ padding: 0;
+}
+
+table td.filename .thumbnail-wrapper {
+ /* we need this to make sure flex is working inside a table cell */
+ width: 0;
+ min-width: 50px;
+ max-width: 50px;
+ height: 50px;
+}
+
+table td.filename .thumbnail-wrapper.icon-loading-small:after {
+ z-index: 10;
+}
+table td.filename .thumbnail-wrapper.icon-loading-small .thumbnail {
+ opacity: 0.2;
+}
+
+table td.filename .thumbnail {
+ display: inline-block;
+ width: 32px;
+ height: 32px;
+ background-size: 32px;
+ margin-left: 9px;
+ margin-top: 9px;
+ border-radius: var(--border-radius);
+ cursor: pointer;
+ position: absolute;
+ z-index: 4;
+}
+
+table td.filename p.name .thumbnail {
+ cursor: default;
+}
+
+table tr[data-has-preview=true] .thumbnail {
+ border: 1px solid var(--color-border);
+}
+
+table td.filename input.filename {
+ width: 70%;
+ margin-left: 48px;
+ cursor: text;
+}
+
+table td.filename form {
+ margin-top: -40px;
+ position: relative;
+ top: -6px;
+}
+
+table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete {
+ padding: 3px 8px 8px 3px;
+}
+
+table td.filename .nametext, .modified, .column-last > span:first-child {
+ float: left;
+ padding: 15px 0;
+}
+
+.modified, .column-last > span:first-child {
+ position: relative;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: 110px;
+}
+
+/* TODO fix usability bug (accidental file/folder selection) */
+table td.filename {
+ max-width: 0;
+}
+table td.filename .nametext {
+ width: 0;
+ flex-grow: 1;
+ display: flex;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ height: 100%;
+ z-index: 10;
+ padding: 0 20px 0 0;
+}
+
+.hide-hidden-files #filestable #fileList tr.hidden-file,
+.hide-hidden-files #filestable #fileList tr.hidden-file.dragging {
+ display: none;
+}
+
+#fileList tr.animate-opacity {
+ -webkit-transition: opacity 250ms;
+ -moz-transition: opacity 250ms;
+ -o-transition: opacity 250ms;
+ transition: opacity 250ms;
+}
+
+#fileList tr.dragging {
+ opacity: 0.2;
+}
+
+table td.filename .nametext .innernametext {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ position: relative;
+ vertical-align: top;
+}
+
+/* for smaller resolutions - see mobile.css */
+table td.filename .uploadtext {
+ position: absolute;
+ font-weight: normal;
+ margin-left: 50px;
+ left: 0;
+ bottom: 0;
+ height: 20px;
+ padding: 0 4px;
+ padding-left: 1px;
+ font-size: 11px;
+ line-height: 22px;
+ color: var(--color-text-maxcontrast);
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+table td.selection {
+ padding: 0;
+}
+
+/* File checkboxes */
+#fileList tr td.selection > .selectCheckBox + label:before {
+ opacity: 0.3;
+ margin-right: 0;
+}
+
+/* Show checkbox with full opacity when hovering, checked, or selected */
+#fileList tr:hover td.selection > .selectCheckBox + label:before,
+#fileList tr:focus td.selection > .selectCheckBox + label:before,
+#fileList tr td.selection > .selectCheckBox:checked + label:before,
+#fileList tr.selected td.selection > .selectCheckBox + label:before {
+ opacity: 1;
+}
+
+/* Show checkbox with half opacity when selecting range */
+#fileList tr.halfselected td.selection > .selectCheckBox + label:before {
+ opacity: 0.5;
+}
+
+/* Use label to have bigger clickable size for checkbox */
+#fileList tr td.selection > .selectCheckBox + label,
+.select-all + label {
+ padding: 16px;
+}
+#fileList tr td.selection > .selectCheckBox:focus + label,
+.select-all:focus + label {
+ background-color: var(--color-background-hover);
+ border-radius: var(--border-radius-pill);
+}
+
+#fileList tr td.selection > .selectCheckBox:focus-visible + label,
+.select-all:focus-visible + label {
+ outline-offset: 0px;
+}
+
+#fileList tr td.filename {
+ position: relative;
+ width: 100%;
+ padding-left: 0;
+ padding-right: 0;
+ -webkit-transition: background-image 500ms;
+ -moz-transition: background-image 500ms;
+ -o-transition: background-image 500ms;
+ transition: background-image 500ms;
+}
+
+#fileList tr td.filename a.name label,
+#fileList tr td.filename p.name label {
+ position: absolute;
+ width: 80%;
+ height: 50px;
+}
+
+#fileList tr td.filename .favorite {
+ display: inline-block;
+ float: left;
+}
+
+#fileList tr td.filename .favorite-mark {
+ position: absolute;
+ display: block;
+ top: -6px;
+ right: -6px;
+ line-height: 100%;
+ text-align: center;
+}
+
+#uploadsize-message, #delete-confirm {
+ display: none;
+}
+
+/* File actions */
+.fileactions {
+ z-index: 50;
+}
+
+.busy .fileactions, .busy .action {
+ visibility: hidden;
+}
+
+/* fix position of bubble pointer for Files app */
+.bubble,
+#app-navigation .app-navigation-entry-menu {
+ border-top-right-radius: 3px;
+ min-width: 100px;
+}
+
+/* force show the loading icon, not only on hover */
+#fileList .icon-loading-small {
+ opacity: 1 !important;
+ display: inline !important;
+}
+
+#fileList .action.action-share-notification span, #fileList a.name {
+ cursor: default !important;
+}
+
+/*
+ * Make the disabled link look not like a link in file list rows
+ */
+#fileList a.name.disabled * {
+ cursor: default;
+}
+#fileList a.name.disabled a, #fileList a.name.disabled a * {
+ cursor: pointer;
+}
+#fileList a.name.disabled:focus {
+ background: none;
+}
+
+a.action > img {
+ height: 16px;
+ width: 16px;
+ vertical-align: text-bottom;
+}
+
+/* Actions for selected files */
+.selectedActions {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.selectedActions.hidden {
+ display: none;
+}
+
+.selectedActions a {
+ display: inline;
+ line-height: 50px;
+ padding: 16px 5px;
+}
+
+.selectedActions a.hidden {
+ display: none;
+}
+
+.selectedActions a img {
+ position: relative;
+ vertical-align: text-bottom;
+ margin-bottom: -1px;
+}
+
+.selectedActions .actions-selected .icon-more {
+ margin-top: -3px;
+}
+
+#fileList td a a.action {
+ display: inline;
+ padding: 17px 8px;
+ line-height: 50px;
+ opacity: 0.3;
+}
+#fileList td a a.action.action-share {
+ padding: 17px 14px;
+}
+#fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared + span {
+ /* hide text of the share action */
+ /* .hidden-visually for accessbility */
+ position: absolute;
+ left: -10000px;
+ top: auto;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+}
+#fileList td a a.action.action-share .avatar {
+ display: inline-block;
+ vertical-align: middle;
+}
+#fileList td a a.action.action-menu {
+ padding-top: 17px;
+ padding-bottom: 17px;
+ padding-left: 14px;
+ padding-right: 14px;
+}
+#fileList td a a.action.no-permission:hover, #fileList td a a.action.no-permission:focus {
+ opacity: 0.3;
+}
+#fileList td a a.action.disabled:hover, #fileList td a a.action.disabled:focus,
+#fileList td a a.action.disabled img {
+ opacity: 0.3;
+}
+#fileList td a a.action.disabled.action-download {
+ opacity: 0.7;
+}
+#fileList td a a.action.disabled.action-download:hover, #fileList td a a.action.disabled.action-download:focus {
+ opacity: 0.7;
+}
+#fileList td a a.action:hover, #fileList td a a.action:focus {
+ opacity: 1;
+}
+#fileList td a a.action:focus {
+ background-color: var(--color-background-hover);
+ border-radius: var(--border-radius-pill);
+}
+#fileList td a .fileActionsMenu a.action, #fileList td a a.action.action-share.shared-style {
+ opacity: 0.7;
+}
+#fileList td a .fileActionsMenu .action.permanent {
+ opacity: 1;
+}
+
+#fileList .action.action-share.permanent.shared-style span:not(.icon) {
+ display: inline-block;
+ max-width: 70px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ vertical-align: middle;
+ margin-left: 6px;
+}
+
+#fileList .remoteAddress .userDomain {
+ margin-left: 0 !important;
+}
+
+#fileList .favorite-mark.permanent {
+ opacity: 1;
+}
+
+#fileList .fileActionsMenu a.action:hover,
+#fileList .fileActionsMenu a.action:focus,
+#fileList a.action.action-share.shared-style:hover,
+#fileList a.action.action-share.shared-style:focus {
+ opacity: 1;
+}
+
+#fileList tr a.action.disabled {
+ background: none;
+}
+
+#selectedActionsList a.download.disabled,
+#fileList tr a.action.action-download.disabled {
+ color: #000000;
+}
+
+#fileList tr:hover a.action.disabled:hover * {
+ cursor: default;
+}
+
+.summary {
+ color: var(--color-text-maxcontrast);
+ /* add whitespace to bottom of files list to correctly show dropdowns */
+ height: 330px;
+}
+
+#filestable .filesummary {
+ width: 100%;
+ /* Width of checkbox and file preview */
+ padding-left: 101px;
+}
+
+/* Less whitespace needed on link share page
+ * as there is a footer and action menus have fewer entries.
+ */
+#body-public .summary {
+ height: 180px;
+}
+
+.summary:hover,
+.summary:focus,
+.summary,
+table tr.summary td {
+ background-color: transparent;
+}
+
+.summary td {
+ border-bottom: none;
+ vertical-align: top;
+ padding-top: 20px;
+}
+
+.summary td:first-child {
+ padding: 0;
+}
+
+.hiddeninfo {
+ white-space: pre-line;
+}
+
+table.dragshadow {
+ width: auto;
+ z-index: 2000;
+}
+
+table.dragshadow td.filename {
+ padding-left: 60px;
+ padding-right: 16px;
+ height: 36px;
+ /* Override "max-width: 0" to prevent file name and size from overlapping */
+ max-width: unset;
+}
+
+table.dragshadow td.size {
+ padding-right: 8px;
+}
+
+.mask {
+ z-index: 50;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: var(--color-main-background);
+ background-repeat: no-repeat no-repeat;
+ background-position: 50%;
+ opacity: 0.7;
+ transition: opacity 100ms;
+ -moz-transition: opacity 100ms;
+ -o-transition: opacity 100ms;
+ -ms-transition: opacity 100ms;
+ -webkit-transition: opacity 100ms;
+}
+
+.mask.transparent {
+ opacity: 0;
+}
+
+.newFileMenu {
+ font-weight: 300;
+ top: 100%;
+ left: -48px !important;
+ margin-top: 4px;
+ min-width: 100px;
+ z-index: 1001;
+ /* Center triangle */
+}
+.newFileMenu::after {
+ left: 57px !important;
+}
+
+#filestable .filename .action .icon,
+#filestable .selectedActions a .icon,
+#filestable .filename .favorite-mark .icon,
+#controls .actions .button .icon {
+ display: inline-block;
+ vertical-align: middle;
+ background-size: 16px 16px;
+}
+
+#filestable .filename .favorite-mark .icon-star {
+ background-image: none;
+}
+#filestable .filename .favorite-mark .icon-starred {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-star-dark-yellow);
+}
+
+#filestable .filename .action .icon.hidden,
+#filestable .selectedActions a .icon.hidden,
+#controls .actions .button .icon.hidden {
+ display: none;
+}
+
+#filestable .filename .action .icon.loading,
+#filestable .selectedActions a .icon.loading,
+#controls .actions .button .icon.loading {
+ width: 15px;
+ height: 15px;
+}
+
+.app-files .actions .button.new {
+ position: relative;
+}
+
+.breadcrumb .canDrop > a,
+#filestable tbody tr.canDrop {
+ background-color: rgba(0, 130, 201, 0.3);
+}
+
+.dropzone-background {
+ background-color: rgba(0, 130, 201, 0.3);
+}
+.dropzone-background :hover {
+ box-shadow: none !important;
+}
+
+.notCreatable {
+ margin-left: 12px;
+ margin-right: 44px;
+ margin-top: 12px;
+ color: var(--color-main-text);
+ overflow: auto;
+ min-width: 160px;
+ height: 54px;
+}
+.notCreatable:not(.hidden) {
+ display: flex;
+}
+.notCreatable .icon-alert-outline {
+ top: -15px;
+ position: relative;
+ margin-right: 4px;
+}
+
+#quota {
+ margin: 0 !important;
+ border: none;
+ border-radius: 0;
+ background-color: transparent;
+ z-index: 1;
+}
+#quota > a[href="#"] {
+ box-shadow: none !important;
+}
+#quota > a[href="#"], #quota > a[href="#"] * {
+ cursor: default !important;
+}
+#quota .quota-container {
+ height: 5px;
+ border-radius: var(--border-radius);
+}
+#quota .quota-container div {
+ height: 100%;
+ background-color: var(--color-primary);
+}
+
+#quotatext {
+ padding: 0;
+ height: 30px;
+ line-height: 30px;
+}
+
+/* GRID */
+#filestable.view-grid:not(.hidden) {
+ /* HEADER and MULTISELECT */
+ /* MAIN FILE LIST */
+ /* Center align the footer file number & size summary */
+}
+#filestable.view-grid:not(.hidden) thead tr {
+ display: block;
+ border-bottom: 1px solid var(--color-border);
+ background-color: var(--color-main-background-translucent);
+}
+#filestable.view-grid:not(.hidden) thead tr th {
+ width: auto;
+ border: none;
+}
+#filestable.view-grid:not(.hidden) tbody {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, 160px);
+ justify-content: space-around;
+ row-gap: 15px;
+ margin: 15px 0;
+}
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) {
+ display: block;
+ position: relative;
+ height: 190px;
+ border-radius: var(--border-radius);
+}
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted {
+ background-color: transparent;
+}
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,
+#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions {
+ background-color: var(--color-background-hover);
+}
+#filestable.view-grid:not(.hidden) tbody td {
+ display: inline;
+ border-bottom: none;
+ /* No space for filesize and date in grid view */
+ /* Position actions menu below file */
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper {
+ min-width: 0;
+ max-width: none;
+ position: absolute;
+ width: 160px;
+ height: 160px;
+ padding: 14px;
+ top: 0;
+ left: 0;
+ z-index: -1;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail {
+ width: calc(100% - 2 * 14px);
+ height: calc(100% - 2 * 14px);
+ background-size: contain;
+ margin: 0;
+ border-radius: var(--border-radius);
+ background-repeat: no-repeat;
+ background-position: center;
+ /* Position favorite star related to checkbox to left and 3-dot menu below
+ * Position is inherited from the selection while in grid view
+ */
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark {
+ padding: 14px;
+ left: auto;
+ top: -22px;
+ right: -22px;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .uploadtext {
+ width: 100%;
+ margin: 0;
+ top: 0;
+ bottom: auto;
+ height: 28px;
+ padding-top: 4px;
+ padding-left: 28px;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name {
+ height: 100%;
+ border-radius: var(--border-radius);
+ overflow: hidden;
+ cursor: pointer !important;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext {
+ display: flex;
+ height: 44px;
+ margin-top: 146px;
+ text-align: center;
+ line-height: 44px;
+ padding: 0;
+ /* No space for extension in grid view */
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
+ display: inline-block;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before {
+ content: "";
+ flex: 1;
+ min-width: 14px;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after {
+ content: "";
+ flex: 1;
+ min-width: 44px;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension {
+ display: none;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions {
+ height: initial;
+ margin-top: 146px;
+ display: flex;
+ align-items: center;
+ position: absolute;
+ right: 0;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action {
+ padding: 14px;
+ width: 44px;
+ height: 44px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu) {
+ display: none;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden {
+ display: block !important;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img {
+ padding: 6px;
+ border-radius: 50%;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden {
+ display: block !important;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden {
+ display: block !important;
+}
+#filestable.view-grid:not(.hidden) tbody td.filename form {
+ padding: 3px 14px;
+ border-radius: var(--border-radius);
+}
+#filestable.view-grid:not(.hidden) tbody td.filename form input.filename {
+ width: 100%;
+ margin-left: 0;
+}
+#filestable.view-grid:not(.hidden) tbody td.filesize, #filestable.view-grid:not(.hidden) tbody td.date {
+ display: none;
+}
+#filestable.view-grid:not(.hidden) tbody td.selection, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark {
+ position: absolute;
+ top: -8px;
+ left: -8px;
+ display: flex;
+ width: 44px;
+ height: 44px;
+ z-index: 10;
+ background: transparent;
+}
+#filestable.view-grid:not(.hidden) tbody td.selection label, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label {
+ width: 44px;
+ height: 44px;
+ display: inline-flex;
+ padding: 14px;
+}
+#filestable.view-grid:not(.hidden) tbody td.selection label::before, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before {
+ margin: 0;
+ width: 14px;
+ height: 14px;
+}
+#filestable.view-grid:not(.hidden) tbody td .popovermenu {
+ left: 0;
+ width: 150px;
+ margin: 0 5px;
+ /* Ellipsize long entries, normally menu width is adjusted but for grid we use fixed width. */
+}
+#filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon) {
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+#filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension {
+ display: block;
+}
+#filestable.view-grid:not(.hidden) tfoot {
+ display: grid;
+}
+#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) {
+ display: inline-block;
+ margin: 0 auto;
+ height: 418px;
+}
+#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td {
+ padding-top: 50px;
+}
+#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child, #filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date {
+ display: none;
+}
+#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info {
+ margin-left: 0;
+}
+
+/* Grid view toggle */
+#view-toggle {
+ background-color: transparent;
+ border: none;
+ margin: 0;
+ padding: 22px;
+ opacity: 0.5;
+ position: fixed;
+ right: 0;
+ z-index: 100;
+}
+#view-toggle:hover, #view-toggle:focus, #showgridview:focus + #view-toggle {
+ opacity: 1;
+}
+
+/**
+ * Make sure the hidden input is always
+ * on the visible scrolled area of the
+ * page to avoid scrolling to top when focusing
+ */
+#showgridview {
+ position: fixed;
+ top: 0;
+}
+
+/* Adjustments for link share page */
+#body-public {
+ /* Right-align view toggle on link share page */
+}
+#body-public #filestable.view-grid:not(.hidden) tbody td {
+ /* More space for filename since there is no share icon */
+ /* Position actions menu correctly below 3-dot-menu */
+}
+#body-public #filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
+ max-width: 124px;
+}
+#body-public #filestable.view-grid:not(.hidden) tbody td .popovermenu {
+ left: -80px;
+}
+#body-public #view-toggle {
+ position: absolute;
+ right: 0;
+}
+
+/* Hide legacy Gallery toggle */
+#gallery-button {
+ display: none;
+}
+
+#tag_multiple_files_container {
+ overflow: hidden;
+ background-color: #fff;
+ border-radius: 3px;
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: 10px;
+}
+#tag_multiple_files_container h3 {
+ width: 100%;
+ padding: 0 18px;
+}
+#tag_multiple_files_container .systemTagsInputFieldContainer {
+ flex: 1 1 80%;
+ min-width: 0;
+ margin: 0 12px;
+}
+
+#upload {
+ box-sizing: border-box;
+ height: 36px;
+ width: 39px;
+ padding: 0 !important;
+ /* override default control bar button padding */
+ margin-left: 3px;
+ overflow: hidden;
+ vertical-align: top;
+ position: relative;
+ z-index: -20;
+}
+
+#upload .icon-upload {
+ position: relative;
+ display: block;
+ width: 100%;
+ height: 44px;
+ width: 44px;
+ margin: -5px -3px;
+ cursor: pointer;
+ z-index: 10;
+ opacity: 0.65;
+}
+
+.file_upload_target {
+ display: none;
+}
+
+.file_upload_form {
+ display: inline;
+ float: left;
+ margin: 0;
+ padding: 0;
+ cursor: pointer;
+ overflow: visible;
+}
+
+#uploadprogresswrapper, #uploadprogresswrapper * {
+ box-sizing: border-box;
+}
+
+#uploadprogresswrapper {
+ display: inline-block;
+ vertical-align: top;
+ height: 36px;
+ margin-left: 3px;
+}
+
+#uploadprogresswrapper > input[type=button] {
+ height: 36px;
+ margin-left: 3px;
+}
+
+#uploadprogressbar {
+ border-color: var(--color-border-dark);
+ border-radius: 18px 0 0 18px;
+ border-right: 0;
+ position: relative;
+ float: left;
+ width: 200px;
+ height: 36px;
+ display: inline-block;
+ text-align: center;
+}
+#uploadprogressbar .ui-progressbar-value {
+ margin: 0;
+}
+
+#uploadprogressbar .ui-progressbar-value.ui-widget-header.ui-corner-left {
+ height: calc(100% + 2px);
+ top: -1px;
+ left: -1px;
+ position: absolute;
+ overflow: hidden;
+ background-color: var(--color-primary);
+}
+
+#uploadprogressbar .label {
+ top: 8px;
+ opacity: 1;
+ overflow: hidden;
+ white-space: nowrap;
+ font-weight: normal;
+}
+
+#uploadprogressbar .label.inner {
+ color: var(--color-primary-text);
+ position: absolute;
+ display: block;
+ width: 200px;
+}
+
+#uploadprogressbar .label.outer {
+ position: relative;
+ color: var(--color-main-text);
+}
+
+#uploadprogressbar .desktop {
+ display: block;
+}
+
+#uploadprogressbar .mobile {
+ display: none;
+}
+
+#uploadprogressbar + .stop {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.oc-dialog .fileexists {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ margin-bottom: 30px;
+}
+
+.oc-dialog .fileexists .conflict .filename,
+.oc-dialog .fileexists .conflict .mtime,
+.oc-dialog .fileexists .conflict .size {
+ -webkit-touch-callout: initial;
+ -webkit-user-select: initial;
+ -khtml-user-select: initial;
+ -moz-user-select: initial;
+ -ms-user-select: initial;
+ user-select: initial;
+}
+
+.oc-dialog .fileexists .conflict .message {
+ color: #e9322d;
+}
+
+.oc-dialog .fileexists table {
+ width: 100%;
+}
+
+.oc-dialog .fileexists th {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+.oc-dialog .fileexists th input[type=checkbox] {
+ margin-right: 3px;
+}
+
+.oc-dialog .fileexists th:first-child {
+ width: 225px;
+}
+
+.oc-dialog .fileexists th label {
+ font-weight: normal;
+ color: var(--color-main-text);
+}
+
+.oc-dialog .fileexists th .count {
+ margin-left: 3px;
+}
+
+.oc-dialog .fileexists .conflicts .template {
+ display: none;
+}
+
+.oc-dialog .fileexists .conflict {
+ width: 100%;
+ height: 85px;
+}
+
+.oc-dialog .fileexists .conflict .filename {
+ color: #777;
+ word-break: break-all;
+ clear: left;
+}
+
+.oc-dialog .fileexists .icon {
+ width: 64px;
+ height: 64px;
+ margin: 0px 5px 5px 5px;
+ background-repeat: no-repeat;
+ background-size: 64px 64px;
+ float: left;
+}
+
+.oc-dialog .fileexists .original,
+.oc-dialog .fileexists .replacement {
+ float: left;
+ width: 225px;
+}
+
+.oc-dialog .fileexists .conflicts {
+ overflow-y: auto;
+ max-height: 225px;
+}
+
+.oc-dialog .fileexists .conflict input[type=checkbox] {
+ float: left;
+}
+
+.oc-dialog .fileexists #allfileslabel {
+ float: right;
+}
+
+.oc-dialog .fileexists #allfiles {
+ vertical-align: bottom;
+ position: relative;
+ top: -3px;
+}
+
+.oc-dialog .fileexists #allfiles + span {
+ vertical-align: bottom;
+}
+
+.oc-dialog .oc-dialog-buttonrow {
+ width: 100%;
+ text-align: right;
+}
+.oc-dialog .oc-dialog-buttonrow .cancel {
+ float: left;
+}
+
+.highlightUploaded {
+ -webkit-animation: highlightAnimation 2s 1;
+ -moz-animation: highlightAnimation 2s 1;
+ -o-animation: highlightAnimation 2s 1;
+ animation: highlightAnimation 2s 1;
+}
+
+@-webkit-keyframes highlightAnimation {
+ 0% {
+ background-color: rgb(255, 255, 140);
+ }
+ 100% {
+ background-color: rgba(0, 0, 0, 0);
+ }
+}
+@-moz-keyframes highlightAnimation {
+ 0% {
+ background-color: rgb(255, 255, 140);
+ }
+ 100% {
+ background-color: rgba(0, 0, 0, 0);
+ }
+}
+@-o-keyframes highlightAnimation {
+ 0% {
+ background-color: rgb(255, 255, 140);
+ }
+ 100% {
+ background-color: rgba(0, 0, 0, 0);
+ }
+}
+@keyframes highlightAnimation {
+ 0% {
+ background-color: rgb(255, 255, 140);
+ }
+ 100% {
+ background-color: rgba(0, 0, 0, 0);
+ }
+}
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/* 938 = table min-width(688) + app-navigation width: 250\
+ $breakpoint-mobile +1 = size where app-navigation is hidden +1
+ 688 = table min-width */
+@media only screen and (max-width: 988px) and (min-width: 1025px), only screen and (max-width: 688px) {
+ .app-files #app-content.dir-drop {
+ background-color: rgb(255, 255, 255) !important;
+ }
+
+ table th#headerSize,
+table td.filesize,
+table th#headerDate,
+table td.date {
+ display: none;
+ }
+
+ /* remove padding to let border bottom fill the whole width*/
+ table td {
+ padding: 0;
+ }
+
+ /* remove shift for multiselect bar to account for missing navigation */
+ table.multiselect thead {
+ padding-left: 0;
+ }
+
+ #fileList a.action.action-menu img {
+ padding-left: 0;
+ }
+
+ #fileList .fileActionsMenu {
+ margin-right: 6px;
+ }
+
+ /* hide text of the share action on mobile */
+ /* .hidden-visually for accessbility */
+ #fileList a.action-share span:not(.icon):not(.avatar) {
+ position: absolute;
+ left: -10000px;
+ top: auto;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+ }
+
+ /* proper notification area for multi line messages */
+ #notification-container {
+ display: flex;
+ }
+
+ /* shorten elements for mobile */
+ #uploadprogressbar, #uploadprogressbar .label.inner {
+ width: 50px;
+ }
+
+ /* hide desktop-only parts */
+ #uploadprogressbar .desktop {
+ display: none !important;
+ }
+
+ #uploadprogressbar .mobile {
+ display: block !important;
+ }
+
+ /* ensure that it is visible over #app-content */
+ table.dragshadow {
+ z-index: 1000;
+ }
+}
+@media only screen and (max-width: 480px) {
+ /* Only show icons */
+ table th .selectedActions {
+ float: right;
+ }
+
+ table th .selectedActions > a span:not(.icon) {
+ display: none;
+ }
+
+ /* Increase touch area for the icons */
+ table th .selectedActions a {
+ padding: 17px 14px;
+ }
+
+ /* Remove the margin to reduce the overlap between the name and the icons */
+ table.multiselect th .columntitle.name {
+ margin-left: 0;
+ }
+}
+.app-sidebar .detailFileInfoContainer {
+ min-height: 50px;
+ padding: 15px;
+}
+
+.app-sidebar .detailFileInfoContainer > div {
+ clear: both;
+}
+
+.app-sidebar .mainFileInfoView .icon {
+ display: inline-block;
+ background-size: 16px 16px;
+}
+
+.app-sidebar .mainFileInfoView .permalink {
+ padding: 6px 10px;
+ vertical-align: top;
+ opacity: 0.6;
+}
+.app-sidebar .mainFileInfoView .permalink:hover, .app-sidebar .mainFileInfoView .permalink:focus {
+ opacity: 1;
+}
+
+.app-sidebar .mainFileInfoView .permalink-field > input {
+ clear: both;
+ width: 90%;
+}
+
+.app-sidebar .thumbnailContainer.large {
+ margin-left: -15px;
+ margin-right: -35px;
+ /* 15 + 20 for the close button */
+ margin-top: -15px;
+}
+
+.app-sidebar .thumbnailContainer.large.portrait {
+ margin: 0;
+ /* if we don't fit the image anyway we give it back the margin */
+}
+
+.app-sidebar .large .thumbnail {
+ width: 100%;
+ display: block;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 100%;
+ float: none;
+ margin: 0;
+ height: auto;
+}
+
+.app-sidebar .large .thumbnail .stretcher {
+ content: "";
+ display: block;
+ padding-bottom: 56.25%;
+ /* sets height of .thumbnail to 9/16 of the width */
+}
+
+.app-sidebar .large.portrait .thumbnail {
+ background-position: 50% top;
+}
+
+.app-sidebar .large.portrait .thumbnail {
+ background-size: contain;
+}
+
+.app-sidebar .large.text {
+ overflow-y: scroll;
+ overflow-x: hidden;
+ padding-top: 14px;
+ font-size: 80%;
+ margin-left: 0;
+}
+
+.app-sidebar .thumbnail {
+ width: 100%;
+ min-height: 75px;
+ display: inline-block;
+ float: left;
+ margin-right: 10px;
+ background-size: contain;
+ background-repeat: no-repeat;
+}
+
+.app-sidebar .ellipsis {
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+
+.app-sidebar .fileName {
+ font-size: 16px;
+ padding-top: 13px;
+ padding-bottom: 3px;
+}
+
+.app-sidebar .fileName h3 {
+ width: calc(100% - 42px);
+ /* 36px is the with of the copy link icon, but this breaks so we add some more to be sure */
+ display: inline-block;
+ padding: 5px 0;
+ margin: -5px 0;
+}
+
+.app-sidebar .file-details {
+ color: var(--color-text-maxcontrast);
+}
+
+.app-sidebar .action-favorite {
+ vertical-align: sub;
+ padding: 10px;
+ margin: -10px;
+}
+
+.app-sidebar .action-favorite > span {
+ opacity: 0.7 !important;
+}
+
+.app-sidebar .detailList {
+ float: left;
+}
+
+.app-sidebar .close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ opacity: 0.5;
+ z-index: 1;
+ width: 44px;
+ height: 44px;
+}
+
+/**
+ * @copyright Copyright (c) 2018, Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ */
+.whatsNewPopover {
+ bottom: 35px !important;
+ left: 15px !important;
+ width: 270px;
+ z-index: 700;
+}
+
+.whatsNewPopover p {
+ width: auto !important;
+}
+
+.whatsNewPopover .caption {
+ font-weight: bold;
+ cursor: auto !important;
+}
+
+.whatsNewPopover .icon-close {
+ position: absolute;
+ right: 0;
+}
+
+.whatsNewPopover::after {
+ content: none;
+}
+
+/*# sourceMappingURL=merged.css.map */
diff --git a/apps/files/css/merged.css.map b/apps/files/css/merged.css.map
new file mode 100644
index 00000000000..b5236874c17
--- /dev/null
+++ b/apps/files/css/merged.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","files.scss","../../../core/css/functions.scss","upload.scss","mobile.scss","detailsView.scss","../../../core/css/whatsnew.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADxCA;AACA;EACC;EACA;EACA;EACA;;;AAED;EAAoD;EAAU;;;AAC9D;EAAqB;;;AACrB;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;AAiBA;AAAA;AAAA;;AAfA;EACC;;AAGD;EACC;EACA;EAEA,KDoCc;EClCd;EACA;EACA;;AAMD;EACC;EACA;;AAEA;AAAA;EAEC;;AAEA;AAAA;EACC;;;AAMJ;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EAGC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;AClEC;EAEA;;;ADmED;ACrEC;EAEA;;;ADsED;ACxEC;EAEA;;;ADyED;AAAA;AAAA;AAAA;AC3EC;EAEA;;;AD+ED;ACjFC;EAEA;;;ADkFD;ACpFC;EAEA;;;ADqFD;ACvFC;EAEA;;;ADwFD;AC1FC;EAEA;;;AD2FD;AC7FC;EAEA;;;AD8FD;AChGC;EAEA;;;ADkGD;EACC;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAAU;;;AAEV;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;AAAe;EACf;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;AACA;EACA;EACA;;;AAGD;AAAA;EAEC;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;AAAe;;;AAEhB;EACC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;EAEC;EACA;AAAmB;EACnB;EACA;EACA;EACA;EACA;;;AAED;AACC;EACA;EACA;EACA;EACA;;;AAGA;EACC;;AAED;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAID;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EAA6H;;;AAC7H;EAAwE;EAAY;;;AAEpF;EACC;EACA;EACA;EACA;;;AAGD;AAEC;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;AACA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC;;;AAGD;AAGC;AAAA;EACC;;AAGD;AAAA;EACC;EACA;;;AAIF;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAA2C;EAAwC;EAAsC;;;AAG1H;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsC;;;AAEtC;AACA;EACC;;;AAGD;EACC;;;AAGD;AACA;AAAA;EAEC;EACA;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;;AACA;EACC;;AACA;AACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;;AAGA;EACC;;AAID;AAAA;EAEC;;AAED;EACC;;AACA;EACC;;AAIH;EACC;;AAED;EACC;EACA;;AAGF;EACC;;AAED;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAAA;EAKC;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;AACA;EAEA;;;AAED;EACC;AACA;EACA;;;AAED;AAAA;AAAA;AAGA;EACC;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;AAEA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACC;;;AAIF;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;AC1vBA;EAEA;;;AD6vBD;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAED;EACC;;AACA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EAEC;;AACA;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;;;AAKH;EACC;EACA;EACA;;;AAGD;AACA;AAIC;AAaA;AAoOA;;AA/OC;EACC;EACA;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;AAAA;EAKC;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;AAKH;EACC;EACA;AAmJA;AA8BA;;AA9KC;EACC;EACA;EACA;EACA,OAvDQ;EAwDR,QAxDQ;EAyDR,SAxDO;EAyDP;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACC,SA1EK;EA2EL;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGD;EACC;EACA;EAIA;EAKA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;AAoBA;;AAlBA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAID;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,SApJK;EAqJL;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAQH;EACC;;AAEA;EACC;EACA;;AAIF;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAvNO;;AAwNP;EACC;EACA,OA1NM;EA2NN,QA3NM;;AAiOT;EACC;EACA;EACA;AAEA;;AACA;EACC;EACA;;AAMJ;EACC;;AAID;EACC;;AAEA;EACC;EACA;EAEA;;AAEA;EACC;;AAEA;EAEC;;AAGD;EACI;;;AAOR;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAKA;EACC;EACA;;;AAGD;AACA;AAaC;;AAZA;AACC;AAKA;;AAJA;EACC;;AAID;EACC;;AAKF;EACC;EACA;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;;;AEruCF;EACC;EACA;EACA;EACA;AAAuB;EACvB;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EAAsB;;;AACtB;EAAoB;EAAgB;EAAY;EAAU;EAAW;EAAgB;;;AAErF;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AHjNT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AIEA;AAAA;AAAA;AAIA;EAEA;IACC;;;EAGD;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;EAGD;IACC;;;EAGD;IACC;;;AAED;AACA;EACA;IACC;IACA;IACA;IACA;IACA;IACA;;;AAID;EACA;IACC;;;AAGD;EACA;IACC;;;AAED;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAID;AACC;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;ACvFF;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EAEC;;;AAGF;EACC;EACA;;;AAGD;EACC;EACA;AAAqB;EACrB;;;AAGD;EACC;AAAW;;;AAGZ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;AAAwB;;;AAGzB;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;AAA0B;EAC1B;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AC/HD;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE","file":"merged.css"} \ No newline at end of file
diff --git a/apps/files/css/mobile.css b/apps/files/css/mobile.css
new file mode 100644
index 00000000000..9cdbad85156
--- /dev/null
+++ b/apps/files/css/mobile.css
@@ -0,0 +1,112 @@
+@charset "UTF-8";
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/* 938 = table min-width(688) + app-navigation width: 250\
+ $breakpoint-mobile +1 = size where app-navigation is hidden +1
+ 688 = table min-width */
+@media only screen and (max-width: 988px) and (min-width: 1025px), only screen and (max-width: 688px) {
+ .app-files #app-content.dir-drop {
+ background-color: rgb(255, 255, 255) !important;
+ }
+
+ table th#headerSize,
+table td.filesize,
+table th#headerDate,
+table td.date {
+ display: none;
+ }
+
+ /* remove padding to let border bottom fill the whole width*/
+ table td {
+ padding: 0;
+ }
+
+ /* remove shift for multiselect bar to account for missing navigation */
+ table.multiselect thead {
+ padding-left: 0;
+ }
+
+ #fileList a.action.action-menu img {
+ padding-left: 0;
+ }
+
+ #fileList .fileActionsMenu {
+ margin-right: 6px;
+ }
+
+ /* hide text of the share action on mobile */
+ /* .hidden-visually for accessbility */
+ #fileList a.action-share span:not(.icon):not(.avatar) {
+ position: absolute;
+ left: -10000px;
+ top: auto;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+ }
+
+ /* proper notification area for multi line messages */
+ #notification-container {
+ display: flex;
+ }
+
+ /* shorten elements for mobile */
+ #uploadprogressbar, #uploadprogressbar .label.inner {
+ width: 50px;
+ }
+
+ /* hide desktop-only parts */
+ #uploadprogressbar .desktop {
+ display: none !important;
+ }
+
+ #uploadprogressbar .mobile {
+ display: block !important;
+ }
+
+ /* ensure that it is visible over #app-content */
+ table.dragshadow {
+ z-index: 1000;
+ }
+}
+@media only screen and (max-width: 480px) {
+ /* Only show icons */
+ table th .selectedActions {
+ float: right;
+ }
+
+ table th .selectedActions > a span:not(.icon) {
+ display: none;
+ }
+
+ /* Increase touch area for the icons */
+ table th .selectedActions a {
+ padding: 17px 14px;
+ }
+
+ /* Remove the margin to reduce the overlap between the name and the icons */
+ table.multiselect th .columntitle.name {
+ margin-left: 0;
+ }
+}
+
+/*# sourceMappingURL=mobile.css.map */
diff --git a/apps/files/css/mobile.css.map b/apps/files/css/mobile.css.map
new file mode 100644
index 00000000000..83b1e827b33
--- /dev/null
+++ b/apps/files/css/mobile.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;AAAA;AAAA;AAIA;EAEA;IACC;;;EAGD;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;EAGD;IACC;;;EAGD;IACC;;;AAED;AACA;EACA;IACC;IACA;IACA;IACA;IACA;IACA;;;AAID;EACA;IACC;;;AAGD;EACA;IACC;;;AAED;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAID;AACC;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC","file":"mobile.css"} \ No newline at end of file
diff --git a/apps/files/css/mobile.scss b/apps/files/css/mobile.scss
index da6fdd25f28..7c5fc8fe4a2 100644
--- a/apps/files/css/mobile.scss
+++ b/apps/files/css/mobile.scss
@@ -1,8 +1,10 @@
+@use 'variables';
+
/* 938 = table min-width(688) + app-navigation width: 250\
$breakpoint-mobile +1 = size where app-navigation is hidden +1
688 = table min-width */
$min-table-width: 688px;
-@media only screen and (max-width: $min-table-width + $navigation-width) and (min-width: $breakpoint-mobile + 1), only screen and (max-width: $min-table-width) {
+@media only screen and (max-width: $min-table-width + variables.$navigation-width) and (min-width: variables.$breakpoint-mobile + 1), only screen and (max-width: $min-table-width) {
.app-files #app-content.dir-drop{
background-color: rgba(255, 255, 255, 1)!important;
diff --git a/apps/files/css/upload.css b/apps/files/css/upload.css
new file mode 100644
index 00000000000..dc90f5a793e
--- /dev/null
+++ b/apps/files/css/upload.css
@@ -0,0 +1,264 @@
+#upload {
+ box-sizing: border-box;
+ height: 36px;
+ width: 39px;
+ padding: 0 !important;
+ /* override default control bar button padding */
+ margin-left: 3px;
+ overflow: hidden;
+ vertical-align: top;
+ position: relative;
+ z-index: -20;
+}
+
+#upload .icon-upload {
+ position: relative;
+ display: block;
+ width: 100%;
+ height: 44px;
+ width: 44px;
+ margin: -5px -3px;
+ cursor: pointer;
+ z-index: 10;
+ opacity: 0.65;
+}
+
+.file_upload_target {
+ display: none;
+}
+
+.file_upload_form {
+ display: inline;
+ float: left;
+ margin: 0;
+ padding: 0;
+ cursor: pointer;
+ overflow: visible;
+}
+
+#uploadprogresswrapper, #uploadprogresswrapper * {
+ box-sizing: border-box;
+}
+
+#uploadprogresswrapper {
+ display: inline-block;
+ vertical-align: top;
+ height: 36px;
+ margin-left: 3px;
+}
+
+#uploadprogresswrapper > input[type=button] {
+ height: 36px;
+ margin-left: 3px;
+}
+
+#uploadprogressbar {
+ border-color: var(--color-border-dark);
+ border-radius: 18px 0 0 18px;
+ border-right: 0;
+ position: relative;
+ float: left;
+ width: 200px;
+ height: 36px;
+ display: inline-block;
+ text-align: center;
+}
+#uploadprogressbar .ui-progressbar-value {
+ margin: 0;
+}
+
+#uploadprogressbar .ui-progressbar-value.ui-widget-header.ui-corner-left {
+ height: calc(100% + 2px);
+ top: -1px;
+ left: -1px;
+ position: absolute;
+ overflow: hidden;
+ background-color: var(--color-primary);
+}
+
+#uploadprogressbar .label {
+ top: 8px;
+ opacity: 1;
+ overflow: hidden;
+ white-space: nowrap;
+ font-weight: normal;
+}
+
+#uploadprogressbar .label.inner {
+ color: var(--color-primary-text);
+ position: absolute;
+ display: block;
+ width: 200px;
+}
+
+#uploadprogressbar .label.outer {
+ position: relative;
+ color: var(--color-main-text);
+}
+
+#uploadprogressbar .desktop {
+ display: block;
+}
+
+#uploadprogressbar .mobile {
+ display: none;
+}
+
+#uploadprogressbar + .stop {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.oc-dialog .fileexists {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ margin-bottom: 30px;
+}
+
+.oc-dialog .fileexists .conflict .filename,
+.oc-dialog .fileexists .conflict .mtime,
+.oc-dialog .fileexists .conflict .size {
+ -webkit-touch-callout: initial;
+ -webkit-user-select: initial;
+ -khtml-user-select: initial;
+ -moz-user-select: initial;
+ -ms-user-select: initial;
+ user-select: initial;
+}
+
+.oc-dialog .fileexists .conflict .message {
+ color: #e9322d;
+}
+
+.oc-dialog .fileexists table {
+ width: 100%;
+}
+
+.oc-dialog .fileexists th {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+.oc-dialog .fileexists th input[type=checkbox] {
+ margin-right: 3px;
+}
+
+.oc-dialog .fileexists th:first-child {
+ width: 225px;
+}
+
+.oc-dialog .fileexists th label {
+ font-weight: normal;
+ color: var(--color-main-text);
+}
+
+.oc-dialog .fileexists th .count {
+ margin-left: 3px;
+}
+
+.oc-dialog .fileexists .conflicts .template {
+ display: none;
+}
+
+.oc-dialog .fileexists .conflict {
+ width: 100%;
+ height: 85px;
+}
+
+.oc-dialog .fileexists .conflict .filename {
+ color: #777;
+ word-break: break-all;
+ clear: left;
+}
+
+.oc-dialog .fileexists .icon {
+ width: 64px;
+ height: 64px;
+ margin: 0px 5px 5px 5px;
+ background-repeat: no-repeat;
+ background-size: 64px 64px;
+ float: left;
+}
+
+.oc-dialog .fileexists .original,
+.oc-dialog .fileexists .replacement {
+ float: left;
+ width: 225px;
+}
+
+.oc-dialog .fileexists .conflicts {
+ overflow-y: auto;
+ max-height: 225px;
+}
+
+.oc-dialog .fileexists .conflict input[type=checkbox] {
+ float: left;
+}
+
+.oc-dialog .fileexists #allfileslabel {
+ float: right;
+}
+
+.oc-dialog .fileexists #allfiles {
+ vertical-align: bottom;
+ position: relative;
+ top: -3px;
+}
+
+.oc-dialog .fileexists #allfiles + span {
+ vertical-align: bottom;
+}
+
+.oc-dialog .oc-dialog-buttonrow {
+ width: 100%;
+ text-align: right;
+}
+.oc-dialog .oc-dialog-buttonrow .cancel {
+ float: left;
+}
+
+.highlightUploaded {
+ -webkit-animation: highlightAnimation 2s 1;
+ -moz-animation: highlightAnimation 2s 1;
+ -o-animation: highlightAnimation 2s 1;
+ animation: highlightAnimation 2s 1;
+}
+
+@-webkit-keyframes highlightAnimation {
+ 0% {
+ background-color: rgb(255, 255, 140);
+ }
+ 100% {
+ background-color: rgba(0, 0, 0, 0);
+ }
+}
+@-moz-keyframes highlightAnimation {
+ 0% {
+ background-color: rgb(255, 255, 140);
+ }
+ 100% {
+ background-color: rgba(0, 0, 0, 0);
+ }
+}
+@-o-keyframes highlightAnimation {
+ 0% {
+ background-color: rgb(255, 255, 140);
+ }
+ 100% {
+ background-color: rgba(0, 0, 0, 0);
+ }
+}
+@keyframes highlightAnimation {
+ 0% {
+ background-color: rgb(255, 255, 140);
+ }
+ 100% {
+ background-color: rgba(0, 0, 0, 0);
+ }
+}
+
+/*# sourceMappingURL=upload.css.map */
diff --git a/apps/files/css/upload.css.map b/apps/files/css/upload.css.map
new file mode 100644
index 00000000000..718462f2607
--- /dev/null
+++ b/apps/files/css/upload.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["upload.scss"],"names":[],"mappings":"AAAA;EACC;EACA;EACA;EACA;AAAuB;EACvB;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EAAsB;;;AACtB;EAAoB;EAAgB;EAAY;EAAU;EAAW;EAAgB;;;AAErF;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO","file":"upload.css"} \ No newline at end of file
diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js
index 1a6dbe6cedb..414808f1ac4 100644
--- a/apps/files/l10n/fi.js
+++ b/apps/files/l10n/fi.js
@@ -81,6 +81,7 @@ OC.L10N.register(
"File name cannot be empty." : "Tiedoston nimi ei voi olla tyhjä.",
"\"/\" is not allowed inside a file name." : "\"/\" ei ole sallittu merkki tiedostonimessä.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" ei ole sallittu tiedostomuoto",
+ "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Käyttäjän {owner} tallennustila on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!",
"Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Ryhmäkansio \"{mountPoint}\" on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!",
"External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Erillinen tallennustila \"{mountPoint}\" on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!",
"Your storage is full, files cannot be updated or synced anymore!" : "Tallennustilasi on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!",
@@ -131,7 +132,13 @@ OC.L10N.register(
"{user} deleted an encrypted file in {file}" : "{user} poisti salatun tiedoston {file}",
"You restored {file}" : "Palautit tiedoston {file}",
"{user} restored {file}" : "{user} palautti tiedoston {file}",
+ "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Uudelleennimesit tiedoston {oldfile} (piilotettu) tiedostoksi {newfile} (piilotettu)",
+ "You renamed {oldfile} (hidden) to {newfile}" : "Uudelleennimesit tiedoston {oldfile} (piilotettu) tiedostoksi {newfile}",
+ "You renamed {oldfile} to {newfile} (hidden)" : "Uudelleennimesit tiedoston {oldfile} tiedostoksi {newfile} (piilotettu)",
"You renamed {oldfile} to {newfile}" : "Uudelleennimesit tiedoston {oldfile} tiedostoksi {newfile}",
+ "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} uudelleennimesi tiedoston {oldfile} (piilotettu) tiedostoksi {newfile} (piilotettu)",
+ "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} uudelleennimesi tiedoston {oldfile} (piilotettu) tiedostoksi {newfile}",
+ "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} uudelleennimesi tiedoston {oldfile} tiedostoksi {newfile} (piilotettu)",
"{user} renamed {oldfile} to {newfile}" : "{user} uudelleennimesi tiedoston {oldfile} tiedostoksi {newfile}",
"You moved {oldfile} to {newfile}" : "Siirsit tiedoston {oldfile} tiedostoksi {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} siirsi tiedoston {oldfile} tiedostoksi {newfile}",
diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json
index fd8d9c9cce7..288bf4ea39f 100644
--- a/apps/files/l10n/fi.json
+++ b/apps/files/l10n/fi.json
@@ -79,6 +79,7 @@
"File name cannot be empty." : "Tiedoston nimi ei voi olla tyhjä.",
"\"/\" is not allowed inside a file name." : "\"/\" ei ole sallittu merkki tiedostonimessä.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" ei ole sallittu tiedostomuoto",
+ "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Käyttäjän {owner} tallennustila on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!",
"Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Ryhmäkansio \"{mountPoint}\" on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!",
"External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Erillinen tallennustila \"{mountPoint}\" on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!",
"Your storage is full, files cannot be updated or synced anymore!" : "Tallennustilasi on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!",
@@ -129,7 +130,13 @@
"{user} deleted an encrypted file in {file}" : "{user} poisti salatun tiedoston {file}",
"You restored {file}" : "Palautit tiedoston {file}",
"{user} restored {file}" : "{user} palautti tiedoston {file}",
+ "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Uudelleennimesit tiedoston {oldfile} (piilotettu) tiedostoksi {newfile} (piilotettu)",
+ "You renamed {oldfile} (hidden) to {newfile}" : "Uudelleennimesit tiedoston {oldfile} (piilotettu) tiedostoksi {newfile}",
+ "You renamed {oldfile} to {newfile} (hidden)" : "Uudelleennimesit tiedoston {oldfile} tiedostoksi {newfile} (piilotettu)",
"You renamed {oldfile} to {newfile}" : "Uudelleennimesit tiedoston {oldfile} tiedostoksi {newfile}",
+ "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} uudelleennimesi tiedoston {oldfile} (piilotettu) tiedostoksi {newfile} (piilotettu)",
+ "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} uudelleennimesi tiedoston {oldfile} (piilotettu) tiedostoksi {newfile}",
+ "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} uudelleennimesi tiedoston {oldfile} tiedostoksi {newfile} (piilotettu)",
"{user} renamed {oldfile} to {newfile}" : "{user} uudelleennimesi tiedoston {oldfile} tiedostoksi {newfile}",
"You moved {oldfile} to {newfile}" : "Siirsit tiedoston {oldfile} tiedostoksi {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} siirsi tiedoston {oldfile} tiedostoksi {newfile}",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index 2192d372ffa..96c5684e3cd 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -150,27 +150,27 @@ OC.L10N.register(
"Upload (max. %s)" : "Upload (max. %s)",
"Accept" : "Accepteren",
"Reject" : "Afwijzen",
- "Incoming ownership transfer from {user}" : "Inkomend verzoek om eigenaarsoverdracht van {user}",
- "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Wil je {path} accepteren? \n\nOpmerking: het overdrachtsproces na acceptatie kan tot 1 uur duren.",
- "Ownership transfer failed" : "Eigenaarschap overdracht mislukt",
- "Your ownership transfer of {path} to {user} failed." : "Eigenaarsoverdracht van {path} naar {user} is mislukt.",
- "The ownership transfer of {path} from {user} failed." : "Eigenaarsoverdracht van {path} van {user} is mislukt.",
- "Ownership transfer done" : "Eigenaarschap overdracht geslaagd",
- "Your ownership transfer of {path} to {user} has completed." : "Eigenaarsoverdracht van {path} naar {user} is gereed.",
- "The ownership transfer of {path} from {user} has completed." : "Eigenaarsoverdracht van {path} van {user} is gereed.",
+ "Incoming ownership transfer from {user}" : "Inkomend verzoek voor eigendomsoverdracht van {user}",
+ "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Wil je {path} aanvaarden? \n\nOpmerking: het overdrachtsproces kan na acceptatie tot 1 uur duren.",
+ "Ownership transfer failed" : "Eigendomsoverdracht mislukt",
+ "Your ownership transfer of {path} to {user} failed." : "Eigendomsoverdracht van {path} naar {user} is mislukt.",
+ "The ownership transfer of {path} from {user} failed." : "Eigendomsoverdracht van {path} van {user} is mislukt.",
+ "Ownership transfer done" : "Eigendomsoverdracht geslaagd",
+ "Your ownership transfer of {path} to {user} has completed." : "Eigendomsoverdracht van {path} naar {user} is gereed.",
+ "The ownership transfer of {path} from {user} has completed." : "Eigendomsoverdracht van {path} van {user} is gereed.",
"in %s" : "in %s",
"File Management" : "Bestandsbeheer",
- "Transfer ownership of a file or folder" : "Overdragen eigenaarschap bestand of map ",
+ "Transfer ownership of a file or folder" : "Overdragen eigendom bestand of map ",
"Choose file or folder to transfer" : "Kies over te dragen bestand of map",
"Change" : "Pas aan",
"New owner" : "Nieuwe eigenaar",
"Search users" : "Gebruikers zoeken",
"Choose a file or folder to transfer" : "Kies een bestand of map om over te dragen",
- "Transfer" : "Transfer",
+ "Transfer" : "Overdragen",
"Transfer {path} to {userid}" : "Draag {path} over aan {userid}",
"Invalid path selected" : "Ongeldig pad geselecteerd",
- "Ownership transfer request sent" : "Aanvraag eigenaarsoverdracht verstuurd",
- "Cannot transfer ownership of a file or folder you don't own" : "Kan het eigenaarschap van een bestand of map waarvan u niet de eigenaar bent, niet overdragen",
+ "Ownership transfer request sent" : "Aanvraag eigendomsoverdracht verstuurd",
+ "Cannot transfer ownership of a file or folder you don't own" : "Kan de eigendom van een bestand of map waarvan u niet de eigenaar bent, niet overdragen",
"Tags" : "Tags",
"Unable to change the favourite state of the file" : "Niet mogelijk om favoriet status van het bestand te wijzigen",
"Error while loading the file data" : "Fout bij het lezen van de bestandsgegevens",
@@ -188,8 +188,8 @@ OC.L10N.register(
"%s%% of %s used" : "%s%% van %s gebruikt",
"%1$s of %2$s used" : "%1$s van %2$s gebruikt",
"Settings" : "Instellingen",
- "Show hidden files" : "Verborgen bestanden tonen",
- "Crop image previews" : "Bijsnijden afbeeldingvoorbeeld:",
+ "Show hidden files" : "Toon verborgen bestanden",
+ "Crop image previews" : "Snij afbeeldingvoorbeelden bij",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Gebruik dit adres om je bestanden via WebDAV te benaderen",
"Toggle %1$s sublist" : "Omschakelen%1$s sublijsten",
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 1c0f7b84344..b003a0bf081 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -148,27 +148,27 @@
"Upload (max. %s)" : "Upload (max. %s)",
"Accept" : "Accepteren",
"Reject" : "Afwijzen",
- "Incoming ownership transfer from {user}" : "Inkomend verzoek om eigenaarsoverdracht van {user}",
- "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Wil je {path} accepteren? \n\nOpmerking: het overdrachtsproces na acceptatie kan tot 1 uur duren.",
- "Ownership transfer failed" : "Eigenaarschap overdracht mislukt",
- "Your ownership transfer of {path} to {user} failed." : "Eigenaarsoverdracht van {path} naar {user} is mislukt.",
- "The ownership transfer of {path} from {user} failed." : "Eigenaarsoverdracht van {path} van {user} is mislukt.",
- "Ownership transfer done" : "Eigenaarschap overdracht geslaagd",
- "Your ownership transfer of {path} to {user} has completed." : "Eigenaarsoverdracht van {path} naar {user} is gereed.",
- "The ownership transfer of {path} from {user} has completed." : "Eigenaarsoverdracht van {path} van {user} is gereed.",
+ "Incoming ownership transfer from {user}" : "Inkomend verzoek voor eigendomsoverdracht van {user}",
+ "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Wil je {path} aanvaarden? \n\nOpmerking: het overdrachtsproces kan na acceptatie tot 1 uur duren.",
+ "Ownership transfer failed" : "Eigendomsoverdracht mislukt",
+ "Your ownership transfer of {path} to {user} failed." : "Eigendomsoverdracht van {path} naar {user} is mislukt.",
+ "The ownership transfer of {path} from {user} failed." : "Eigendomsoverdracht van {path} van {user} is mislukt.",
+ "Ownership transfer done" : "Eigendomsoverdracht geslaagd",
+ "Your ownership transfer of {path} to {user} has completed." : "Eigendomsoverdracht van {path} naar {user} is gereed.",
+ "The ownership transfer of {path} from {user} has completed." : "Eigendomsoverdracht van {path} van {user} is gereed.",
"in %s" : "in %s",
"File Management" : "Bestandsbeheer",
- "Transfer ownership of a file or folder" : "Overdragen eigenaarschap bestand of map ",
+ "Transfer ownership of a file or folder" : "Overdragen eigendom bestand of map ",
"Choose file or folder to transfer" : "Kies over te dragen bestand of map",
"Change" : "Pas aan",
"New owner" : "Nieuwe eigenaar",
"Search users" : "Gebruikers zoeken",
"Choose a file or folder to transfer" : "Kies een bestand of map om over te dragen",
- "Transfer" : "Transfer",
+ "Transfer" : "Overdragen",
"Transfer {path} to {userid}" : "Draag {path} over aan {userid}",
"Invalid path selected" : "Ongeldig pad geselecteerd",
- "Ownership transfer request sent" : "Aanvraag eigenaarsoverdracht verstuurd",
- "Cannot transfer ownership of a file or folder you don't own" : "Kan het eigenaarschap van een bestand of map waarvan u niet de eigenaar bent, niet overdragen",
+ "Ownership transfer request sent" : "Aanvraag eigendomsoverdracht verstuurd",
+ "Cannot transfer ownership of a file or folder you don't own" : "Kan de eigendom van een bestand of map waarvan u niet de eigenaar bent, niet overdragen",
"Tags" : "Tags",
"Unable to change the favourite state of the file" : "Niet mogelijk om favoriet status van het bestand te wijzigen",
"Error while loading the file data" : "Fout bij het lezen van de bestandsgegevens",
@@ -186,8 +186,8 @@
"%s%% of %s used" : "%s%% van %s gebruikt",
"%1$s of %2$s used" : "%1$s van %2$s gebruikt",
"Settings" : "Instellingen",
- "Show hidden files" : "Verborgen bestanden tonen",
- "Crop image previews" : "Bijsnijden afbeeldingvoorbeeld:",
+ "Show hidden files" : "Toon verborgen bestanden",
+ "Crop image previews" : "Snij afbeeldingvoorbeelden bij",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Gebruik dit adres om je bestanden via WebDAV te benaderen",
"Toggle %1$s sublist" : "Omschakelen%1$s sublijsten",
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index 4c8a7c8676b..4bf1bc31c01 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -17,7 +17,7 @@ OC.L10N.register(
"Processing files …" : "Dosyalar işleniyor …",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename} bir klasör ya da 0 bayt boyutunda olduğundan yüklenemedi",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Yeterli boş alan yok. Yüklemek istediğiniz boyut {size1} ancak yalnız {size2} boş alan var",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Yeterli boş alan yok. Yüklemek istediğiniz boyut {size1} ancak yalnızca {size2} boş alan var",
"Target folder \"{dir}\" does not exist any more" : "\"{dir}\" hedef klasörü artık yok",
"Not enough free space" : "Yeterli boş alan yok",
"An unknown error has occurred" : "Bilinmeyen bir sorun çıktı",
@@ -92,12 +92,12 @@ OC.L10N.register(
"_matches \"{filter}\"_::_match \"{filter}\"_" : ["\"{filter}\" ile eşleşiyor","\"{filter}\" ile eşleşiyor"],
"View in folder" : "Klasörde görüntüle",
"Copied!" : "Kopyalandı!",
- "Copy direct link (only works for users who have access to this file/folder)" : "Doğrudan bağlantıyı kopyala (yalnız bu dosya ya da klasöre erişim izni olan kullanıcılar için)",
+ "Copy direct link (only works for users who have access to this file/folder)" : "Doğrudan bağlantıyı kopyala (yalnızca bu dosya ya da klasöre erişim izni olan kullanıcılar için)",
"Path" : "Yol",
"_%n byte_::_%n bytes_" : ["%n bayt","%n bayt"],
"Favorited" : "Sık kullanılanlara eklendi",
"Favorite" : "Sık kullanılanlara ekle",
- "You can only favorite a single file or folder at a time" : "Aynı anda yalnız bir dosya ya da bir klasör sık kullanılanlara eklenebilir",
+ "You can only favorite a single file or folder at a time" : "Aynı anda yalnızca bir dosya ya da bir klasör sık kullanılanlara eklenebilir",
"New folder" : "Yeni klasör",
"Upload file" : "Dosya yükle",
"Recent" : "Son",
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index 722a23fb675..61b42f4a928 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -15,7 +15,7 @@
"Processing files …" : "Dosyalar işleniyor …",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename} bir klasör ya da 0 bayt boyutunda olduğundan yüklenemedi",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Yeterli boş alan yok. Yüklemek istediğiniz boyut {size1} ancak yalnız {size2} boş alan var",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Yeterli boş alan yok. Yüklemek istediğiniz boyut {size1} ancak yalnızca {size2} boş alan var",
"Target folder \"{dir}\" does not exist any more" : "\"{dir}\" hedef klasörü artık yok",
"Not enough free space" : "Yeterli boş alan yok",
"An unknown error has occurred" : "Bilinmeyen bir sorun çıktı",
@@ -90,12 +90,12 @@
"_matches \"{filter}\"_::_match \"{filter}\"_" : ["\"{filter}\" ile eşleşiyor","\"{filter}\" ile eşleşiyor"],
"View in folder" : "Klasörde görüntüle",
"Copied!" : "Kopyalandı!",
- "Copy direct link (only works for users who have access to this file/folder)" : "Doğrudan bağlantıyı kopyala (yalnız bu dosya ya da klasöre erişim izni olan kullanıcılar için)",
+ "Copy direct link (only works for users who have access to this file/folder)" : "Doğrudan bağlantıyı kopyala (yalnızca bu dosya ya da klasöre erişim izni olan kullanıcılar için)",
"Path" : "Yol",
"_%n byte_::_%n bytes_" : ["%n bayt","%n bayt"],
"Favorited" : "Sık kullanılanlara eklendi",
"Favorite" : "Sık kullanılanlara ekle",
- "You can only favorite a single file or folder at a time" : "Aynı anda yalnız bir dosya ya da bir klasör sık kullanılanlara eklenebilir",
+ "You can only favorite a single file or folder at a time" : "Aynı anda yalnızca bir dosya ya da bir klasör sık kullanılanlara eklenebilir",
"New folder" : "Yeni klasör",
"Upload file" : "Dosya yükle",
"Recent" : "Son",
diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js
index dc10a5b0466..e276e2d068f 100644
--- a/apps/files/l10n/uk.js
+++ b/apps/files/l10n/uk.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} з {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Завантаження цього елемента не підтримується",
"Target folder does not exist any more" : "Тека призначення більше не існує",
+ "Operation is blocked by access control" : "Операцію заблоковано через контроль доступу",
"Error when assembling chunks, status code {status}" : "Помилка під час збірки частин, код помилки {status}",
"Actions" : "Дії",
"Rename" : "Перейменувати",
diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json
index 8e74ed00209..36a04d83b41 100644
--- a/apps/files/l10n/uk.json
+++ b/apps/files/l10n/uk.json
@@ -23,6 +23,7 @@
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} з {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Завантаження цього елемента не підтримується",
"Target folder does not exist any more" : "Тека призначення більше не існує",
+ "Operation is blocked by access control" : "Операцію заблоковано через контроль доступу",
"Error when assembling chunks, status code {status}" : "Помилка під час збірки частин, код помилки {status}",
"Actions" : "Дії",
"Rename" : "Перейменувати",
diff --git a/apps/files/lib/App.php b/apps/files/lib/App.php
index 386e5a3243a..e172f0ae826 100644
--- a/apps/files/lib/App.php
+++ b/apps/files/lib/App.php
@@ -6,6 +6,7 @@
* @author Joas Schilling <coding@schilljs.com>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Vincent Petry <vincent@nextcloud.com>
+ * @author Carl Schwan <carl@carlschwan.eu>
*
* @license AGPL-3.0
*
@@ -24,37 +25,42 @@
*/
namespace OCA\Files;
+use OC\NavigationManager;
+use OCP\App\IAppManager;
+use OCP\IConfig;
+use OCP\IGroupManager;
+use OCP\INavigationManager;
+use OCP\IURLGenerator;
+use OCP\IUserSession;
+use OCP\L10N\IFactory;
+use OCP\Server;
+
class App {
- /**
- * @var \OCP\INavigationManager
- */
- private static $navigationManager;
+ private static ?INavigationManager $navigationManager = null;
/**
* Returns the app's navigation manager
- *
- * @return \OCP\INavigationManager
*/
- public static function getNavigationManager() {
+ public static function getNavigationManager(): INavigationManager {
// TODO: move this into a service in the Application class
if (self::$navigationManager === null) {
- self::$navigationManager = new \OC\NavigationManager(
- \OC::$server->getAppManager(),
- \OC::$server->getURLGenerator(),
- \OC::$server->getL10NFactory(),
- \OC::$server->getUserSession(),
- \OC::$server->getGroupManager(),
- \OC::$server->getConfig()
+ self::$navigationManager = new NavigationManager(
+ Server::get(IAppManager::class),
+ Server::get(IUrlGenerator::class),
+ Server::get(IFactory::class),
+ Server::get(IUserSession::class),
+ Server::get(IGroupManager::class),
+ Server::get(IConfig::class)
);
self::$navigationManager->clear(false);
}
return self::$navigationManager;
}
- public static function extendJsConfig($settings) {
+ public static function extendJsConfig($settings): void {
$appConfig = json_decode($settings['array']['oc_appconfig'], true);
- $maxChunkSize = (int)\OC::$server->getConfig()->getAppValue('files', 'max_chunk_size', 10 * 1024 * 1024);
+ $maxChunkSize = (int)Server::get(IConfig::class)->getAppValue('files', 'max_chunk_size', (string)(10 * 1024 * 1024));
$appConfig['files'] = [
'max_chunk_size' => $maxChunkSize
];
diff --git a/apps/files/lib/Collaboration/Resources/Listener.php b/apps/files/lib/Collaboration/Resources/Listener.php
index 5cf84316578..64dd693a4da 100644
--- a/apps/files/lib/Collaboration/Resources/Listener.php
+++ b/apps/files/lib/Collaboration/Resources/Listener.php
@@ -25,6 +25,7 @@ declare(strict_types=1);
*/
namespace OCA\Files\Collaboration\Resources;
+use OCP\Server;
use OCP\Collaboration\Resources\IManager;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
@@ -37,9 +38,9 @@ class Listener {
public static function shareModification(): void {
/** @var IManager $resourceManager */
- $resourceManager = \OC::$server->query(IManager::class);
+ $resourceManager = Server::get(IManager::class);
/** @var ResourceProvider $resourceProvider */
- $resourceProvider = \OC::$server->query(ResourceProvider::class);
+ $resourceProvider = Server::get(ResourceProvider::class);
$resourceManager->invalidateAccessCacheForProvider($resourceProvider);
}
diff --git a/apps/files/lib/Controller/TransferOwnershipController.php b/apps/files/lib/Controller/TransferOwnershipController.php
index fb1a8b33dc1..5abd65444bf 100644
--- a/apps/files/lib/Controller/TransferOwnershipController.php
+++ b/apps/files/lib/Controller/TransferOwnershipController.php
@@ -30,6 +30,7 @@ namespace OCA\Files\Controller;
use OCA\Files\BackgroundJob\TransferOwnership;
use OCA\Files\Db\TransferOwnership as TransferOwnershipEntity;
use OCA\Files\Db\TransferOwnershipMapper;
+use OCP\Files\IHomeStorage;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
@@ -97,7 +98,7 @@ class TransferOwnershipController extends OCSController {
return new DataResponse([], Http::STATUS_BAD_REQUEST);
}
- if ($node->getOwner()->getUID() !== $this->userId) {
+ if ($node->getOwner()->getUID() !== $this->userId || !$node->getStorage()->instanceOfStorage(IHomeStorage::class)) {
return new DataResponse([], Http::STATUS_FORBIDDEN);
}
diff --git a/apps/files/list.php b/apps/files/list.php
index 09dc217139c..c4b93b2e145 100644
--- a/apps/files/list.php
+++ b/apps/files/list.php
@@ -23,12 +23,15 @@
*
*/
use OCP\Share\IManager;
+use OCP\Server;
+use OCP\IConfig;
+use OCP\IUserSession;
-$config = \OC::$server->getConfig();
-$userSession = \OC::$server->getUserSession();
+$config = Server::get(IConfig::class);
+$userSession = Server::get(IUserSession::class);
// TODO: move this to the generated config.js
/** @var IManager $shareManager */
-$shareManager = \OC::$server->get(IManager::class);
+$shareManager = Server::get(IManager::class);
$publicUploadEnabled = $shareManager->shareApiLinkAllowPublicUpload() ? 'yes' : 'no';
$showgridview = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_grid', false);
diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php
index a88a9550beb..0a34396aa5c 100644
--- a/apps/files/templates/list.php
+++ b/apps/files/templates/list.php
@@ -75,7 +75,6 @@
<div class="hiddenuploadfield">
<input type="file" id="file_upload_start" class="hiddenuploadfield" name="files[]" />
</div>
-<div id="editor"></div><!-- FIXME Do not use this div in your app! It is deprecated and will be removed in the future! -->
<div id="uploadsize-message" title="<?php p($l->t('Upload too large'))?>">
<p>
<?php p($l->t('The files you are trying to upload exceed the maximum size for file uploads on this server.'));?>
diff --git a/apps/files_external/css/settings.css b/apps/files_external/css/settings.css
new file mode 100644
index 00000000000..84e382ceb89
--- /dev/null
+++ b/apps/files_external/css/settings.css
@@ -0,0 +1,177 @@
+#files_external {
+ margin-bottom: 0px;
+}
+
+#externalStorage {
+ margin: 15px 0 20px 0;
+}
+#externalStorage tr.externalStorageLoading > td {
+ text-align: center;
+}
+
+#externalStorage td > input, #externalStorage td > select {
+ width: 100%;
+}
+
+#externalStorage td.status {
+ /* overwrite conflicting core styles */
+ display: table-cell;
+ vertical-align: middle;
+}
+
+#externalStorage td.status > span {
+ display: inline-block;
+ height: 28px;
+ width: 28px;
+ vertical-align: text-bottom;
+ border-radius: 50%;
+ cursor: pointer;
+}
+
+#externalStorage td.mountPoint, #externalStorage td.backend, #externalStorage td.authentication, #externalStorage td.configuration {
+ min-width: 160px;
+ width: 15%;
+}
+
+#externalStorage td > img {
+ padding-top: 7px;
+ opacity: 0.5;
+}
+
+#externalStorage td > img:hover {
+ padding-top: 7px;
+ cursor: pointer;
+ opacity: 1;
+}
+
+#addMountPoint > td {
+ border: none;
+}
+
+#addMountPoint > td.applicable {
+ visibility: hidden;
+}
+
+#addMountPoint > td.hidden {
+ visibility: hidden;
+}
+
+#externalStorage td {
+ height: 50px;
+}
+#externalStorage td.mountOptionsToggle, #externalStorage td.remove, #externalStorage td.save {
+ position: relative;
+ padding: 0 !important;
+ width: 44px;
+}
+#externalStorage td.mountOptionsToggle [class^=icon-],
+#externalStorage td.mountOptionsToggle [class*=" icon-"], #externalStorage td.remove [class^=icon-],
+#externalStorage td.remove [class*=" icon-"], #externalStorage td.save [class^=icon-],
+#externalStorage td.save [class*=" icon-"] {
+ opacity: 0.5;
+ padding: 14px;
+ vertical-align: text-bottom;
+ cursor: pointer;
+}
+#externalStorage td.mountOptionsToggle [class^=icon-]:hover,
+#externalStorage td.mountOptionsToggle [class*=" icon-"]:hover, #externalStorage td.remove [class^=icon-]:hover,
+#externalStorage td.remove [class*=" icon-"]:hover, #externalStorage td.save [class^=icon-]:hover,
+#externalStorage td.save [class*=" icon-"]:hover {
+ opacity: 1;
+}
+
+#selectBackend {
+ margin-left: -10px;
+ width: 150px;
+}
+
+#externalStorage td.configuration,
+#externalStorage td.backend {
+ white-space: normal;
+}
+
+#externalStorage td.configuration > * {
+ white-space: nowrap;
+}
+
+#externalStorage td.configuration input.added {
+ margin-right: 6px;
+}
+
+#externalStorage label > input[type=checkbox] {
+ margin-right: 3px;
+}
+
+#externalStorage td.configuration label {
+ width: 100%;
+ display: inline-flex;
+ align-items: center;
+}
+
+#externalStorage td.configuration input.disabled-success {
+ background-color: rgba(134, 255, 110, 0.9);
+}
+
+#externalStorage td.applicable div.chzn-container {
+ position: relative;
+ top: 3px;
+}
+
+#externalStorage .select2-container.applicableUsers {
+ width: 100% !important;
+}
+
+#userMountingBackends {
+ padding-left: 25px;
+}
+
+.files-external-select2 .select2-results .select2-result-label {
+ height: 32px;
+ padding: 3px;
+}
+
+.files-external-select2 .select2-results .select2-result-label > span {
+ display: block;
+ position: relative;
+}
+
+.files-external-select2 .select2-results .select2-result-label .avatardiv {
+ display: inline-block;
+}
+
+.files-external-select2 .select2-results .select2-result-label .avatardiv + span {
+ position: absolute;
+ top: 5px;
+ margin-left: 10px;
+}
+
+.files-external-select2 .select2-results .select2-result-label .avatardiv[data-type=group] + span {
+ vertical-align: top;
+ top: 6px;
+ position: absolute;
+ max-width: 80%;
+ left: 30px;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+#externalStorage .select2-container .select2-search-choice {
+ display: flex;
+}
+#externalStorage .select2-container .select2-search-choice .select2-search-choice-close {
+ display: block;
+ left: auto;
+ position: relative;
+ width: 20px;
+}
+
+#externalStorage .mountOptionsToggle .dropdown {
+ width: auto;
+}
+
+.nav-icon-external-storage {
+ background-image: var(--icon-external-dark);
+}
+
+/*# sourceMappingURL=settings.css.map */
diff --git a/apps/files_external/css/settings.css.map b/apps/files_external/css/settings.css.map
new file mode 100644
index 00000000000..d084c036f9a
--- /dev/null
+++ b/apps/files_external/css/settings.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["settings.scss"],"names":[],"mappings":"AAAA;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAKD;EACC;;;AAIF;AACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGA;EACC;EACA;;;AAGF;EAA0B;EAAiB;;;AAC3C;EAAgC;EAAiB;EAAgB;;;AACjE;EAAoB;;;AACpB;EAA+B;;;AAC/B;EAA2B;;;AAE3B;EACC;;AACA;EAGC;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EAEC;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACC;;;AAMJ;EACC;EACA;;;AAGD;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;AACA;EACC;EACA;EACA;EACA;;;AAIF;EACC;;;AAGD;EACC","file":"settings.css"} \ No newline at end of file
diff --git a/apps/files_external/css/settings.scss b/apps/files_external/css/settings.scss
index f11ea06c155..f4d8b677d96 100644
--- a/apps/files_external/css/settings.scss
+++ b/apps/files_external/css/settings.scss
@@ -150,5 +150,5 @@
}
.nav-icon-external-storage {
- @include icon-color('app-dark', 'files_external', $color-black);
+ background-image: var(--icon-external-dark);
}
diff --git a/apps/files_external/lib/Lib/Storage/AmazonS3.php b/apps/files_external/lib/Lib/Storage/AmazonS3.php
index cfd78689fa4..e7a8c5f9329 100644
--- a/apps/files_external/lib/Lib/Storage/AmazonS3.php
+++ b/apps/files_external/lib/Lib/Storage/AmazonS3.php
@@ -53,6 +53,8 @@ use OCP\Files\FileInfo;
use OCP\Files\IMimeTypeDetector;
use OCP\ICacheFactory;
use OCP\IMemcache;
+use OCP\Server;
+use OCP\ICache;
class AmazonS3 extends \OC\Files\Storage\Common {
use S3ConnectionTrait;
@@ -62,23 +64,18 @@ class AmazonS3 extends \OC\Files\Storage\Common {
return false;
}
- /** @var CappedMemoryCache|Result[] */
- private $objectCache;
+ /** @var CappedMemoryCache<array|false> */
+ private CappedMemoryCache $objectCache;
- /** @var CappedMemoryCache|bool[] */
- private $directoryCache;
+ /** @var CappedMemoryCache<bool> */
+ private CappedMemoryCache $directoryCache;
- /** @var CappedMemoryCache|array */
- private $filesCache;
+ /** @var CappedMemoryCache<array> */
+ private CappedMemoryCache $filesCache;
- /** @var IMimeTypeDetector */
- private $mimeDetector;
-
- /** @var bool|null */
- private $versioningEnabled = null;
-
- /** @var IMemcache */
- private $memCache;
+ private IMimeTypeDetector $mimeDetector;
+ private ?bool $versioningEnabled = null;
+ private ICache $memCache;
public function __construct($parameters) {
parent::__construct($parameters);
@@ -87,9 +84,9 @@ class AmazonS3 extends \OC\Files\Storage\Common {
$this->objectCache = new CappedMemoryCache();
$this->directoryCache = new CappedMemoryCache();
$this->filesCache = new CappedMemoryCache();
- $this->mimeDetector = \OC::$server->get(IMimeTypeDetector::class);
+ $this->mimeDetector = Server::get(IMimeTypeDetector::class);
/** @var ICacheFactory $cacheFactory */
- $cacheFactory = \OC::$server->get(ICacheFactory::class);
+ $cacheFactory = Server::get(ICacheFactory::class);
$this->memCache = $cacheFactory->createLocal('s3-external');
}
@@ -145,10 +142,9 @@ class AmazonS3 extends \OC\Files\Storage\Common {
}
/**
- * @param $key
* @return array|false
*/
- private function headObject($key) {
+ private function headObject(string $key) {
if (!isset($this->objectCache[$key])) {
try {
$this->objectCache[$key] = $this->getConnection()->headObject([
@@ -164,6 +160,7 @@ class AmazonS3 extends \OC\Files\Storage\Common {
}
if (is_array($this->objectCache[$key]) && !isset($this->objectCache[$key]["Key"])) {
+ /** @psalm-suppress InvalidArgument Psalm doesn't understand nested arrays well */
$this->objectCache[$key]["Key"] = $key;
}
return $this->objectCache[$key];
diff --git a/apps/files_external/lib/Lib/Storage/SMB.php b/apps/files_external/lib/Lib/Storage/SMB.php
index c2555f87b93..bdb9b4f9c8f 100644
--- a/apps/files_external/lib/Lib/Storage/SMB.php
+++ b/apps/files_external/lib/Lib/Storage/SMB.php
@@ -84,10 +84,8 @@ class SMB extends Common implements INotifyStorage {
*/
protected $root;
- /**
- * @var IFileInfo[]
- */
- protected $statCache;
+ /** @var CappedMemoryCache<IFileInfo> */
+ protected CappedMemoryCache $statCache;
/** @var ILogger */
protected $logger;
@@ -527,7 +525,7 @@ class SMB extends Common implements INotifyStorage {
}
try {
- $this->statCache = [];
+ $this->statCache = new CappedMemoryCache();
$content = $this->share->dir($this->buildPath($path));
foreach ($content as $file) {
if ($file->isDirectory()) {
diff --git a/apps/files_sharing/css/icons.css b/apps/files_sharing/css/icons.css
new file mode 100644
index 00000000000..ff5c5844df6
--- /dev/null
+++ b/apps/files_sharing/css/icons.css
@@ -0,0 +1,94 @@
+@charset "UTF-8";
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
+ *
+ * @author John Molakvoæ <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @see core/src/icons.js
+ */
+/**
+ * SVG COLOR API
+ *
+ * @param string $icon the icon filename
+ * @param string $dir the icon folder within /core/img if $core or app name
+ * @param string $color the desired color in hexadecimal
+ * @param int $version the version of the file
+ * @param bool [$core] search icon in core
+ *
+ * @returns A background image with the url to the set to the requested icon.
+ */
+.icon-room {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-app-dark);
+}
+
+.icon-circle {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-circles-dark);
+}
+
+.icon-guests {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-app-dark);
+}
+
+/*# sourceMappingURL=icons.css.map */
diff --git a/apps/files_sharing/css/icons.css.map b/apps/files_sharing/css/icons.css.map
new file mode 100644
index 00000000000..a2766ac03f7
--- /dev/null
+++ b/apps/files_sharing/css/icons.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","icons.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADzBA;ACsCC;EAEA;;;ADrCD;ACmCC;EAEA;;;ADlCD;ACgCC;EAEA","file":"icons.css"} \ No newline at end of file
diff --git a/apps/files_sharing/css/icons.scss b/apps/files_sharing/css/icons.scss
index 002235b6e32..529d8bd5100 100644
--- a/apps/files_sharing/css/icons.scss
+++ b/apps/files_sharing/css/icons.scss
@@ -19,14 +19,16 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
+@use 'variables';
+@import 'functions';
// This is the icons used in the sharing ui (multiselect)
.icon-room {
- @include icon-color('app', 'spreed', $color-black);
+ @include icon-color('app', 'spreed', variables.$color-black);
}
.icon-circle {
- @include icon-color('circles', 'circles', $color-black, 3, false);
+ @include icon-color('circles', 'circles', variables.$color-black, 3, false);
}
.icon-guests {
- @include icon-color('app', 'guests', $color-black);
+ @include icon-color('app', 'guests', variables.$color-black);
} \ No newline at end of file
diff --git a/apps/files_sharing/css/mobile.css b/apps/files_sharing/css/mobile.css
new file mode 100644
index 00000000000..63acecb90c8
--- /dev/null
+++ b/apps/files_sharing/css/mobile.css
@@ -0,0 +1,86 @@
+@charset "UTF-8";
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+@media only screen and (max-width: 1024px) {
+ /* make header scroll up for single shares, more view of content on small screens */
+ #header.share-file {
+ position: absolute !important;
+ }
+
+ /* hide size and date columns */
+ table th#headerSize,
+table td.filesize,
+table th#headerDate,
+table td.date {
+ display: none;
+ }
+
+ /* restrict length of displayed filename to prevent overflow */
+ table td.filename .nametext {
+ max-width: 75% !important;
+ }
+
+ /* on mobile, show single shared image at full width without margin */
+ #imgframe {
+ width: 100%;
+ padding: 0;
+ margin-bottom: 35px;
+ }
+
+ /* some margin for the file type icon */
+ #imgframe .publicpreview {
+ margin-top: 32px;
+ }
+
+ /* some padding for better clickability */
+ #fileList a.action img {
+ padding: 0 6px 0 12px;
+ }
+
+ /* hide text of the actions on mobile */
+ #fileList a.action:not(.menuitem) span {
+ display: none;
+ }
+
+ /* ellipsis on file names */
+ .nametext {
+ width: 60%;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ #header .menutoggle {
+ padding-right: 14px;
+ background-position: center;
+ }
+
+ .note {
+ padding: 0 20px;
+ }
+
+ #emptycontent {
+ margin-top: 10vh;
+ }
+}
+
+/*# sourceMappingURL=mobile.css.map */
diff --git a/apps/files_sharing/css/mobile.css.map b/apps/files_sharing/css/mobile.css.map
new file mode 100644
index 00000000000..36f4289e94a
--- /dev/null
+++ b/apps/files_sharing/css/mobile.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;AAEA;EACA;IACC;;;AAGD;EACA;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;IACA;;;EAGD;IACI;IACA;;;EAEJ;IACC;;;EAGD;IACC","file":"mobile.css"} \ No newline at end of file
diff --git a/apps/files_sharing/css/mobile.scss b/apps/files_sharing/css/mobile.scss
index 0202fdd08d1..38a7a9cd711 100644
--- a/apps/files_sharing/css/mobile.scss
+++ b/apps/files_sharing/css/mobile.scss
@@ -1,4 +1,6 @@
-@media only screen and (max-width: $breakpoint-mobile) {
+@use 'variables';
+
+@media only screen and (max-width: variables.$breakpoint-mobile) {
/* make header scroll up for single shares, more view of content on small screens */
#header.share-file {
diff --git a/apps/files_sharing/css/public.css b/apps/files_sharing/css/public.css
new file mode 100644
index 00000000000..21dd876905c
--- /dev/null
+++ b/apps/files_sharing/css/public.css
@@ -0,0 +1,237 @@
+@charset "UTF-8";
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+#preview {
+ text-align: center;
+}
+
+#preview .notCreatable {
+ display: none;
+}
+
+#noPreview {
+ display: none;
+ padding-top: 80px;
+}
+
+#imgframe {
+ height: 75%;
+ padding-bottom: 32px;
+ padding-top: 32px;
+ width: 80%;
+ margin: 0 auto;
+}
+
+#imgframe img {
+ max-height: 100% !important;
+ max-width: 100% !important;
+}
+
+#imgframe audio {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+#imgframe .text-preview {
+ display: inline-block;
+ position: relative;
+ text-align: left;
+ white-space: pre-wrap;
+ overflow-y: hidden;
+ height: auto;
+ min-height: 200px;
+ max-height: 800px;
+}
+
+#imgframe .ellipsis {
+ font-size: 1.2em;
+}
+
+/* fix multiselect bar offset on shared page */
+thead {
+ left: 0 !important;
+}
+
+#data-upload-form {
+ position: relative;
+ right: 0;
+ height: 32px;
+ overflow: hidden;
+ padding: 0;
+ float: right;
+ display: inline;
+ margin: 0;
+}
+
+/* keep long file names in one line to not overflow download button on mobile */
+.directDownload #downloadFile {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 90%;
+ display: inline-block;
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 16px;
+}
+
+.download-size {
+ opacity: 0.5;
+}
+
+/* header buttons */
+#details {
+ display: inline-flex;
+}
+
+#details button,
+#details input,
+#details .button {
+ margin: 0 5px;
+ line-height: normal;
+}
+
+#details button:hover,
+#details input:hover,
+#details .button:hover {
+ /* No */
+ border-color: rgba(0, 0, 0, 0.3) !important;
+}
+
+#public-upload .avatardiv {
+ margin: 0 auto;
+}
+
+#emptycontent.has-note {
+ margin-top: 5vh;
+}
+
+#public-upload #emptycontent h2 {
+ margin: 10px 0 5px 0;
+}
+
+#public-upload #emptycontent h2 + p {
+ margin-bottom: 30px;
+}
+
+#public-upload #emptycontent .icon-folder {
+ height: 16px;
+ width: 16px;
+ background-size: 16px;
+ display: inline-block;
+ vertical-align: text-top;
+ margin-bottom: 0;
+ margin-right: 5px;
+ opacity: 1;
+}
+
+#public-upload #emptycontent #displayavatar .icon-folder {
+ height: 48px;
+ width: 48px;
+ background-size: 48px;
+}
+
+#public-upload #emptycontent .button {
+ display: inline-block;
+ height: auto;
+ width: auto;
+ background-size: 16px;
+ background-position: 16px;
+ opacity: 0.7;
+ font-size: 20px;
+ line-height: initial;
+ margin: 20px;
+ padding: 10px 20px;
+ padding-left: 42px;
+}
+
+#public-upload #emptycontent ul {
+ width: 230px;
+ margin: 5px auto 5vh;
+ text-align: left;
+}
+
+#public-upload #emptycontent li {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding: 7px 0;
+}
+
+#public-upload #emptycontent li img {
+ margin-right: 5px;
+ position: relative;
+ top: 2px;
+}
+
+#drop-upload-progress-indicator span.icon-loading-small {
+ padding-left: 18px;
+ margin-right: 7px;
+}
+
+#drop-uploaded-files li #drop-upload-name {
+ float: left;
+ max-width: 180px;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+#drop-uploaded-files li #drop-upload-status {
+ float: right;
+}
+
+.disclaimer,
+.note {
+ margin: 0 auto 30px;
+ max-width: 400px;
+ text-align: left;
+}
+
+#note-content {
+ padding: 5px;
+ display: inline-block;
+ width: 350px;
+}
+#note-content .content {
+ overflow: auto;
+ max-height: 200px;
+}
+
+#show-terms-dialog {
+ cursor: pointer;
+ font-weight: bold;
+}
+
+@media only screen and (min-width: 1025px) {
+ #body-public .header-right #header-actions-menu > ul > li#download {
+ display: none;
+ }
+}
+@media only screen and (max-width: 1024px) {
+ #body-public .header-right #header-primary-action {
+ display: none;
+ }
+}
+
+/*# sourceMappingURL=public.css.map */
diff --git a/apps/files_sharing/css/public.css.map b/apps/files_sharing/css/public.css.map
new file mode 100644
index 00000000000..c100a63b6d8
--- /dev/null
+++ b/apps/files_sharing/css/public.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","public.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;;;AAED;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;AAAA;AAGC;EACA;;;AAGD;EACC;;;AAIA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;AACA;EACC;EACA;;;AAIF;EACC;EACA;;;AAKD;EAII;IACC;;;AAQL;EAGG;IACC","file":"public.css"} \ No newline at end of file
diff --git a/apps/files_sharing/css/public.scss b/apps/files_sharing/css/public.scss
index aadf7d41037..a3754b7be9f 100644
--- a/apps/files_sharing/css/public.scss
+++ b/apps/files_sharing/css/public.scss
@@ -1,3 +1,5 @@
+@use 'variables';
+
#preview {
text-align: center;
}
@@ -204,7 +206,7 @@ thead {
// hide the download entry on the menu
// on public share when NOT on mobile
-@media only screen and (min-width: $breakpoint-mobile + 1) {
+@media only screen and (min-width: variables.$breakpoint-mobile + 1) {
#body-public {
.header-right {
#header-actions-menu {
@@ -217,7 +219,7 @@ thead {
}
// hide the primary on public share on mobile
-@media only screen and (max-width: $breakpoint-mobile) {
+@media only screen and (max-width: variables.$breakpoint-mobile) {
#body-public {
.header-right {
#header-primary-action {
diff --git a/apps/files_sharing/css/publicView.css b/apps/files_sharing/css/publicView.css
new file mode 100644
index 00000000000..c10620e59bf
--- /dev/null
+++ b/apps/files_sharing/css/publicView.css
@@ -0,0 +1,320 @@
+@charset "UTF-8";
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+#preview {
+ text-align: center;
+}
+
+#preview .notCreatable {
+ display: none;
+}
+
+#noPreview {
+ display: none;
+ padding-top: 80px;
+}
+
+#imgframe {
+ height: 75%;
+ padding-bottom: 32px;
+ padding-top: 32px;
+ width: 80%;
+ margin: 0 auto;
+}
+
+#imgframe img {
+ max-height: 100% !important;
+ max-width: 100% !important;
+}
+
+#imgframe audio {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+#imgframe .text-preview {
+ display: inline-block;
+ position: relative;
+ text-align: left;
+ white-space: pre-wrap;
+ overflow-y: hidden;
+ height: auto;
+ min-height: 200px;
+ max-height: 800px;
+}
+
+#imgframe .ellipsis {
+ font-size: 1.2em;
+}
+
+/* fix multiselect bar offset on shared page */
+thead {
+ left: 0 !important;
+}
+
+#data-upload-form {
+ position: relative;
+ right: 0;
+ height: 32px;
+ overflow: hidden;
+ padding: 0;
+ float: right;
+ display: inline;
+ margin: 0;
+}
+
+/* keep long file names in one line to not overflow download button on mobile */
+.directDownload #downloadFile {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 90%;
+ display: inline-block;
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 16px;
+}
+
+.download-size {
+ opacity: 0.5;
+}
+
+/* header buttons */
+#details {
+ display: inline-flex;
+}
+
+#details button,
+#details input,
+#details .button {
+ margin: 0 5px;
+ line-height: normal;
+}
+
+#details button:hover,
+#details input:hover,
+#details .button:hover {
+ /* No */
+ border-color: rgba(0, 0, 0, 0.3) !important;
+}
+
+#public-upload .avatardiv {
+ margin: 0 auto;
+}
+
+#emptycontent.has-note {
+ margin-top: 5vh;
+}
+
+#public-upload #emptycontent h2 {
+ margin: 10px 0 5px 0;
+}
+
+#public-upload #emptycontent h2 + p {
+ margin-bottom: 30px;
+}
+
+#public-upload #emptycontent .icon-folder {
+ height: 16px;
+ width: 16px;
+ background-size: 16px;
+ display: inline-block;
+ vertical-align: text-top;
+ margin-bottom: 0;
+ margin-right: 5px;
+ opacity: 1;
+}
+
+#public-upload #emptycontent #displayavatar .icon-folder {
+ height: 48px;
+ width: 48px;
+ background-size: 48px;
+}
+
+#public-upload #emptycontent .button {
+ display: inline-block;
+ height: auto;
+ width: auto;
+ background-size: 16px;
+ background-position: 16px;
+ opacity: 0.7;
+ font-size: 20px;
+ line-height: initial;
+ margin: 20px;
+ padding: 10px 20px;
+ padding-left: 42px;
+}
+
+#public-upload #emptycontent ul {
+ width: 230px;
+ margin: 5px auto 5vh;
+ text-align: left;
+}
+
+#public-upload #emptycontent li {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding: 7px 0;
+}
+
+#public-upload #emptycontent li img {
+ margin-right: 5px;
+ position: relative;
+ top: 2px;
+}
+
+#drop-upload-progress-indicator span.icon-loading-small {
+ padding-left: 18px;
+ margin-right: 7px;
+}
+
+#drop-uploaded-files li #drop-upload-name {
+ float: left;
+ max-width: 180px;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+#drop-uploaded-files li #drop-upload-status {
+ float: right;
+}
+
+.disclaimer,
+.note {
+ margin: 0 auto 30px;
+ max-width: 400px;
+ text-align: left;
+}
+
+#note-content {
+ padding: 5px;
+ display: inline-block;
+ width: 350px;
+}
+#note-content .content {
+ overflow: auto;
+ max-height: 200px;
+}
+
+#show-terms-dialog {
+ cursor: pointer;
+ font-weight: bold;
+}
+
+@media only screen and (min-width: 1025px) {
+ #body-public .header-right #header-actions-menu > ul > li#download {
+ display: none;
+ }
+}
+@media only screen and (max-width: 1024px) {
+ #body-public .header-right #header-primary-action {
+ display: none;
+ }
+}
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+@media only screen and (max-width: 1024px) {
+ /* make header scroll up for single shares, more view of content on small screens */
+ #header.share-file {
+ position: absolute !important;
+ }
+
+ /* hide size and date columns */
+ table th#headerSize,
+table td.filesize,
+table th#headerDate,
+table td.date {
+ display: none;
+ }
+
+ /* restrict length of displayed filename to prevent overflow */
+ table td.filename .nametext {
+ max-width: 75% !important;
+ }
+
+ /* on mobile, show single shared image at full width without margin */
+ #imgframe {
+ width: 100%;
+ padding: 0;
+ margin-bottom: 35px;
+ }
+
+ /* some margin for the file type icon */
+ #imgframe .publicpreview {
+ margin-top: 32px;
+ }
+
+ /* some padding for better clickability */
+ #fileList a.action img {
+ padding: 0 6px 0 12px;
+ }
+
+ /* hide text of the actions on mobile */
+ #fileList a.action:not(.menuitem) span {
+ display: none;
+ }
+
+ /* ellipsis on file names */
+ .nametext {
+ width: 60%;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ #header .menutoggle {
+ padding-right: 14px;
+ background-position: center;
+ }
+
+ .note {
+ padding: 0 20px;
+ }
+
+ #emptycontent {
+ margin-top: 10vh;
+ }
+}
+
+/*# sourceMappingURL=publicView.css.map */
diff --git a/apps/files_sharing/css/publicView.css.map b/apps/files_sharing/css/publicView.css.map
new file mode 100644
index 00000000000..e49de3e17ba
--- /dev/null
+++ b/apps/files_sharing/css/publicView.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","public.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;;;AAED;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;AAAA;AAGC;EACA;;;AAGD;EACC;;;AAIA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;AACA;EACC;EACA;;;AAIF;EACC;EACA;;;AAKD;EAII;IACC;;;AAQL;EAGG;IACC;;;ADjOJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AEEA;AAEA;EACA;IACC;;;AAGD;EACA;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;IACA;;;EAGD;IACI;IACA;;;EAEJ;IACC;;;EAGD;IACC","file":"publicView.css"} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/fi.js b/apps/files_sharing/l10n/fi.js
index 205d25bba6d..ea93581dc6d 100644
--- a/apps/files_sharing/l10n/fi.js
+++ b/apps/files_sharing/l10n/fi.js
@@ -135,6 +135,7 @@ OC.L10N.register(
"Accept user and group shares by default" : "Hyväksy käyttäjä- ja ryhmäjaot oletuksena",
"Set default folder for accepted shares" : "Aseta oletuskansio hyväksytyille jaoille",
"Reset" : "Palauta",
+ "Reset folder to system default" : "Palauta kansio järjestelmän oletukseksi",
"Choose a default folder for accepted shares" : "Valitse oletuskansio hyväksytyille jaoille",
"Invalid path selected" : "Virheellinen polku valittu",
"Unknown error" : "Tuntematon virhe",
diff --git a/apps/files_sharing/l10n/fi.json b/apps/files_sharing/l10n/fi.json
index 106c342d3b3..6d2add5ccd7 100644
--- a/apps/files_sharing/l10n/fi.json
+++ b/apps/files_sharing/l10n/fi.json
@@ -133,6 +133,7 @@
"Accept user and group shares by default" : "Hyväksy käyttäjä- ja ryhmäjaot oletuksena",
"Set default folder for accepted shares" : "Aseta oletuskansio hyväksytyille jaoille",
"Reset" : "Palauta",
+ "Reset folder to system default" : "Palauta kansio järjestelmän oletukseksi",
"Choose a default folder for accepted shares" : "Valitse oletuskansio hyväksytyille jaoille",
"Invalid path selected" : "Virheellinen polku valittu",
"Unknown error" : "Tuntematon virhe",
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index 954a4ae6b9d..6d18cd5d0a4 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -124,6 +124,7 @@ OC.L10N.register(
"Could not lock path" : "Impossible de verrouiller le chemin",
"Wrong or no update parameter given" : "Mauvais ou aucun paramètre donné ",
"Share must at least have READ or CREATE permissions" : "Le partage nécessite de disposer à minima des permissions de LECTURE et de CREATION",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Le partage doit disposer de l'autorisation LECTURE si l'autorisation METTRE À JOUR ou SUPPRIMER est définie",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"L'envoi du mot de passe par Nextcloud Talk\" pour partager un fichier a échoué car Nextcloud Talk n'est pas activé",
"shared by %s" : "partagé par %s",
"Download all files" : "Télécharger tous les fichiers",
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index 40cc861d562..84b2d46fd36 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -122,6 +122,7 @@
"Could not lock path" : "Impossible de verrouiller le chemin",
"Wrong or no update parameter given" : "Mauvais ou aucun paramètre donné ",
"Share must at least have READ or CREATE permissions" : "Le partage nécessite de disposer à minima des permissions de LECTURE et de CREATION",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Le partage doit disposer de l'autorisation LECTURE si l'autorisation METTRE À JOUR ou SUPPRIMER est définie",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"L'envoi du mot de passe par Nextcloud Talk\" pour partager un fichier a échoué car Nextcloud Talk n'est pas activé",
"shared by %s" : "partagé par %s",
"Download all files" : "Télécharger tous les fichiers",
diff --git a/apps/files_sharing/l10n/pt_PT.js b/apps/files_sharing/l10n/pt_PT.js
index 8aabab76b2e..ece7c5fc2b3 100644
--- a/apps/files_sharing/l10n/pt_PT.js
+++ b/apps/files_sharing/l10n/pt_PT.js
@@ -73,6 +73,7 @@ OC.L10N.register(
"Wrong share ID, share doesn't exist" : "Id. de partilha errada, a partilha não existe",
"Could not delete share" : "Não foi possível eliminar a partilha",
"Please specify a file or folder path" : "Por favor, especifique um ficheiro ou caminho de pasta",
+ "Wrong path, file/folder does not exist" : "Caminho errado, ficheiro/pasta não existe",
"Could not create share" : "Não foi possível criar partilha",
"Please specify a valid user" : "Por favor, especifique um utilizador válido",
"Group sharing is disabled by the administrator" : "A partilha em grupo está desativada pelo administrador",
diff --git a/apps/files_sharing/l10n/pt_PT.json b/apps/files_sharing/l10n/pt_PT.json
index 746b829d403..44786e2202a 100644
--- a/apps/files_sharing/l10n/pt_PT.json
+++ b/apps/files_sharing/l10n/pt_PT.json
@@ -71,6 +71,7 @@
"Wrong share ID, share doesn't exist" : "Id. de partilha errada, a partilha não existe",
"Could not delete share" : "Não foi possível eliminar a partilha",
"Please specify a file or folder path" : "Por favor, especifique um ficheiro ou caminho de pasta",
+ "Wrong path, file/folder does not exist" : "Caminho errado, ficheiro/pasta não existe",
"Could not create share" : "Não foi possível criar partilha",
"Please specify a valid user" : "Por favor, especifique um utilizador válido",
"Group sharing is disabled by the administrator" : "A partilha em grupo está desativada pelo administrador",
diff --git a/apps/files_sharing/l10n/sk.js b/apps/files_sharing/l10n/sk.js
index 8752d5ff60d..295a90be3c1 100644
--- a/apps/files_sharing/l10n/sk.js
+++ b/apps/files_sharing/l10n/sk.js
@@ -101,6 +101,7 @@ OC.L10N.register(
"Wrong share ID, share doesn't exist" : "Neplatné ID sprístupnenia, sprístupnenie neexistuje",
"Could not delete share" : "Nie je možné zmazať sprístupnenie",
"Please specify a file or folder path" : "Zvoľte prosím súbor alebo cestu k priečinku",
+ "Wrong path, file/folder does not exist" : "Neplatná cesta, súbor alebo priečinok neexistuje",
"Could not create share" : "Nie je možné sprístupniť",
"Invalid permissions" : "Neplatné oprávnenia",
"Please specify a valid user" : "Zvoľte prosím platného používateľa",
@@ -123,6 +124,7 @@ OC.L10N.register(
"Could not lock path" : "Nie je možné uzamknúť cestu",
"Wrong or no update parameter given" : "Zlý alebo žiadny zadaný parameter aktualizácie",
"Share must at least have READ or CREATE permissions" : "Zdieľanie musí mať aspoň povolenia READ alebo CREATE",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Ak je nastavené oprávnenie UPDATE alebo DELETE, zdieľanie musí mať povolenie READ.",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Odoslanie hesla cez Nextcloud Talk\" pre zdieľanie súboru alebo priečinka zlyhalo, pretože Nextcloud Talk nie je zapnutý.",
"shared by %s" : "Sprístupnil %s",
"Download all files" : "Stiahnuť všetky súbory",
diff --git a/apps/files_sharing/l10n/sk.json b/apps/files_sharing/l10n/sk.json
index 7ad5d80987f..29a44653668 100644
--- a/apps/files_sharing/l10n/sk.json
+++ b/apps/files_sharing/l10n/sk.json
@@ -99,6 +99,7 @@
"Wrong share ID, share doesn't exist" : "Neplatné ID sprístupnenia, sprístupnenie neexistuje",
"Could not delete share" : "Nie je možné zmazať sprístupnenie",
"Please specify a file or folder path" : "Zvoľte prosím súbor alebo cestu k priečinku",
+ "Wrong path, file/folder does not exist" : "Neplatná cesta, súbor alebo priečinok neexistuje",
"Could not create share" : "Nie je možné sprístupniť",
"Invalid permissions" : "Neplatné oprávnenia",
"Please specify a valid user" : "Zvoľte prosím platného používateľa",
@@ -121,6 +122,7 @@
"Could not lock path" : "Nie je možné uzamknúť cestu",
"Wrong or no update parameter given" : "Zlý alebo žiadny zadaný parameter aktualizácie",
"Share must at least have READ or CREATE permissions" : "Zdieľanie musí mať aspoň povolenia READ alebo CREATE",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Ak je nastavené oprávnenie UPDATE alebo DELETE, zdieľanie musí mať povolenie READ.",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Odoslanie hesla cez Nextcloud Talk\" pre zdieľanie súboru alebo priečinka zlyhalo, pretože Nextcloud Talk nie je zapnutý.",
"shared by %s" : "Sprístupnil %s",
"Download all files" : "Stiahnuť všetky súbory",
diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js
index 468d29ad14c..5fa04f520be 100644
--- a/apps/files_sharing/l10n/tr.js
+++ b/apps/files_sharing/l10n/tr.js
@@ -152,7 +152,7 @@ OC.L10N.register(
"Allow editing" : "Düzenlemeye izin ver",
"Read only" : "Salt okunur",
"Allow upload and editing" : "Yüklenebilsin ve düzenlenebilsin",
- "File drop (upload only)" : "Dosya bırakma (yalnız yükleme)",
+ "File drop (upload only)" : "Dosya bırakma (yalnızca yükleme)",
"Custom permissions" : "Özel izinler",
"Read" : "Okuma",
"Upload" : "Yükleme",
@@ -180,8 +180,8 @@ OC.L10N.register(
"Link copied" : "Bağlantı kopyalandı",
"Cannot copy, please copy the link manually" : "Kopyalanamadı. Lütfen bağlantıyı el ile kopyalayın",
"Copy to clipboard" : "Panoya kopyala",
- "Only works for users with access to this folder" : "Yalnız bu klasöre erişebilen kullanıcılar için geçerlidir",
- "Only works for users with access to this file" : "Yalnız bu dosyaya erişebilen kullanıcılar için geçerlidir",
+ "Only works for users with access to this folder" : "Yalnızca bu klasöre erişebilen kullanıcılar için geçerlidir",
+ "Only works for users with access to this file" : "Yalnızca bu dosyaya erişebilen kullanıcılar için geçerlidir",
"Please enter the following required information before creating the share" : "Lütfen paylaşımı oluşturmadan önce aşağıdaki zorunlu bilgileri yazın",
"Password protection (enforced)" : "Parola koruması (dayatılmış)",
"Password protection" : "Parola koruması",
diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json
index c24c84ea4e2..5bbb937b43d 100644
--- a/apps/files_sharing/l10n/tr.json
+++ b/apps/files_sharing/l10n/tr.json
@@ -150,7 +150,7 @@
"Allow editing" : "Düzenlemeye izin ver",
"Read only" : "Salt okunur",
"Allow upload and editing" : "Yüklenebilsin ve düzenlenebilsin",
- "File drop (upload only)" : "Dosya bırakma (yalnız yükleme)",
+ "File drop (upload only)" : "Dosya bırakma (yalnızca yükleme)",
"Custom permissions" : "Özel izinler",
"Read" : "Okuma",
"Upload" : "Yükleme",
@@ -178,8 +178,8 @@
"Link copied" : "Bağlantı kopyalandı",
"Cannot copy, please copy the link manually" : "Kopyalanamadı. Lütfen bağlantıyı el ile kopyalayın",
"Copy to clipboard" : "Panoya kopyala",
- "Only works for users with access to this folder" : "Yalnız bu klasöre erişebilen kullanıcılar için geçerlidir",
- "Only works for users with access to this file" : "Yalnız bu dosyaya erişebilen kullanıcılar için geçerlidir",
+ "Only works for users with access to this folder" : "Yalnızca bu klasöre erişebilen kullanıcılar için geçerlidir",
+ "Only works for users with access to this file" : "Yalnızca bu dosyaya erişebilen kullanıcılar için geçerlidir",
"Please enter the following required information before creating the share" : "Lütfen paylaşımı oluşturmadan önce aşağıdaki zorunlu bilgileri yazın",
"Password protection (enforced)" : "Parola koruması (dayatılmış)",
"Password protection" : "Parola koruması",
diff --git a/apps/files_sharing/lib/MountProvider.php b/apps/files_sharing/lib/MountProvider.php
index bfb40387622..d27f9e5e0da 100644
--- a/apps/files_sharing/lib/MountProvider.php
+++ b/apps/files_sharing/lib/MountProvider.php
@@ -109,6 +109,7 @@ class MountProvider implements IMountProvider {
$view = new View('/' . $user->getUID() . '/files');
$ownerViews = [];
$sharingDisabledForUser = $this->shareManager->sharingDisabledForUser($user->getUID());
+ /** @var CappedMemoryCache<bool> $folderExistCache */
$foldersExistCache = new CappedMemoryCache();
foreach ($superShares as $share) {
try {
diff --git a/apps/files_sharing/lib/SharedMount.php b/apps/files_sharing/lib/SharedMount.php
index 398da5eaf23..95ff66c4b71 100644
--- a/apps/files_sharing/lib/SharedMount.php
+++ b/apps/files_sharing/lib/SharedMount.php
@@ -96,6 +96,7 @@ class SharedMount extends MountPoint implements MoveableMount {
*
* @param \OCP\Share\IShare $share
* @param SharedMount[] $mountpoints
+ * @param CappedMemoryCache<bool> $folderExistCache
* @return string
*/
private function verifyMountPoint(
diff --git a/apps/files_sharing/src/components/SharingInput.vue b/apps/files_sharing/src/components/SharingInput.vue
index 02c1f27f173..9cb40697636 100644
--- a/apps/files_sharing/src/components/SharingInput.vue
+++ b/apps/files_sharing/src/components/SharingInput.vue
@@ -528,7 +528,7 @@ export default {
.multiselect__option {
span[lookup] {
.avatardiv {
- background-image: var(--icon-search-fff);
+ background-image: var(--icon-search-white);
background-repeat: no-repeat;
background-position: center;
background-color: var(--color-text-maxcontrast) !important;
diff --git a/apps/files_trashbin/l10n/fr.js b/apps/files_trashbin/l10n/fr.js
index 23f5d61a3e1..5b14973851f 100644
--- a/apps/files_trashbin/l10n/fr.js
+++ b/apps/files_trashbin/l10n/fr.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Fichiers supprimés",
"restored" : "restauré",
+ "Deleted files and folders in the trash bin" : "Fichiers et dossiers supprimés dans la corbeille",
"This application enables users to restore files that were deleted from the system." : "Cette application permet aux utilisateurs de restaurer des fichiers qui ont été supprimés du système.",
"This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cette application permet aux utilisateurs de restaurer les fichiers qui ont été supprimés du système. Il affiche une liste de fichiers supprimés dans l'interface Web et dispose d'options pour restaurer ces fichiers supprimés dans les répertoires de fichiers des utilisateurs ou les supprimer définitivement du système. La restauration d'un fichier restaure également les versions de fichiers associées, si l'application de versions est activée. Lorsqu'un fichier est supprimé d'un partage, il peut être restauré de la même manière, bien qu'il ne soit plus partagé. Par défaut, ces fichiers restent dans la corbeille pendant 30 jours.\n\nPour empêcher un utilisateur de manquer d'espace disque, l'application Fichiers supprimés n'utilisera pas plus de 50% du quota gratuit actuellement disponible pour les fichiers supprimés. Si les fichiers supprimés dépassent cette limite, l'application supprime les fichiers les plus anciens jusqu'à ce qu'elle soit inférieure à cette limite. Plus d'informations sont disponibles dans la documentation Fichiers supprimés.",
"Restore" : "Restaurer",
diff --git a/apps/files_trashbin/l10n/fr.json b/apps/files_trashbin/l10n/fr.json
index 04f4c1dcdad..5b7be2859a4 100644
--- a/apps/files_trashbin/l10n/fr.json
+++ b/apps/files_trashbin/l10n/fr.json
@@ -1,6 +1,7 @@
{ "translations": {
"Deleted files" : "Fichiers supprimés",
"restored" : "restauré",
+ "Deleted files and folders in the trash bin" : "Fichiers et dossiers supprimés dans la corbeille",
"This application enables users to restore files that were deleted from the system." : "Cette application permet aux utilisateurs de restaurer des fichiers qui ont été supprimés du système.",
"This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cette application permet aux utilisateurs de restaurer les fichiers qui ont été supprimés du système. Il affiche une liste de fichiers supprimés dans l'interface Web et dispose d'options pour restaurer ces fichiers supprimés dans les répertoires de fichiers des utilisateurs ou les supprimer définitivement du système. La restauration d'un fichier restaure également les versions de fichiers associées, si l'application de versions est activée. Lorsqu'un fichier est supprimé d'un partage, il peut être restauré de la même manière, bien qu'il ne soit plus partagé. Par défaut, ces fichiers restent dans la corbeille pendant 30 jours.\n\nPour empêcher un utilisateur de manquer d'espace disque, l'application Fichiers supprimés n'utilisera pas plus de 50% du quota gratuit actuellement disponible pour les fichiers supprimés. Si les fichiers supprimés dépassent cette limite, l'application supprime les fichiers les plus anciens jusqu'à ce qu'elle soit inférieure à cette limite. Plus d'informations sont disponibles dans la documentation Fichiers supprimés.",
"Restore" : "Restaurer",
diff --git a/apps/files_trashbin/l10n/ja.js b/apps/files_trashbin/l10n/ja.js
index 74ad9016862..2c1b13d68f7 100644
--- a/apps/files_trashbin/l10n/ja.js
+++ b/apps/files_trashbin/l10n/ja.js
@@ -3,10 +3,16 @@ OC.L10N.register(
{
"Deleted files" : "ゴミ箱",
"restored" : "復元済",
+ "Deleted files and folders in the trash bin" : "ゴミ箱内の削除されたファイルやフォルダー",
"This application enables users to restore files that were deleted from the system." : "このアプリケーションを使用すると、ユーザーはシステムから削除されたファイルを復元できます。",
"This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。削除されたファイルのリストがWebインターフェイスに表示され、削除されたファイルをユーザーのファイルディレクトリに復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると、関連するファイルバージョンも復元されます。共有から削除されたファイルは、共有されなくなりますが、同じ方法で復元できます。デフォルトでは、ファイルは30日間ごみ箱に残ります。\nディスク領域圧迫を防ぐため、 「削除済みファイル」 アプリでは、削除済みファイルに現在使用可能な割当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限を下回るまで最も古いファイルが削除されます。詳細については、削除済みファイルのマニュアルを参照してください。",
"Restore" : "復元",
"Delete permanently" : "完全に削除する",
+ "Error while restoring file from trash bin" : "ごみ箱からファイルを復元中にエラーが発生しました",
+ "Error while removing file from trash bin" : "ごみ箱からファイルを削除中にエラーが発生しました",
+ "Error while restoring files from trash bin" : "ごみ箱からファイルを復元中にエラーが発生しました",
+ "Error while emptying trash bin" : "ごみ箱を空にする際にエラーが発生しました",
+ "Error while removing files from trash bin" : "ごみ箱からファイルを削除中にエラーが発生しました",
"This operation is forbidden" : "この操作は禁止されています",
"This directory is unavailable, please check the logs or contact the administrator" : "このディレクトリは利用できません。ログを確認するか管理者に問い合わせてください。",
"No deleted files" : "削除されたファイルはありません",
diff --git a/apps/files_trashbin/l10n/ja.json b/apps/files_trashbin/l10n/ja.json
index 0d1026b8c82..9916975843f 100644
--- a/apps/files_trashbin/l10n/ja.json
+++ b/apps/files_trashbin/l10n/ja.json
@@ -1,10 +1,16 @@
{ "translations": {
"Deleted files" : "ゴミ箱",
"restored" : "復元済",
+ "Deleted files and folders in the trash bin" : "ゴミ箱内の削除されたファイルやフォルダー",
"This application enables users to restore files that were deleted from the system." : "このアプリケーションを使用すると、ユーザーはシステムから削除されたファイルを復元できます。",
"This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。削除されたファイルのリストがWebインターフェイスに表示され、削除されたファイルをユーザーのファイルディレクトリに復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると、関連するファイルバージョンも復元されます。共有から削除されたファイルは、共有されなくなりますが、同じ方法で復元できます。デフォルトでは、ファイルは30日間ごみ箱に残ります。\nディスク領域圧迫を防ぐため、 「削除済みファイル」 アプリでは、削除済みファイルに現在使用可能な割当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限を下回るまで最も古いファイルが削除されます。詳細については、削除済みファイルのマニュアルを参照してください。",
"Restore" : "復元",
"Delete permanently" : "完全に削除する",
+ "Error while restoring file from trash bin" : "ごみ箱からファイルを復元中にエラーが発生しました",
+ "Error while removing file from trash bin" : "ごみ箱からファイルを削除中にエラーが発生しました",
+ "Error while restoring files from trash bin" : "ごみ箱からファイルを復元中にエラーが発生しました",
+ "Error while emptying trash bin" : "ごみ箱を空にする際にエラーが発生しました",
+ "Error while removing files from trash bin" : "ごみ箱からファイルを削除中にエラーが発生しました",
"This operation is forbidden" : "この操作は禁止されています",
"This directory is unavailable, please check the logs or contact the administrator" : "このディレクトリは利用できません。ログを確認するか管理者に問い合わせてください。",
"No deleted files" : "削除されたファイルはありません",
diff --git a/apps/oauth2/lib/Db/Client.php b/apps/oauth2/lib/Db/Client.php
index f0cac4bed33..78f3d966928 100644
--- a/apps/oauth2/lib/Db/Client.php
+++ b/apps/oauth2/lib/Db/Client.php
@@ -47,8 +47,8 @@ class Client extends Entity {
public function __construct() {
$this->addType('id', 'int');
$this->addType('name', 'string');
- $this->addType('redirect_uri', 'string');
- $this->addType('client_identifier', 'string');
+ $this->addType('redirectUri', 'string');
+ $this->addType('clientIdentifier', 'string');
$this->addType('secret', 'string');
}
}
diff --git a/apps/settings/css/settings.css b/apps/settings/css/settings.css
new file mode 100644
index 00000000000..32bd6599f62
--- /dev/null
+++ b/apps/settings/css/settings.css
@@ -0,0 +1,1598 @@
+@charset "UTF-8";
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/* Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
+ This file is licensed under the Affero General Public License version 3 or later.
+ See the COPYING-README file. */
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @see core/src/icons.js
+ */
+/**
+ * SVG COLOR API
+ *
+ * @param string $icon the icon filename
+ * @param string $dir the icon folder within /core/img if $core or app name
+ * @param string $color the desired color in hexadecimal
+ * @param int $version the version of the file
+ * @param bool [$core] search icon in core
+ *
+ * @returns A background image with the url to the set to the requested icon.
+ */
+input#openid, input#webdav {
+ width: 20em;
+}
+
+/* PERSONAL */
+.clear {
+ clear: both;
+}
+
+/* icons for sidebar */
+.nav-icon-personal-settings {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-personal-dark);
+}
+
+.nav-icon-security {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-toggle-filelist-dark);
+}
+
+.nav-icon-clientsbox {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-change-dark);
+}
+
+.nav-icon-federated-cloud {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-share-dark);
+}
+
+.nav-icon-second-factor-backup-codes, .nav-icon-ssl-root-certificate {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-password-dark);
+}
+
+#avatarform .avatardiv {
+ margin: 10px auto;
+}
+#avatarform .warning {
+ width: 100%;
+}
+#avatarform .jcrop-keymgr {
+ display: none !important;
+}
+
+#displayavatar {
+ text-align: center;
+}
+
+#uploadavatarbutton, #selectavatar, #removeavatar {
+ padding: 21px;
+}
+
+#selectavatar, #removeavatar {
+ vertical-align: top;
+}
+
+.jcrop-holder {
+ z-index: 500;
+}
+
+#cropper {
+ float: left;
+ z-index: 500;
+ /* float cropper above settings page to prevent unexpected flowing from dynamically sized element */
+ position: fixed;
+ background-color: rgba(0, 0, 0, 0.2);
+ box-sizing: border-box;
+ top: 45px;
+ left: 0;
+ width: 100%;
+ height: calc(100% - 45px);
+}
+#cropper .inner-container {
+ z-index: 2001;
+ /* above the top bar if needed */
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ background: #fff;
+ color: #333;
+ border-radius: var(--border-radius-large);
+ box-shadow: 0 0 10px var(--color-box-shadow);
+ padding: 15px;
+}
+#cropper .inner-container .jcrop-holder,
+#cropper .inner-container .jcrop-holder img,
+#cropper .inner-container img.jcrop-preview {
+ border-radius: var(--border-radius);
+}
+#cropper .inner-container .button {
+ margin-top: 15px;
+}
+#cropper .inner-container .primary {
+ float: right;
+}
+
+#personal-settings-avatar-container {
+ display: inline-grid;
+ grid-template-columns: 1fr;
+ grid-template-rows: 2fr 1fr 2fr;
+ vertical-align: top;
+}
+
+.profile-settings-container {
+ display: inline-grid;
+ grid-template-columns: 1fr;
+ grid-template-rows: 1fr 1fr 1fr 2fr;
+}
+.profile-settings-container #locale h3 {
+ height: 32px;
+}
+
+.personal-show-container {
+ width: 100%;
+}
+
+.personal-settings-setting-box .section {
+ padding: 10px 30px;
+}
+.personal-settings-setting-box .section h3 {
+ margin-bottom: 0;
+}
+.personal-settings-setting-box .section input[type=text], .personal-settings-setting-box .section input[type=email], .personal-settings-setting-box .section input[type=tel], .personal-settings-setting-box .section input[type=url] {
+ width: 100%;
+}
+
+select#timezone, select#languageinput, select#localeinput {
+ width: 100%;
+}
+
+#personal-settings {
+ display: grid;
+ padding: 20px;
+ max-width: 1500px;
+ grid-template-columns: 1fr 2fr 1fr;
+}
+#personal-settings .section {
+ padding: 10px 10px;
+ border: 0;
+}
+#personal-settings .section h2 {
+ margin-bottom: 12px;
+}
+#personal-settings .personal-info {
+ margin-right: 10%;
+ margin-bottom: 12px;
+ margin-top: 12px;
+}
+#personal-settings .personal-info[class^=icon-], #personal-settings .personal-info[class*=" icon-"] {
+ background-position: 0px 2px;
+ padding-left: 30px;
+ opacity: 0.7;
+}
+
+.development-notice {
+ text-align: center;
+}
+
+.link-button {
+ display: inline-block;
+ margin: 16px;
+ padding: 14px 20px;
+ background-color: var(--color-primary);
+ color: #fff;
+ border-radius: var(--border-radius-pill);
+ border: 1px solid var(--color-primary);
+ box-shadow: 0 2px 9px var(--color-box-shadow);
+}
+.link-button:active, .link-button:hover, .link-button:focus {
+ color: var(--color-primary);
+ background-color: var(--color-primary-text);
+ border-color: var(--color-primary) !important;
+}
+.link-button.icon-file {
+ padding-left: 48px;
+ background-position: 24px;
+}
+
+@media (min-width: 1200px) and (max-width: 1400px) {
+ #personal-settings {
+ display: grid;
+ grid-template-columns: 1fr 2fr;
+ }
+ #personal-settings #personal-settings-avatar-container {
+ grid-template-columns: 1fr;
+ grid-template-rows: 1fr;
+ }
+ #personal-settings .personal-settings-container {
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: 1fr 1fr 1fr 1fr;
+ }
+ #personal-settings .profile-settings-container {
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: 1fr;
+ grid-column: 2;
+ }
+}
+@media (max-width: 1200px) {
+ #personal-settings {
+ display: grid;
+ grid-template-columns: 1fr;
+ }
+ #personal-settings #personal-settings-avatar-container {
+ grid-template-rows: 1fr;
+ }
+ #personal-settings .personal-settings-container {
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: 1fr 1fr 1fr 1fr;
+ }
+ #personal-settings .profile-settings-container {
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: 1fr;
+ }
+}
+@media (max-width: 560px) {
+ #personal-settings {
+ display: grid;
+ grid-template-columns: 1fr;
+ }
+ #personal-settings #personal-settings-avatar-container {
+ grid-template-rows: 1fr;
+ }
+ #personal-settings .personal-settings-container {
+ grid-template-columns: 1fr;
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
+ }
+ #personal-settings .profile-settings-container {
+ grid-template-columns: 1fr;
+ grid-template-rows: 1fr 1fr;
+ }
+}
+.personal-settings-container {
+ display: inline-grid;
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
+}
+.personal-settings-container:after {
+ clear: both;
+}
+.personal-settings-container > div h3 {
+ position: relative;
+ display: inline-flex;
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ width: 100%;
+}
+.personal-settings-container > div h3 > label {
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+.personal-settings-container > div > form span[class^=icon-checkmark], .personal-settings-container > div > form span[class^=icon-error] {
+ position: relative;
+ right: 8px;
+ top: -28px;
+ pointer-events: none;
+ float: right;
+}
+.personal-settings-container .verify {
+ position: relative;
+ left: 100%;
+ top: 0;
+ height: 0;
+}
+.personal-settings-container .verify img {
+ padding: 12px 7px 6px;
+}
+.personal-settings-container .verify-action {
+ cursor: pointer;
+}
+.personal-settings-container input:disabled {
+ background-color: white;
+ color: black;
+ border: none;
+ opacity: 100;
+}
+
+#body-settings #quota {
+ cursor: default;
+ position: relative;
+}
+#body-settings #quota progress {
+ height: 6px;
+}
+#body-settings #quota progress::-moz-progress-bar {
+ border-radius: 3px 0 0 3px;
+}
+#body-settings #quota progress::-webkit-progress-value {
+ border-radius: 3px 0 0 3px;
+}
+#body-settings #quota div {
+ font-weight: normal;
+ white-space: nowrap;
+}
+
+/* verify accounts */
+/* only show pointer cursor when popup will be there */
+.verification-dialog {
+ display: none;
+ right: -9px;
+ top: 40px;
+ width: 275px;
+}
+.verification-dialog p {
+ padding: 10px;
+}
+.verification-dialog .verificationCode {
+ font-family: monospace;
+ display: block;
+ overflow-wrap: break-word;
+}
+
+.federation-menu {
+ position: relative;
+ cursor: pointer;
+ width: 44px;
+ height: 44px;
+ padding: 10px;
+ margin: -12px 0 0 8px;
+ background: none;
+ border: none;
+}
+.federation-menu:hover, .federation-menu:focus {
+ background-color: var(--color-background-hover);
+ border-radius: var(--border-radius-pill);
+}
+.federation-menu:hover .icon-federation-menu, .federation-menu:focus .icon-federation-menu {
+ opacity: 0.8;
+}
+.federation-menu .icon-federation-menu {
+ padding-left: 16px;
+ background-size: 16px;
+ background-position: left center;
+ opacity: 0.3;
+ cursor: inherit;
+}
+.federation-menu .icon-federation-menu .icon-triangle-s {
+ display: inline-block;
+ vertical-align: middle;
+ cursor: inherit;
+}
+.federation-menu .federationScopeMenu {
+ top: 44px;
+}
+.federation-menu .federationScopeMenu.popovermenu .menuitem {
+ font-size: 12.8px;
+ line-height: 1.6em;
+}
+.federation-menu .federationScopeMenu.popovermenu .menuitem .menuitem-text-detail {
+ opacity: 0.75;
+}
+.federation-menu .federationScopeMenu.popovermenu .menuitem.active {
+ box-shadow: inset 2px 0 var(--color-primary);
+}
+.federation-menu .federationScopeMenu.popovermenu .menuitem.active .menuitem-text {
+ font-weight: bold;
+}
+.federation-menu .federationScopeMenu.popovermenu .menuitem.disabled {
+ opacity: 0.5;
+ cursor: default;
+}
+.federation-menu .federationScopeMenu.popovermenu .menuitem.disabled * {
+ cursor: default;
+}
+
+#groups-groups {
+ padding-top: 5px;
+}
+
+.clientsbox img {
+ height: 60px;
+}
+
+#sslCertificate tr.expired {
+ background-color: rgba(255, 0, 0, 0.5);
+}
+#sslCertificate td {
+ padding: 5px;
+}
+
+#displaynameerror,
+#displaynamechanged {
+ display: none;
+}
+
+input#identity {
+ width: 20em;
+}
+
+#showWizard {
+ display: inline-block;
+}
+
+.msg.success {
+ color: #fff;
+ background-color: #47a447;
+ padding: 3px;
+}
+.msg.error {
+ color: #fff;
+ background-color: #d2322d;
+ padding: 3px;
+}
+
+table.nostyle label {
+ margin-right: 2em;
+}
+table.nostyle td {
+ padding: 0.2em 0;
+}
+
+#security-password #passwordform {
+ display: flex;
+ flex-wrap: wrap;
+}
+#security-password #passwordform #pass1, #security-password #passwordform .personal-show-container, #security-password #passwordform #passwordbutton {
+ flex-shrink: 1;
+ width: 200px;
+ min-width: 150px;
+}
+#security-password #passwordform #pass2 {
+ width: 100%;
+}
+#security-password #passwordform .password-state {
+ display: inline-block;
+}
+#security-password #passwordform .strengthify-wrapper {
+ position: absolute;
+ left: 0;
+ width: 100%;
+ border-radius: 0 0 2px 2px;
+ margin-top: -6px;
+ overflow: hidden;
+ height: 3px;
+}
+
+/* Two-Factor Authentication (2FA) */
+#two-factor-auth h3 {
+ margin-top: 24px;
+}
+#two-factor-auth li > div {
+ margin-left: 20px;
+}
+#two-factor-auth .two-factor-provider-settings-icon {
+ width: 16px;
+ height: 16px;
+ vertical-align: sub;
+}
+
+.social-button {
+ padding-left: 0 !important;
+ margin-left: -10px;
+}
+.social-button img {
+ padding: 10px;
+}
+
+/* USERS */
+.isgroup .groupname {
+ width: 85%;
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.isgroup.active .groupname {
+ width: 65%;
+}
+
+li.active .delete,
+li.active .rename {
+ display: block;
+}
+
+.app-navigation-entry-utils .delete,
+.app-navigation-entry-utils .rename {
+ display: none;
+}
+
+#usersearchform {
+ position: absolute;
+ top: 2px;
+ right: 0;
+}
+#usersearchform input {
+ width: 150px;
+}
+#usersearchform label {
+ font-weight: bold;
+}
+
+/* display table at full width */
+table.grid {
+ width: 100%;
+}
+table.grid th {
+ height: 2em;
+ color: #999;
+ border-bottom: 1px solid var(--color-border);
+ padding: 0 0.5em;
+ padding-left: 0.8em;
+ text-align: left;
+ font-weight: normal;
+}
+table.grid td {
+ border-bottom: 1px solid var(--color-border);
+ padding: 0 0.5em;
+ padding-left: 0.8em;
+ text-align: left;
+ font-weight: normal;
+}
+
+td.name, th.name {
+ padding-left: 0.8em;
+ min-width: 5em;
+ max-width: 12em;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+td.password, th.password {
+ padding-left: 0.8em;
+}
+td.password > img, th.password > img {
+ visibility: hidden;
+}
+td.displayName > img, th.displayName > img {
+ visibility: hidden;
+}
+td.password, td.mailAddress, th.password, th.mailAddress {
+ min-width: 5em;
+ max-width: 12em;
+ cursor: pointer;
+}
+td.password span, td.mailAddress span, th.password span, th.mailAddress span {
+ width: 90%;
+ display: inline-block;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+td.mailAddress, th.mailAddress {
+ cursor: pointer;
+}
+td.password > span, th.password > span {
+ margin-right: 1.2em;
+ color: #C7C7C7;
+}
+
+span.usersLastLoginTooltip {
+ white-space: nowrap;
+}
+
+/* APPS */
+#app-content > svg.app-filter {
+ float: left;
+ height: 0;
+ width: 0;
+}
+
+#app-category-app-bundles {
+ margin-bottom: 20px;
+}
+
+.appinfo {
+ margin: 1em 40px;
+}
+
+#app-navigation {
+ /* Navigation icons */
+}
+#app-navigation img {
+ margin-bottom: -3px;
+ margin-right: 6px;
+ width: 16px;
+}
+#app-navigation li span.no-icon {
+ padding-left: 32px;
+}
+#app-navigation ul li.active > span.utils .delete, #app-navigation ul li.active > span.utils .rename {
+ display: block;
+}
+#app-navigation .appwarning {
+ background: #fcc;
+}
+#app-navigation.appwarning:hover {
+ background: #fbb;
+}
+#app-navigation .app-external {
+ color: var(--color-text-maxcontrast);
+}
+
+span.version {
+ margin-left: 1em;
+ margin-right: 1em;
+ color: var(--color-text-maxcontrast);
+}
+
+.app-version {
+ color: var(--color-text-maxcontrast);
+}
+
+.app-level span {
+ color: var(--color-text-maxcontrast);
+ background-color: transparent;
+ border: 1px solid var(--color-text-maxcontrast);
+ border-radius: var(--border-radius);
+ padding: 3px 6px;
+}
+.app-level a {
+ padding: 10px;
+ margin: -6px;
+ white-space: nowrap;
+}
+.app-level .official {
+ background-position: left center;
+ background-position: 5px center;
+ padding-left: 25px;
+}
+.app-level .supported {
+ border-color: var(--color-success);
+ background-position: left center;
+ background-position: 5px center;
+ padding-left: 25px;
+ color: var(--color-success);
+}
+
+.app-score {
+ position: relative;
+ top: 4px;
+ opacity: 0.5;
+}
+
+.app-settings-content #searchresults {
+ display: none;
+}
+
+#apps-list.store .section {
+ border: 0;
+}
+#apps-list.store .app-name {
+ display: block;
+ margin: 5px 0;
+}
+#apps-list.store .app-name, #apps-list.store .app-image * {
+ cursor: pointer;
+}
+#apps-list.store .app-summary {
+ opacity: 0.7;
+}
+#apps-list.store .app-image-icon .icon-settings-dark {
+ width: 100%;
+ height: 150px;
+ background-size: 45px;
+ opacity: 0.5;
+}
+#apps-list.store .app-score-image {
+ height: 14px;
+}
+#apps-list.store .actions {
+ margin-top: 10px;
+}
+
+#app-sidebar #app-details-view h2 .icon-settings-dark,
+#app-sidebar #app-details-view h2 svg {
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ margin-right: 10px;
+ opacity: 0.7;
+}
+#app-sidebar #app-details-view .app-level {
+ clear: right;
+ width: 100%;
+}
+#app-sidebar #app-details-view .app-level .supported,
+#app-sidebar #app-details-view .app-level .official {
+ vertical-align: top;
+}
+#app-sidebar #app-details-view .app-level .app-score-image {
+ float: right;
+}
+#app-sidebar #app-details-view .app-author, #app-sidebar #app-details-view .app-licence {
+ color: var(--color-text-maxcontrast);
+}
+#app-sidebar #app-details-view .app-dependencies {
+ margin: 10px 0;
+}
+#app-sidebar #app-details-view .app-description p {
+ margin: 10px 0;
+}
+#app-sidebar #app-details-view .close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ padding: 14px;
+ opacity: 0.5;
+ z-index: 1;
+ width: 44px;
+ height: 44px;
+}
+#app-sidebar #app-details-view .actions {
+ display: flex;
+ align-items: center;
+}
+#app-sidebar #app-details-view .actions .app-groups {
+ padding: 5px;
+}
+#app-sidebar #app-details-view .appslink {
+ text-decoration: underline;
+ margin-right: 5px;
+}
+#app-sidebar #app-details-view .app-level,
+#app-sidebar #app-details-view .actions,
+#app-sidebar #app-details-view .documentation,
+#app-sidebar #app-details-view .app-dependencies,
+#app-sidebar #app-details-view .app-description {
+ margin: 20px 0;
+}
+
+@media only screen and (min-width: 1601px) {
+ .store .section {
+ width: 25%;
+ }
+
+ .with-app-sidebar .store .section {
+ width: 33%;
+ }
+}
+@media only screen and (max-width: 1600px) {
+ .store .section {
+ width: 25%;
+ }
+
+ .with-app-sidebar .store .section {
+ width: 33%;
+ }
+}
+@media only screen and (max-width: 1400px) {
+ .store .section {
+ width: 33%;
+ }
+
+ .with-app-sidebar .store .section {
+ width: 50%;
+ }
+}
+@media only screen and (max-width: 900px) {
+ .store .section {
+ width: 50%;
+ }
+
+ .with-app-sidebar .store .section {
+ width: 100%;
+ }
+}
+@media only screen and (max-width: 1024px) {
+ .store .section {
+ width: 50%;
+ }
+}
+@media only screen and (max-width: 480px) {
+ .store .section {
+ width: 100%;
+ }
+}
+/* hide app version and level on narrower screens */
+@media only screen and (max-width: 900px) {
+ .apps-list.installed .app-version, .apps-list.installed .app-level {
+ display: none !important;
+ }
+}
+@media only screen and (max-width: 500px) {
+ .apps-list.installed .app-groups {
+ display: none !important;
+ }
+}
+#version.section {
+ border-bottom: none;
+}
+
+.section {
+ margin-bottom: 0;
+ /* section divider lines, none needed for last one */
+ /* correctly display help icons next to headings */
+}
+.section:not(:last-child) {
+ border-bottom: 1px solid var(--color-border);
+}
+.section h2 {
+ margin-bottom: 22px;
+}
+.section h2 .icon-info {
+ padding: 6px 20px;
+ vertical-align: text-bottom;
+ display: inline-block;
+}
+
+.followupsection {
+ display: block;
+ padding: 0 30px 30px 30px;
+ color: #555;
+}
+
+.app-image {
+ position: relative;
+ height: 150px;
+ opacity: 1;
+ overflow: hidden;
+}
+
+.app-name, .app-version, .app-score, .app-level {
+ display: inline-block;
+}
+
+.app-description-toggle-show, .app-description-toggle-hide {
+ clear: both;
+ padding: 7px 0;
+ cursor: pointer;
+ opacity: 0.5;
+}
+
+.app-description-container {
+ clear: both;
+ position: relative;
+ top: 7px;
+}
+
+.app-description {
+ clear: both;
+}
+
+#app-category-1 {
+ margin-bottom: 18px;
+}
+
+/* capitalize 'Other' category */
+#app-category-925 {
+ text-transform: capitalize;
+}
+
+.app-dependencies {
+ color: #ce3702;
+}
+
+.missing-dependencies {
+ list-style: initial;
+ list-style-type: initial;
+ list-style-position: inside;
+}
+
+.apps-list {
+ display: flex;
+ flex-wrap: wrap;
+ align-content: flex-start;
+ /* Bundle header */
+}
+.apps-list .section {
+ cursor: pointer;
+}
+.apps-list .app-list-move {
+ transition: transform 1s;
+}
+.apps-list #app-list-update-all {
+ margin-left: 10px;
+}
+.apps-list .toolbar {
+ height: 60px;
+ padding: 8px;
+ padding-left: 60px;
+ width: 100%;
+ background-color: var(--color-main-background);
+ position: fixed;
+ z-index: 1;
+ display: flex;
+ align-items: center;
+}
+.apps-list.installed {
+ margin-bottom: 100px;
+}
+.apps-list.installed .apps-list-container {
+ display: table;
+ width: 100%;
+ height: auto;
+ margin-top: 60px;
+}
+.apps-list.installed .section {
+ display: table-row;
+ padding: 0;
+ margin: 0;
+}
+.apps-list.installed .section > * {
+ display: table-cell;
+ height: initial;
+ vertical-align: middle;
+ float: none;
+ border-bottom: 1px solid var(--color-border);
+ padding: 6px;
+ box-sizing: border-box;
+}
+.apps-list.installed .section.selected {
+ background-color: var(--color-background-dark);
+}
+.apps-list.installed .groups-enable {
+ margin-top: 0;
+}
+.apps-list.installed .groups-enable label {
+ margin-right: 3px;
+}
+.apps-list.installed .app-image {
+ width: 44px;
+ height: auto;
+ text-align: right;
+}
+.apps-list.installed .app-image-icon svg,
+.apps-list.installed .app-image-icon .icon-settings-dark {
+ margin-top: 5px;
+ width: 20px;
+ height: 20px;
+ opacity: 0.5;
+ background-size: cover;
+ display: inline-block;
+}
+.apps-list.installed .actions {
+ text-align: right;
+}
+.apps-list.installed .actions .icon-loading-small {
+ display: inline-block;
+ top: 4px;
+ margin-right: 10px;
+}
+.apps-list:not(.installed) .app-image-icon svg {
+ position: absolute;
+ bottom: 43px;
+ /* position halfway vertically */
+ width: 64px;
+ height: 64px;
+ opacity: 0.1;
+}
+.apps-list.hidden {
+ display: none;
+}
+.apps-list .section {
+ position: relative;
+ flex: 0 0 auto;
+}
+.apps-list .section h2.app-name {
+ display: block;
+ margin: 8px 0;
+}
+.apps-list .section:hover {
+ background-color: var(--color-background-dark);
+}
+.apps-list .app-description p {
+ margin: 10px 0;
+}
+.apps-list .app-description ul {
+ list-style: disc;
+}
+.apps-list .app-description ol {
+ list-style: decimal;
+}
+.apps-list .app-description ol ol, .apps-list .app-description ol ul {
+ padding-left: 15px;
+}
+.apps-list .app-description > ul, .apps-list .app-description > ol {
+ margin-left: 19px;
+}
+.apps-list .app-description ul ol, .apps-list .app-description ul ul {
+ padding-left: 15px;
+}
+.apps-list .apps-header {
+ display: table-row;
+ position: relative;
+}
+.apps-list .apps-header div {
+ display: table-cell;
+ height: 70px;
+}
+.apps-list .apps-header h2 {
+ display: table-cell;
+ position: absolute;
+ padding-left: 6px;
+ padding-top: 15px;
+}
+.apps-list .apps-header h2 .enable {
+ position: relative;
+ top: -1px;
+ margin-left: 12px;
+}
+.apps-list .apps-header h2 + .section {
+ margin-top: 50px;
+}
+
+#apps-list-search .section h2 {
+ margin-bottom: 0;
+}
+
+/* LOG */
+#log {
+ white-space: normal;
+ margin-bottom: 14px;
+}
+
+#lessLog {
+ display: none;
+}
+
+table.grid td.date {
+ white-space: nowrap;
+}
+
+#log-section p {
+ margin-top: 20px;
+}
+
+#security-warning-state-ok span,
+#security-warning-state-warning span,
+#security-warning-state-failure span,
+#security-warning-state-loading span {
+ vertical-align: middle;
+}
+#security-warning-state-ok span.message,
+#security-warning-state-warning span.message,
+#security-warning-state-failure span.message,
+#security-warning-state-loading span.message {
+ padding: 12px;
+}
+#security-warning-state-ok span.icon,
+#security-warning-state-warning span.icon,
+#security-warning-state-failure span.icon,
+#security-warning-state-loading span.icon {
+ width: 32px;
+ height: 32px;
+ background-position: center center;
+ display: inline-block;
+ border-radius: 50%;
+}
+#security-warning-state-ok span.icon-checkmark-white,
+#security-warning-state-warning span.icon-checkmark-white,
+#security-warning-state-failure span.icon-checkmark-white,
+#security-warning-state-loading span.icon-checkmark-white {
+ background-color: var(--color-success);
+}
+#security-warning-state-ok span.icon-error-white,
+#security-warning-state-warning span.icon-error-white,
+#security-warning-state-failure span.icon-error-white,
+#security-warning-state-loading span.icon-error-white {
+ background-color: var(--color-warning);
+}
+#security-warning-state-ok span.icon-close-white,
+#security-warning-state-warning span.icon-close-white,
+#security-warning-state-failure span.icon-close-white,
+#security-warning-state-loading span.icon-close-white {
+ background-color: var(--color-error);
+}
+
+#shareAPI p {
+ padding-bottom: 0.8em;
+}
+#shareAPI input#shareapiExpireAfterNDays {
+ width: 40px;
+}
+#shareAPI .indent {
+ padding-left: 28px;
+}
+#shareAPI .double-indent {
+ padding-left: 56px;
+}
+#shareAPI .nocheckbox {
+ padding-left: 20px;
+}
+
+#shareApiDefaultPermissionsSection label {
+ margin-right: 20px;
+}
+
+#fileSharingSettings h3 {
+ display: inline-block;
+}
+
+#publicShareDisclaimerText {
+ width: calc(100% - 23px);
+ /* 20 px left margin, 3 px right margin */
+ max-width: 600px;
+ height: 150px;
+ margin-left: 20px;
+ box-sizing: border-box;
+}
+
+/* correctly display help icons next to headings */
+.icon-info {
+ padding: 11px 20px;
+ vertical-align: text-bottom;
+ opacity: 0.5;
+}
+
+#two-factor-auth h2,
+#shareAPI h2,
+#encryptionAPI h2,
+#mail_general_settings h2 {
+ display: inline-block;
+}
+
+#encryptionAPI li {
+ list-style-type: initial;
+ margin-left: 20px;
+ padding: 5px 0;
+}
+
+.mail_settings p label:first-child {
+ display: inline-block;
+ width: 300px;
+ text-align: right;
+}
+.mail_settings p select:nth-child(2),
+.mail_settings p input:not([type=button]) {
+ width: 143px;
+}
+
+#mail_smtpport {
+ width: 40px;
+}
+
+.cronlog {
+ margin-left: 10px;
+}
+
+.status {
+ display: inline-block;
+ height: 16px;
+ width: 16px;
+ vertical-align: text-bottom;
+}
+.status.success {
+ border-radius: 50%;
+}
+
+#selectGroups select {
+ box-sizing: border-box;
+ display: inline-block;
+ height: 36px;
+ padding: 7px 10px;
+}
+
+#log .log-message {
+ word-break: break-all;
+ min-width: 180px;
+}
+
+span.success {
+ background-color: var(--color-success);
+ border-radius: var(--border-radius);
+}
+span.error {
+ background-color: var(--color-error);
+}
+span.indeterminate {
+ background-color: var(--color-warning);
+ border-radius: 40% 0;
+}
+
+/* OPERA hack for strengthify*/
+doesnotexist:-o-prefocus, .strengthify-wrapper {
+ left: 185px;
+ width: 129px;
+}
+
+.trusted-domain-warning {
+ color: #fff;
+ padding: 5px;
+ background: #ce3702;
+ border-radius: 5px;
+ font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
+}
+
+#postsetupchecks ul {
+ margin-left: 44px;
+ list-style: disc;
+}
+#postsetupchecks ul li {
+ margin: 10px 0;
+}
+#postsetupchecks ul ul {
+ list-style: circle;
+}
+#postsetupchecks .loading {
+ height: 50px;
+ background-position: left center;
+}
+#postsetupchecks .errors, #postsetupchecks .errors a {
+ color: var(--color-error);
+}
+#postsetupchecks .warnings, #postsetupchecks .warnings a {
+ color: var(--color-warning);
+}
+#postsetupchecks .hint {
+ margin: 20px 0;
+}
+
+#security-warning a {
+ text-decoration: underline;
+}
+#security-warning .extra-top-margin {
+ margin-top: 12px;
+}
+
+#admin-tips li {
+ list-style: initial;
+}
+#admin-tips li a {
+ display: inline-block;
+ padding: 3px 0;
+}
+
+#selectEncryptionModules {
+ margin-left: 30px;
+ padding: 10px;
+}
+
+#encryptionModules {
+ padding: 10px;
+}
+
+#warning {
+ color: red;
+}
+
+.settings-hint {
+ margin-top: -12px;
+ margin-bottom: 12px;
+ opacity: 0.7;
+}
+
+/* USERS LIST -------------------------------------------------------------- */
+#body-settings {
+ overflow-x: scroll;
+ min-height: 100%;
+ height: auto;
+}
+#body-settings #app-content.user-list-grid {
+ display: grid;
+ grid-column-gap: 20px;
+ grid-auto-rows: minmax(60px, max-content);
+}
+#body-settings #app-content.user-list-grid .row {
+ display: flex;
+ display: grid;
+ min-height: 60px;
+ grid-row-start: span 1;
+ grid-gap: 3px;
+ align-items: center;
+ /* let's define the column until storage path,
+ what follows will be manually defined */
+ grid-template-columns: 44px minmax(190px, 1fr) minmax(160px, 1fr) minmax(160px, 1fr) minmax(240px, 1fr) minmax(240px, 1fr) repeat(auto-fit, minmax(160px, 1fr));
+ border-bottom: var(--color-border) 1px solid;
+ /* grid col width */
+ /* various */
+}
+#body-settings #app-content.user-list-grid .row.disabled {
+ opacity: 0.5;
+}
+#body-settings #app-content.user-list-grid .row .name,
+#body-settings #app-content.user-list-grid .row .password,
+#body-settings #app-content.user-list-grid .row .mailAddress,
+#body-settings #app-content.user-list-grid .row .languages,
+#body-settings #app-content.user-list-grid .row .storageLocation,
+#body-settings #app-content.user-list-grid .row .userBackend,
+#body-settings #app-content.user-list-grid .row .lastLogin {
+ min-width: 160px;
+}
+#body-settings #app-content.user-list-grid .row .name doesnotexist:-o-prefocus, #body-settings #app-content.user-list-grid .row .name .strengthify-wrapper,
+#body-settings #app-content.user-list-grid .row .password doesnotexist:-o-prefocus,
+#body-settings #app-content.user-list-grid .row .password .strengthify-wrapper,
+#body-settings #app-content.user-list-grid .row .mailAddress doesnotexist:-o-prefocus,
+#body-settings #app-content.user-list-grid .row .mailAddress .strengthify-wrapper,
+#body-settings #app-content.user-list-grid .row .languages doesnotexist:-o-prefocus,
+#body-settings #app-content.user-list-grid .row .languages .strengthify-wrapper,
+#body-settings #app-content.user-list-grid .row .storageLocation doesnotexist:-o-prefocus,
+#body-settings #app-content.user-list-grid .row .storageLocation .strengthify-wrapper,
+#body-settings #app-content.user-list-grid .row .userBackend doesnotexist:-o-prefocus,
+#body-settings #app-content.user-list-grid .row .userBackend .strengthify-wrapper,
+#body-settings #app-content.user-list-grid .row .lastLogin doesnotexist:-o-prefocus,
+#body-settings #app-content.user-list-grid .row .lastLogin .strengthify-wrapper {
+ color: var(--color-text-dark);
+ vertical-align: baseline;
+ text-overflow: ellipsis;
+}
+#body-settings #app-content.user-list-grid .row:not(.row--editable).name, #body-settings #app-content.user-list-grid .row:not(.row--editable).password, #body-settings #app-content.user-list-grid .row:not(.row--editable).displayName, #body-settings #app-content.user-list-grid .row:not(.row--editable).mailAddress, #body-settings #app-content.user-list-grid .row:not(.row--editable).userBackend, #body-settings #app-content.user-list-grid .row:not(.row--editable).languages {
+ overflow: hidden;
+}
+#body-settings #app-content.user-list-grid .row .groups,
+#body-settings #app-content.user-list-grid .row .subadmins,
+#body-settings #app-content.user-list-grid .row .quota {
+ min-width: 160px;
+}
+#body-settings #app-content.user-list-grid .row .groups .multiselect,
+#body-settings #app-content.user-list-grid .row .subadmins .multiselect,
+#body-settings #app-content.user-list-grid .row .quota .multiselect {
+ width: 100%;
+ color: var(--color-text-dark);
+ vertical-align: baseline;
+}
+#body-settings #app-content.user-list-grid .row .obfuscated {
+ width: 400px;
+ opacity: 0.7;
+}
+#body-settings #app-content.user-list-grid .row .userActions {
+ display: flex;
+ justify-content: flex-end;
+ position: sticky;
+ right: 0px;
+ min-width: 88px;
+ background-color: var(--color-main-background);
+}
+#body-settings #app-content.user-list-grid .row .subtitle {
+ color: var(--color-text-maxcontrast);
+ vertical-align: baseline;
+}
+#body-settings #app-content.user-list-grid .row#grid-header {
+ position: sticky;
+ align-self: normal;
+ background-color: var(--color-main-background);
+ z-index: 100;
+ /* above multiselect */
+ top: 50px;
+}
+#body-settings #app-content.user-list-grid .row#grid-header.sticky {
+ box-shadow: 0 -2px 10px 1px var(--color-box-shadow);
+}
+#body-settings #app-content.user-list-grid .row#grid-header {
+ color: var(--color-text-maxcontrast);
+ border-bottom-width: thin;
+}
+#body-settings #app-content.user-list-grid .row#grid-header #headerDisplayName,
+#body-settings #app-content.user-list-grid .row#grid-header #headerPassword,
+#body-settings #app-content.user-list-grid .row#grid-header #headerAddress,
+#body-settings #app-content.user-list-grid .row#grid-header #headerGroups,
+#body-settings #app-content.user-list-grid .row#grid-header #headerSubAdmins,
+#body-settings #app-content.user-list-grid .row#grid-header #theHeaderUserBackend,
+#body-settings #app-content.user-list-grid .row#grid-header #theHeaderLastLogin,
+#body-settings #app-content.user-list-grid .row#grid-header #headerQuota,
+#body-settings #app-content.user-list-grid .row#grid-header #theHeaderStorageLocation,
+#body-settings #app-content.user-list-grid .row#grid-header #headerLanguages {
+ /* Line up header text with column content for when there’s inputs */
+ padding-left: 7px;
+ text-transform: none;
+ color: var(--color-text-maxcontrast);
+ vertical-align: baseline;
+}
+#body-settings #app-content.user-list-grid .row:hover input:not([type=submit]):not(:focus):not(:active) {
+ border-color: var(--color-border) !important;
+}
+#body-settings #app-content.user-list-grid .row:hover:not(#grid-header) {
+ box-shadow: 5px 0 0 var(--color-primary-element) inset;
+}
+#body-settings #app-content.user-list-grid .row > form {
+ width: 100%;
+}
+#body-settings #app-content.user-list-grid .row > div,
+#body-settings #app-content.user-list-grid .row > .displayName > form,
+#body-settings #app-content.user-list-grid .row > form {
+ grid-row: 1;
+ display: inline-flex;
+ color: var(--color-text-lighter);
+ flex-grow: 1;
+ /* inputs like mail, username, password */
+ /* Fill the grid cell */
+}
+#body-settings #app-content.user-list-grid .row > div > input:not(:focus):not(:active),
+#body-settings #app-content.user-list-grid .row > .displayName > form > input:not(:focus):not(:active),
+#body-settings #app-content.user-list-grid .row > form > input:not(:focus):not(:active) {
+ border-color: transparent;
+ cursor: pointer;
+}
+#body-settings #app-content.user-list-grid .row > div > input:focus + .icon-confirm, #body-settings #app-content.user-list-grid .row > div > input:active + .icon-confirm,
+#body-settings #app-content.user-list-grid .row > .displayName > form > input:focus + .icon-confirm,
+#body-settings #app-content.user-list-grid .row > .displayName > form > input:active + .icon-confirm,
+#body-settings #app-content.user-list-grid .row > form > input:focus + .icon-confirm,
+#body-settings #app-content.user-list-grid .row > form > input:active + .icon-confirm {
+ display: block !important;
+}
+#body-settings #app-content.user-list-grid .row > div:not(.userActions) > input:not([type=submit]),
+#body-settings #app-content.user-list-grid .row > .displayName > form:not(.userActions) > input:not([type=submit]),
+#body-settings #app-content.user-list-grid .row > form:not(.userActions) > input:not([type=submit]) {
+ width: 100%;
+ min-width: 0;
+}
+#body-settings #app-content.user-list-grid .row > div.name,
+#body-settings #app-content.user-list-grid .row > .displayName > form.name,
+#body-settings #app-content.user-list-grid .row > form.name {
+ word-break: break-all;
+}
+#body-settings #app-content.user-list-grid .row > div.displayName > input, #body-settings #app-content.user-list-grid .row > div.mailAddress > input,
+#body-settings #app-content.user-list-grid .row > .displayName > form.displayName > input,
+#body-settings #app-content.user-list-grid .row > .displayName > form.mailAddress > input,
+#body-settings #app-content.user-list-grid .row > form.displayName > input,
+#body-settings #app-content.user-list-grid .row > form.mailAddress > input {
+ text-overflow: ellipsis;
+ flex-grow: 1;
+}
+#body-settings #app-content.user-list-grid .row > div.name, #body-settings #app-content.user-list-grid .row > div.userBackend,
+#body-settings #app-content.user-list-grid .row > .displayName > form.name,
+#body-settings #app-content.user-list-grid .row > .displayName > form.userBackend,
+#body-settings #app-content.user-list-grid .row > form.name,
+#body-settings #app-content.user-list-grid .row > form.userBackend {
+ /* better multi-line visual */
+ line-height: 1.3em;
+ max-height: 100%;
+ overflow: hidden;
+ /* not supported by all browsers
+ so we keep the overflow hidden
+ as a fallback */
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+#body-settings #app-content.user-list-grid .row > div.quota,
+#body-settings #app-content.user-list-grid .row > .displayName > form.quota,
+#body-settings #app-content.user-list-grid .row > form.quota {
+ display: flex;
+ justify-content: left;
+ white-space: nowrap;
+ position: relative;
+}
+#body-settings #app-content.user-list-grid .row > div.quota progress,
+#body-settings #app-content.user-list-grid .row > .displayName > form.quota progress,
+#body-settings #app-content.user-list-grid .row > form.quota progress {
+ width: 150px;
+ margin-top: 35px;
+ height: 3px;
+}
+#body-settings #app-content.user-list-grid .row > div .icon-confirm,
+#body-settings #app-content.user-list-grid .row > .displayName > form .icon-confirm,
+#body-settings #app-content.user-list-grid .row > form .icon-confirm {
+ flex: 0 0 auto;
+ cursor: pointer;
+}
+#body-settings #app-content.user-list-grid .row > div .icon-confirm:not(:active),
+#body-settings #app-content.user-list-grid .row > .displayName > form .icon-confirm:not(:active),
+#body-settings #app-content.user-list-grid .row > form .icon-confirm:not(:active) {
+ display: none;
+}
+#body-settings #app-content.user-list-grid .row > div.avatar,
+#body-settings #app-content.user-list-grid .row > .displayName > form.avatar,
+#body-settings #app-content.user-list-grid .row > form.avatar {
+ height: 32px;
+ width: 32px;
+ margin: 6px;
+}
+#body-settings #app-content.user-list-grid .row > div.avatar img,
+#body-settings #app-content.user-list-grid .row > .displayName > form.avatar img,
+#body-settings #app-content.user-list-grid .row > form.avatar img {
+ display: block;
+}
+#body-settings #app-content.user-list-grid .row > div.userActions,
+#body-settings #app-content.user-list-grid .row > .displayName > form.userActions,
+#body-settings #app-content.user-list-grid .row > form.userActions {
+ display: flex;
+ justify-content: flex-end;
+}
+#body-settings #app-content.user-list-grid .row > div.userActions #newsubmit,
+#body-settings #app-content.user-list-grid .row > .displayName > form.userActions #newsubmit,
+#body-settings #app-content.user-list-grid .row > form.userActions #newsubmit {
+ width: 100%;
+}
+#body-settings #app-content.user-list-grid .row > div.userActions .toggleUserActions,
+#body-settings #app-content.user-list-grid .row > .displayName > form.userActions .toggleUserActions,
+#body-settings #app-content.user-list-grid .row > form.userActions .toggleUserActions {
+ position: relative;
+ display: flex;
+ align-items: center;
+ background-color: var(--color-main-background);
+}
+#body-settings #app-content.user-list-grid .row > div.userActions .toggleUserActions .icon-more,
+#body-settings #app-content.user-list-grid .row > .displayName > form.userActions .toggleUserActions .icon-more,
+#body-settings #app-content.user-list-grid .row > form.userActions .toggleUserActions .icon-more {
+ width: 44px;
+ height: 44px;
+ opacity: 0.5;
+ cursor: pointer;
+}
+#body-settings #app-content.user-list-grid .row > div.userActions .toggleUserActions .icon-more:focus, #body-settings #app-content.user-list-grid .row > div.userActions .toggleUserActions .icon-more:hover, #body-settings #app-content.user-list-grid .row > div.userActions .toggleUserActions .icon-more:active,
+#body-settings #app-content.user-list-grid .row > .displayName > form.userActions .toggleUserActions .icon-more:focus,
+#body-settings #app-content.user-list-grid .row > .displayName > form.userActions .toggleUserActions .icon-more:hover,
+#body-settings #app-content.user-list-grid .row > .displayName > form.userActions .toggleUserActions .icon-more:active,
+#body-settings #app-content.user-list-grid .row > form.userActions .toggleUserActions .icon-more:focus,
+#body-settings #app-content.user-list-grid .row > form.userActions .toggleUserActions .icon-more:hover,
+#body-settings #app-content.user-list-grid .row > form.userActions .toggleUserActions .icon-more:active {
+ opacity: 0.7;
+ background-color: var(--color-background-dark);
+}
+#body-settings #app-content.user-list-grid .row > div.userActions .feedback,
+#body-settings #app-content.user-list-grid .row > .displayName > form.userActions .feedback,
+#body-settings #app-content.user-list-grid .row > form.userActions .feedback {
+ display: flex;
+ align-items: center;
+ white-space: nowrap;
+ transition: opacity 200ms ease-in-out;
+}
+#body-settings #app-content.user-list-grid .row > div.userActions .feedback .icon-checkmark,
+#body-settings #app-content.user-list-grid .row > .displayName > form.userActions .feedback .icon-checkmark,
+#body-settings #app-content.user-list-grid .row > form.userActions .feedback .icon-checkmark {
+ opacity: 0.5;
+ margin-right: 5px;
+}
+#body-settings #app-content.user-list-grid .row > div .multiselect.multiselect-vue,
+#body-settings #app-content.user-list-grid .row > .displayName > form .multiselect.multiselect-vue,
+#body-settings #app-content.user-list-grid .row > form .multiselect.multiselect-vue {
+ width: 100%;
+}
+#body-settings #app-content.user-list-grid .infinite-loading-container {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ grid-row-start: span 4;
+}
+#body-settings #app-content.user-list-grid .users-list-end {
+ opacity: 0.5;
+ user-select: none;
+}
+
+.animated {
+ animation: blink-animation 1s steps(5, start) 4;
+}
+
+@keyframes blink-animation {
+ to {
+ opacity: 0.6;
+ }
+}
+@-webkit-keyframes blink-animation {
+ to {
+ opacity: 1;
+ }
+}
+
+/*# sourceMappingURL=settings.css.map */
diff --git a/apps/settings/css/settings.css.map b/apps/settings/css/settings.css.map
new file mode 100644
index 00000000000..0fb2c70ac0d
--- /dev/null
+++ b/apps/settings/css/settings.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","settings.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD3CC;EACC;;;AAIF;AACA;EACC;;;AAGD;AACA;AC6CC;EAEA;;;AD3CD;ACyCC;EAEA;;;ADvCD;ACqCC;EAEA;;;ADnCD;ACiCC;EAEA;;;AD/BD;AC6BC;EAEA;;;AD1BA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAED;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;AAGC;EACC;;;AAKH;EACC;;;AAIA;EACC;;AAEA;EACC;;AAIA;EACC;;;AAOH;EAGC;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAMF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;EACA;EACA;;AAGD;EACC;EACA;;;AAMF;EACC;IACC;IACA;;EAEA;IACC;IACA;;EAGD;IACC;IACA;;EAGD;IACC;IACA;IACA;;;AAKH;EACC;IACC;IACA;;EAEA;IACC;;EAGD;IACC;IACA;;EAGD;IACC;IACA;;;AAKH;EACC;IACC;IACA;;EAEA;IACC;;EAGD;IACC;IACA;;EAGD;IACC;IACA;;;AAKH;EACC;EACA;EACA;;AAEA;EACC;;AAIA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAKF;EACC;EACA;;AAEA;EACC;;AAEA;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;;AAKF;AACA;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;;AAGC;EAEC;EACA;;AAEA;EACC;;AAGD;EACC;;AAEA;EACC;;AAIF;EACC;EAEA;;AAEA;EACC;;;AAQN;EACC;;;AAGD;EACC;;;AAIA;EACC;;AAGD;EACC;;;AAIF;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAMD;EACC;;AAGD;EACC;;;AAKD;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAGC;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;;AAEA;EACC;;;AAIF;AAGC;EACC;EACA;EACA;EACA;;AAGD;EACC;;;AAKD;AAAA;EAEC;;;AAKD;AAAA;EAEC;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;AACA;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC;;AAIF;EACC;;AAGD;EAEC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAIF;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AAGD;AACA;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACC;;AACA;EACC;EACA;EACA;;AAGD;EACC;;AAIA;EACC;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAIA;EACC;;;AAMD;EACC;;AAGD;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAGD;EACC;;AAGD;EACC;;;AAMA;AAAA;EAEC;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAEA;AAAA;EAEC;;AAGD;EACC;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;;AAGD;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;AAIF;EACC;IACC;;;AAIF;AACA;EAEE;IACC;;;AAKH;EACC;IACC;;;AAIF;EACC;;;AAGD;EACC;AACA;AAKA;;AAJA;EACC;;AAID;EACC;;AAEA;EACC;EACA;EACA;;;AAKH;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAEA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EAwGC;EACA;EACA;AAkDA;;AAxJA;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC,QAfgB;EAgBhB,SAjBiB;EAmBjB,cAlBgB;EAmBhB;EACA;EACA;EACA;EACA;EACA;;AAGD;EAQC;;AAPA;EACC;EACA;EACA;EACA,YAhCe;;AAqChB;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAKF;EACC;;AAEA;EACC;;AAIF;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC;EACA;EACA;;AAKH;EACC;EACA;AACA;EACA;EACA;EACA;;AAOD;EACC;;AAGD;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;;AAKD;EACC;;AAGD;EACC;;AAGD;EACC;;AAEA;EACC;;AAKD;EACC;;AAKD;EACC;;AAMH;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;;;AAQF;EACC;;;AAKH;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAOA;AAAA;AAAA;AAAA;EACC;;AAEA;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;EACA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;;;AAMF;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;AACA;EACA;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;AAAA;EAIC;;;AAGD;EACC;EACA;EACA;;;AAIA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAIA;EACC;EACA;;AAGD;EACC;;AAGD;EACC;EACA;;;AAKF;AACA;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIA;EACC;EACA;;AAEA;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKD;EACC;;AAGD;EACC;;;AAIF;EACC;;AAEA;EACC;EACA;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAID;AACA;EAGC;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAEA;EAGC;EACA;EACA,YAhBgB;EAiBhB;EACA;EACA;AACA;AAAA;EAEA,uBACE;EAOF;AAMA;AA0DA;;AA9DA;EACC;;AAID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOC,WA3CkB;;AA6ClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;;AAID;EAMC;;AAIF;AAAA;AAAA;EAGC,WAjEkB;;AAmElB;AAAA;AAAA;EACC;EACA;EACA;;AAIF;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAID;EACC;EACA;EACA;EACA;AAAc;EACd,KD77CY;;AC+7CZ;EACC;;AAIF;EACC;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUC;EACA;EACA;EACA;EACA;;AAKD;EACC;;AAGD;EACC;;AAIF;EACC;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;AAaA;AA2GA;;AAtHA;AAAA;AAAA;EACC;EACA;;AAIA;AAAA;AAAA;AAAA;AAAA;EACC;;AAKF;AAAA;AAAA;EACC;EACA;;AAGD;AAAA;AAAA;EACC;;AAKA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAEC;EACA;EACA;EACA;AACA;AAAA;AAAA;EAGA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;EACA;;AAIF;AAAA;AAAA;EACC;EACA;;AAEA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;EACC;EACA;EACA;;AAEA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;EACC;EACA;;AAEA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;EACA;;AAKH;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;;AAMH;AAAA;AAAA;EACC;;AAKH;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;;;AAKH;EACI;;;AAGJ;EACE;IACE;;;AAGJ;EACE;IACE","file":"settings.css"} \ No newline at end of file
diff --git a/apps/settings/css/settings.scss b/apps/settings/css/settings.scss
index e2b9099f5d3..4e9ad4c7f8a 100644
--- a/apps/settings/css/settings.scss
+++ b/apps/settings/css/settings.scss
@@ -1,6 +1,8 @@
/* Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
This file is licensed under the Affero General Public License version 3 or later.
See the COPYING-README file. */
+@use 'variables';
+@import 'functions';
input {
&#openid, &#webdav {
@@ -15,23 +17,23 @@ input {
/* icons for sidebar */
.nav-icon-personal-settings {
- @include icon-color('personal', 'settings', $color-black);
+ @include icon-color('personal', 'settings', variables.$color-black);
}
.nav-icon-security {
- @include icon-color('toggle-filelist', 'settings', $color-black);
+ @include icon-color('toggle-filelist', 'settings', variables.$color-black);
}
.nav-icon-clientsbox {
- @include icon-color('change', 'settings', $color-black);
+ @include icon-color('change', 'settings', variables.$color-black);
}
.nav-icon-federated-cloud {
- @include icon-color('share', 'settings', $color-black);
+ @include icon-color('share', 'settings', variables.$color-black);
}
.nav-icon-second-factor-backup-codes, .nav-icon-ssl-root-certificate {
- @include icon-color('password', 'settings', $color-black);
+ @include icon-color('password', 'settings', variables.$color-black);
}
#avatarform {
@@ -916,7 +918,7 @@ span.version {
}
}
-@media only screen and (max-width: $breakpoint-mobile) {
+@media only screen and (max-width: variables.$breakpoint-mobile) {
.store .section {
width: 50%;
}
@@ -1572,7 +1574,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
align-self: normal;
background-color: var(--color-main-background);
z-index: 100; /* above multiselect */
- top: $header-height;
+ top: variables.$header-height;
&.sticky {
box-shadow: 0 -2px 10px 1px var(--color-box-shadow);
diff --git a/apps/settings/l10n/ar.js b/apps/settings/l10n/ar.js
index 887e949540b..d0474424a16 100644
--- a/apps/settings/l10n/ar.js
+++ b/apps/settings/l10n/ar.js
@@ -248,7 +248,6 @@ OC.L10N.register(
"App update" : "تحديث التطبيق",
"Test email settings" : "فحص إعدادات البريد الإلكتروني",
"days" : "أيام",
- "No display name set" : "لم يتم إدخال أي إسم",
- "Update all" : "تحديث الكل"
+ "No display name set" : "لم يتم إدخال أي إسم"
},
"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;");
diff --git a/apps/settings/l10n/ar.json b/apps/settings/l10n/ar.json
index e319b89de89..912f3a849a4 100644
--- a/apps/settings/l10n/ar.json
+++ b/apps/settings/l10n/ar.json
@@ -246,7 +246,6 @@
"App update" : "تحديث التطبيق",
"Test email settings" : "فحص إعدادات البريد الإلكتروني",
"days" : "أيام",
- "No display name set" : "لم يتم إدخال أي إسم",
- "Update all" : "تحديث الكل"
+ "No display name set" : "لم يتم إدخال أي إسم"
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/bg.js b/apps/settings/l10n/bg.js
index d93623382b4..8c1b430fed6 100644
--- a/apps/settings/l10n/bg.js
+++ b/apps/settings/l10n/bg.js
@@ -461,8 +461,6 @@ OC.L10N.register(
"Allow username autocompletion to users based on phone number integration" : "Разрешаване на автоматично довършване на име на потребител на потребители въз основа на интегриране на телефонен номер",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Ако автоматичното довършване „същата група“ и „интегриране на телефонен номер“ са активирани, съвпадението в едното е достатъчно, за да се покаже на потребителя.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Разрешаване на автоматично довършване при въвеждане на пълното име или имейл адрес (като игнорирате липсващото съвпадение в телефонния указател и сте в същата група)",
- "Match username when restricting to full match" : "Подбор на име на потребител при прилагане на ограничаване до пълно съвпадение",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Игнорирайте второто показвано име в скоби, ако има такова (пример: „Първото показвано име (второ игнорирано показвано име)“)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Показване на текст за отказ от отговорност на страницата за качване на публична връзка (показва се само когато списъкът с файлове е скрит)",
"This text will be shown on the public link upload page when the file list is hidden." : "Този текст ще се показва на страницата за качване на публична връзка, когато списъкът с файлове е скрит.",
"Default share permissions" : "Права за споделяне по подразбиране",
@@ -513,11 +511,6 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Разрешаване на автоматично довършване на име на потребител при въвеждане на пълното име или имейл адрес (като игнорирате липсващото съвпадение в телефонния указател и сте в същата група)",
"Change privacy level of full name" : "Промяна на нивото на поверителност на пълното име",
"No display name set" : "Няма настроено екранно име",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.",
- "Update all" : "Актуализирай всички",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "За оптимална производителност е важно да конфигурирате правилно фоновите задания. За по-големи екземпляри препоръчителната настройка е „Cron“. Моля, вижте документацията за повече информация.",
- "Execute one task with each page loaded." : "Изпълняване на една задача с всяка заредена страница.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php е регистриран в услуга на webcron за извикване на cron.php на всеки 5 минути през HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Използвайте системната услуга cron, за да извикате файла cron.php на всеки 5 минути."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/bg.json b/apps/settings/l10n/bg.json
index 03727c5bde4..7b30fd59f22 100644
--- a/apps/settings/l10n/bg.json
+++ b/apps/settings/l10n/bg.json
@@ -459,8 +459,6 @@
"Allow username autocompletion to users based on phone number integration" : "Разрешаване на автоматично довършване на име на потребител на потребители въз основа на интегриране на телефонен номер",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Ако автоматичното довършване „същата група“ и „интегриране на телефонен номер“ са активирани, съвпадението в едното е достатъчно, за да се покаже на потребителя.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Разрешаване на автоматично довършване при въвеждане на пълното име или имейл адрес (като игнорирате липсващото съвпадение в телефонния указател и сте в същата група)",
- "Match username when restricting to full match" : "Подбор на име на потребител при прилагане на ограничаване до пълно съвпадение",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Игнорирайте второто показвано име в скоби, ако има такова (пример: „Първото показвано име (второ игнорирано показвано име)“)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Показване на текст за отказ от отговорност на страницата за качване на публична връзка (показва се само когато списъкът с файлове е скрит)",
"This text will be shown on the public link upload page when the file list is hidden." : "Този текст ще се показва на страницата за качване на публична връзка, когато списъкът с файлове е скрит.",
"Default share permissions" : "Права за споделяне по подразбиране",
@@ -511,11 +509,6 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Разрешаване на автоматично довършване на име на потребител при въвеждане на пълното име или имейл адрес (като игнорирате липсващото съвпадение в телефонния указател и сте в същата група)",
"Change privacy level of full name" : "Промяна на нивото на поверителност на пълното име",
"No display name set" : "Няма настроено екранно име",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.",
- "Update all" : "Актуализирай всички",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "За оптимална производителност е важно да конфигурирате правилно фоновите задания. За по-големи екземпляри препоръчителната настройка е „Cron“. Моля, вижте документацията за повече информация.",
- "Execute one task with each page loaded." : "Изпълняване на една задача с всяка заредена страница.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php е регистриран в услуга на webcron за извикване на cron.php на всеки 5 минути през HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Използвайте системната услуга cron, за да извикате файла cron.php на всеки 5 минути."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/br.js b/apps/settings/l10n/br.js
index 411374cae50..1f1d6b8c801 100644
--- a/apps/settings/l10n/br.js
+++ b/apps/settings/l10n/br.js
@@ -392,10 +392,6 @@ OC.L10N.register(
"App update" : "Adnevezadenn meziant",
"Test email settings" : "Amprouiñ ar c'has postel",
"days" : "devezh",
- "No display name set" : "Anv ardivink lakaet ebet",
- "Update all" : "Adnevesañ pep tra",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Evit kaout ur mon en dro mat eo ret stummañ mat al labourioù diadrñv. evit azgoulennoù brasoc'h eo aliet kaout stumm 'Cron'. Sellit ouzh an diellvadur evit muioc'h a ditouroù.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php a zo anavezet evel ur webcron da gervel pep 5 munutenn a uz HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Implijit sevichoù ar sistem cron evit gervel restr cron.php pep 5 munutenn."
+ "No display name set" : "Anv ardivink lakaet ebet"
},
"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);");
diff --git a/apps/settings/l10n/br.json b/apps/settings/l10n/br.json
index cb733ae4d79..b5eed9ecb3e 100644
--- a/apps/settings/l10n/br.json
+++ b/apps/settings/l10n/br.json
@@ -390,10 +390,6 @@
"App update" : "Adnevezadenn meziant",
"Test email settings" : "Amprouiñ ar c'has postel",
"days" : "devezh",
- "No display name set" : "Anv ardivink lakaet ebet",
- "Update all" : "Adnevesañ pep tra",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Evit kaout ur mon en dro mat eo ret stummañ mat al labourioù diadrñv. evit azgoulennoù brasoc'h eo aliet kaout stumm 'Cron'. Sellit ouzh an diellvadur evit muioc'h a ditouroù.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php a zo anavezet evel ur webcron da gervel pep 5 munutenn a uz HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Implijit sevichoù ar sistem cron evit gervel restr cron.php pep 5 munutenn."
+ "No display name set" : "Anv ardivink lakaet ebet"
},"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ca.js b/apps/settings/l10n/ca.js
index efba726d3f2..c395be2fafa 100644
--- a/apps/settings/l10n/ca.js
+++ b/apps/settings/l10n/ca.js
@@ -406,11 +406,6 @@ OC.L10N.register(
"App update" : "Actualització de l'aplicació",
"Test email settings" : "Prova els paràmetres de correu electrònic",
"days" : "dies",
- "No display name set" : "No s'ha establert cap nom para mostrar",
- "Update all" : "Actualitza tot",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Per a un rendiment òptim és important configurar correctament les tasques de fons. Per a instàncies més grans ‘Cron’ és el paràmetre recomanat. Si us plau, per a més informació vegeu la documentació.",
- "Execute one task with each page loaded." : "Executa una tasca amb cada pàgina carregada.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php està registrat en un servei webcron per cridar cron.php cada 15 minuts per HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Utilitza el servei cron del sistema per cridar el fitxer cron.php cada 5 minuts."
+ "No display name set" : "No s'ha establert cap nom para mostrar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/ca.json b/apps/settings/l10n/ca.json
index e65c5a31ba8..7294eb0dd89 100644
--- a/apps/settings/l10n/ca.json
+++ b/apps/settings/l10n/ca.json
@@ -404,11 +404,6 @@
"App update" : "Actualització de l'aplicació",
"Test email settings" : "Prova els paràmetres de correu electrònic",
"days" : "dies",
- "No display name set" : "No s'ha establert cap nom para mostrar",
- "Update all" : "Actualitza tot",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Per a un rendiment òptim és important configurar correctament les tasques de fons. Per a instàncies més grans ‘Cron’ és el paràmetre recomanat. Si us plau, per a més informació vegeu la documentació.",
- "Execute one task with each page loaded." : "Executa una tasca amb cada pàgina carregada.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php està registrat en un servei webcron per cridar cron.php cada 15 minuts per HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Utilitza el servei cron del sistema per cridar el fitxer cron.php cada 5 minuts."
+ "No display name set" : "No s'ha establert cap nom para mostrar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/cs.js b/apps/settings/l10n/cs.js
index fc4cd68b35c..3b3d765cc18 100644
--- a/apps/settings/l10n/cs.js
+++ b/apps/settings/l10n/cs.js
@@ -57,6 +57,7 @@ OC.L10N.register(
"Couldn't remove app." : "Aplikaci se nepodařilo odebrat.",
"Couldn't update app." : "Aplikaci se nedaří aktualizovat.",
"Wrong password" : "Nesprávné heslo",
+ "Unable to change personal password" : "Osobní heslo se nedaří změnit",
"Saved" : "Uloženo",
"No user supplied" : "Nebyl uveden uživatel",
"Authentication error" : "Chyba přihlášení",
@@ -72,6 +73,7 @@ OC.L10N.register(
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache je nastaveno tak, aby odebíralo komentáře kódu. Pokud je OPcache zapnuté, pak aby Nextcloud fungoval, je třeba, aby bylo nastaveno také <code>opcache.save_comments=1</code>.",
"Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Pro Nextcloud nemáte zpřístupněno používání aplikačního program. rozhraní (API) OPcache. Pokud je OPcache zapnuté, je velmi doporučováno zahrnout veškeré složky s Nextcloud do <code>opcache.restrict_api</code> nebo toto nastavení zrušit a vypnout tak omezení k OPcache API. Zabráníte tak chybám při aktualizacím jádra Nextcloud či aplikací.",
"Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Pro Nextcloud nemáte zpřístupněno používání aplikačního program. rozhraní (API) OPcache. Je silně doporučováno zahrnout veškeré složky s Nextcloud do <code>opcache.restrict_api</code> nebo toto nastavení zrušit a vypnout tak omezení k OPcache API. Zabráníte tak chybám při aktualizacím jádra Nextcloud či aplikací.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Je téměř vyčerpán nejvyšší umožněný počet klíčů v OPcache. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.max_accelerated_files</code> s hodnotou vyšší než <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache je téměř zaplněná. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.memory_consumption</code> s hodnotou vyšší než <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache pro řetězce je téměř zaplněná. Aby bylo zajištěno, že ukládání řetězců do mezipaměti bude skutečně prováděno, je doporučeno přidat do nastavení PHP volbu <code>opcache.interned_strings_buffer</code> s hodnotou vyšší než <code>%s</code>.",
"Invalid SMTP password." : "Neplatné heslo pro SMTP.",
@@ -466,8 +468,6 @@ OC.L10N.register(
"Allow username autocompletion to users based on phone number integration" : "Umožnit doplňování uživatelského jména uživatelům na základě začlenění telefonním číslem",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "V případě, že jsou zapnuté automatická dokončování „stejná skupina“ a „začlenění telefonním číslem“, postačí pro zobrazení uživatele shoda s jedním z toho.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Povolit automatické dokončování při zadávání celého jména nebo e-mailové adresy (při ignorování chybějící shody s telefonním seznamem a toho, že je ve stejné skupině)",
- "Match username when restricting to full match" : "Při omezení na úplnou shodu hledat tuto uživatelském jménu",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Ignorovat druhé zobrazované jméno v závorkách (pokud zde je). Příklad: „První zobrazované jméno (druhé – ignorované – zobrazované jméno)“",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Zobrazit text zřeknutí se odpovědnosti na stránce pro nahrání veřejného odkazu. (zobrazit pouze pokud je seznam souborů skrytý)",
"This text will be shown on the public link upload page when the file list is hidden." : "Tento text bude zobrazen on stránce pro nahrání veřejného odkazu, pokud bude seznam souborů skrytý.",
"Default share permissions" : "Výchozí oprávnění sdílení",
@@ -518,11 +518,6 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Povolit automatické dokončování uživatelského jména při zadávání celého jména nebo e-mailové adresy (při ignorování chybějící shody s telefonním seznamem a toho, že je ve stejné skupině)",
"Change privacy level of full name" : "Změnit úroveň soukromí pro celé jméno",
"No display name set" : "Nenastaveno žádné zobrazované jméno",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Je téměř vyčerpán nejvyšší umožněný počet klíčů v OPcache. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.max_accelerated_files</code> s hodnotou vyšší než <code>%s</code>.",
- "Update all" : "Aktualizovat vše",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Pro optimální výkon je důležité správně nastavit úlohy spouštěné na pozadí. Pro větší instance je doporučenou metodou použití systémového plánovače (cron). Více informací naleznete v dokumentaci.",
- "Execute one task with each page loaded." : "Spustit jednu úlohu s načtením každé stránky.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php je zaregistrován na službě webcron a bude přes HTTP volán každých 5 minut.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Použít systémový plánovač (cron) pro volání souboru cron.php každých 5 minut."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Je téměř vyčerpán nejvyšší umožněný počet klíčů v OPcache. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.max_accelerated_files</code> s hodnotou vyšší než <code>%s</code>."
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
diff --git a/apps/settings/l10n/cs.json b/apps/settings/l10n/cs.json
index ea3c3eea704..48a92c36332 100644
--- a/apps/settings/l10n/cs.json
+++ b/apps/settings/l10n/cs.json
@@ -55,6 +55,7 @@
"Couldn't remove app." : "Aplikaci se nepodařilo odebrat.",
"Couldn't update app." : "Aplikaci se nedaří aktualizovat.",
"Wrong password" : "Nesprávné heslo",
+ "Unable to change personal password" : "Osobní heslo se nedaří změnit",
"Saved" : "Uloženo",
"No user supplied" : "Nebyl uveden uživatel",
"Authentication error" : "Chyba přihlášení",
@@ -70,6 +71,7 @@
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache je nastaveno tak, aby odebíralo komentáře kódu. Pokud je OPcache zapnuté, pak aby Nextcloud fungoval, je třeba, aby bylo nastaveno také <code>opcache.save_comments=1</code>.",
"Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Pro Nextcloud nemáte zpřístupněno používání aplikačního program. rozhraní (API) OPcache. Pokud je OPcache zapnuté, je velmi doporučováno zahrnout veškeré složky s Nextcloud do <code>opcache.restrict_api</code> nebo toto nastavení zrušit a vypnout tak omezení k OPcache API. Zabráníte tak chybám při aktualizacím jádra Nextcloud či aplikací.",
"Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Pro Nextcloud nemáte zpřístupněno používání aplikačního program. rozhraní (API) OPcache. Je silně doporučováno zahrnout veškeré složky s Nextcloud do <code>opcache.restrict_api</code> nebo toto nastavení zrušit a vypnout tak omezení k OPcache API. Zabráníte tak chybám při aktualizacím jádra Nextcloud či aplikací.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Je téměř vyčerpán nejvyšší umožněný počet klíčů v OPcache. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.max_accelerated_files</code> s hodnotou vyšší než <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache je téměř zaplněná. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.memory_consumption</code> s hodnotou vyšší než <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache pro řetězce je téměř zaplněná. Aby bylo zajištěno, že ukládání řetězců do mezipaměti bude skutečně prováděno, je doporučeno přidat do nastavení PHP volbu <code>opcache.interned_strings_buffer</code> s hodnotou vyšší než <code>%s</code>.",
"Invalid SMTP password." : "Neplatné heslo pro SMTP.",
@@ -464,8 +466,6 @@
"Allow username autocompletion to users based on phone number integration" : "Umožnit doplňování uživatelského jména uživatelům na základě začlenění telefonním číslem",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "V případě, že jsou zapnuté automatická dokončování „stejná skupina“ a „začlenění telefonním číslem“, postačí pro zobrazení uživatele shoda s jedním z toho.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Povolit automatické dokončování při zadávání celého jména nebo e-mailové adresy (při ignorování chybějící shody s telefonním seznamem a toho, že je ve stejné skupině)",
- "Match username when restricting to full match" : "Při omezení na úplnou shodu hledat tuto uživatelském jménu",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Ignorovat druhé zobrazované jméno v závorkách (pokud zde je). Příklad: „První zobrazované jméno (druhé – ignorované – zobrazované jméno)“",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Zobrazit text zřeknutí se odpovědnosti na stránce pro nahrání veřejného odkazu. (zobrazit pouze pokud je seznam souborů skrytý)",
"This text will be shown on the public link upload page when the file list is hidden." : "Tento text bude zobrazen on stránce pro nahrání veřejného odkazu, pokud bude seznam souborů skrytý.",
"Default share permissions" : "Výchozí oprávnění sdílení",
@@ -516,11 +516,6 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Povolit automatické dokončování uživatelského jména při zadávání celého jména nebo e-mailové adresy (při ignorování chybějící shody s telefonním seznamem a toho, že je ve stejné skupině)",
"Change privacy level of full name" : "Změnit úroveň soukromí pro celé jméno",
"No display name set" : "Nenastaveno žádné zobrazované jméno",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Je téměř vyčerpán nejvyšší umožněný počet klíčů v OPcache. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.max_accelerated_files</code> s hodnotou vyšší než <code>%s</code>.",
- "Update all" : "Aktualizovat vše",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Pro optimální výkon je důležité správně nastavit úlohy spouštěné na pozadí. Pro větší instance je doporučenou metodou použití systémového plánovače (cron). Více informací naleznete v dokumentaci.",
- "Execute one task with each page loaded." : "Spustit jednu úlohu s načtením každé stránky.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php je zaregistrován na službě webcron a bude přes HTTP volán každých 5 minut.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Použít systémový plánovač (cron) pro volání souboru cron.php každých 5 minut."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Je téměř vyčerpán nejvyšší umožněný počet klíčů v OPcache. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.max_accelerated_files</code> s hodnotou vyšší než <code>%s</code>."
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/da.js b/apps/settings/l10n/da.js
index 729951efa26..b42e6d24021 100644
--- a/apps/settings/l10n/da.js
+++ b/apps/settings/l10n/da.js
@@ -488,11 +488,6 @@ OC.L10N.register(
"days" : "dage",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tillad autofuldførelse af brugernavn, når du indtaster det fulde navn eller e-mailadresse (ignorerer manglende telefonbogsmatch og er i samme gruppe)",
"Change privacy level of full name" : "Skift privatlivsniveau for det fulde navn",
- "No display name set" : "Der er ikke angivet skærmnavn",
- "Update all" : "Opdater alle",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "For optimal ydeevne er det vigtigt at konfigurere baggrundsjob korrekt. For større tilfælde er 'Cron' den anbefalede indstilling. Se venligst dokumentationen for mere information.",
- "Execute one task with each page loaded." : "Udfør én opgave med hver side indlæst.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php er registreret på en webcron-tjeneste til at ringe til cron.php hvert 5. minut over HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Brug systemets cron-tjeneste til at ringe til cron.php-filen hvert 5. minut."
+ "No display name set" : "Der er ikke angivet skærmnavn"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/da.json b/apps/settings/l10n/da.json
index bc5c7d4d349..ec45cea1466 100644
--- a/apps/settings/l10n/da.json
+++ b/apps/settings/l10n/da.json
@@ -486,11 +486,6 @@
"days" : "dage",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tillad autofuldførelse af brugernavn, når du indtaster det fulde navn eller e-mailadresse (ignorerer manglende telefonbogsmatch og er i samme gruppe)",
"Change privacy level of full name" : "Skift privatlivsniveau for det fulde navn",
- "No display name set" : "Der er ikke angivet skærmnavn",
- "Update all" : "Opdater alle",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "For optimal ydeevne er det vigtigt at konfigurere baggrundsjob korrekt. For større tilfælde er 'Cron' den anbefalede indstilling. Se venligst dokumentationen for mere information.",
- "Execute one task with each page loaded." : "Udfør én opgave med hver side indlæst.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php er registreret på en webcron-tjeneste til at ringe til cron.php hvert 5. minut over HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Brug systemets cron-tjeneste til at ringe til cron.php-filen hvert 5. minut."
+ "No display name set" : "Der er ikke angivet skærmnavn"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/de.js b/apps/settings/l10n/de.js
index eda12a47de5..3dd038c943a 100644
--- a/apps/settings/l10n/de.js
+++ b/apps/settings/l10n/de.js
@@ -57,6 +57,7 @@ OC.L10N.register(
"Couldn't remove app." : "Die App konnte nicht entfernt werden.",
"Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
"Wrong password" : "Falsches Passwort",
+ "Unable to change personal password" : "Das persönliche Passwort konnte nicht geändert werden",
"Saved" : "Gespeichert",
"No user supplied" : "Kein Benutzer angegeben",
"Authentication error" : "Authentifizierungsfehler",
@@ -457,8 +458,6 @@ OC.L10N.register(
"Allow username autocompletion to users based on phone number integration" : "Automatische Vervollständigung des Benutzernamens für Benutzer basierend auf der Rufnummernintegration zulassen",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Wenn die Autovervollständigung \"gleiche Gruppe\" und \"Rufnummernintegration\" aktiviert ist, reicht eine Übereinstimmung in einem der beiden Bereiche aus, um den Benutzer anzuzeigen.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und bei gleicher Gruppenzugehörigkeit)",
- "Match username when restricting to full match" : "Übereinstimmung mit dem Benutzernamen bei Einschränkung auf vollständige Übereinstimmung",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Den zweiten Anzeigenamen in Klammern ignorieren, falls vorhanden (Beispiel: \"Erster Anzeigename (zweiter ignorierter Anzeigename)\")",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.) ",
"This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.",
"Default share permissions" : "Standardberechtigungen für das Teilen",
@@ -509,11 +508,6 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung des Benutzernamens, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und bei gleicher Gruppenzugehörigkeit). ",
"Change privacy level of full name" : "Datenschutzstufe des vollständigen Namens ändern",
"No display name set" : "Kein Anzeigename angegeben",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in Deiner PHP-Konfiguration anzuwenden.",
- "Update all" : "Alle aktualisieren",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Um die optimale Geschwindigkeit zu erreichen ist es wichtig, dass die Hintergrund-Aktivitäten richtig konfiguriert sind. Für größere Installationen ist 'Cron' die empfohlene Einstellung. Weitere Informationen findest Du in der Dokumentation.",
- "Execute one task with each page loaded." : "Eine Aufgabe bei jedem Laden einer Seite ausführen.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php ist bei einem Webcron-Dienst angemeldet, der cron.php alle 5 Minuten über HTTP aufruft.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Den System-Cron-Dienst verwenden, um die Datei cron.php alle 5 Minuten aufzurufen."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in Deiner PHP-Konfiguration anzuwenden."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/de.json b/apps/settings/l10n/de.json
index d6565162d25..df21ac989f3 100644
--- a/apps/settings/l10n/de.json
+++ b/apps/settings/l10n/de.json
@@ -55,6 +55,7 @@
"Couldn't remove app." : "Die App konnte nicht entfernt werden.",
"Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
"Wrong password" : "Falsches Passwort",
+ "Unable to change personal password" : "Das persönliche Passwort konnte nicht geändert werden",
"Saved" : "Gespeichert",
"No user supplied" : "Kein Benutzer angegeben",
"Authentication error" : "Authentifizierungsfehler",
@@ -455,8 +456,6 @@
"Allow username autocompletion to users based on phone number integration" : "Automatische Vervollständigung des Benutzernamens für Benutzer basierend auf der Rufnummernintegration zulassen",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Wenn die Autovervollständigung \"gleiche Gruppe\" und \"Rufnummernintegration\" aktiviert ist, reicht eine Übereinstimmung in einem der beiden Bereiche aus, um den Benutzer anzuzeigen.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und bei gleicher Gruppenzugehörigkeit)",
- "Match username when restricting to full match" : "Übereinstimmung mit dem Benutzernamen bei Einschränkung auf vollständige Übereinstimmung",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Den zweiten Anzeigenamen in Klammern ignorieren, falls vorhanden (Beispiel: \"Erster Anzeigename (zweiter ignorierter Anzeigename)\")",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.) ",
"This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.",
"Default share permissions" : "Standardberechtigungen für das Teilen",
@@ -507,11 +506,6 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung des Benutzernamens, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und bei gleicher Gruppenzugehörigkeit). ",
"Change privacy level of full name" : "Datenschutzstufe des vollständigen Namens ändern",
"No display name set" : "Kein Anzeigename angegeben",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in Deiner PHP-Konfiguration anzuwenden.",
- "Update all" : "Alle aktualisieren",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Um die optimale Geschwindigkeit zu erreichen ist es wichtig, dass die Hintergrund-Aktivitäten richtig konfiguriert sind. Für größere Installationen ist 'Cron' die empfohlene Einstellung. Weitere Informationen findest Du in der Dokumentation.",
- "Execute one task with each page loaded." : "Eine Aufgabe bei jedem Laden einer Seite ausführen.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php ist bei einem Webcron-Dienst angemeldet, der cron.php alle 5 Minuten über HTTP aufruft.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Den System-Cron-Dienst verwenden, um die Datei cron.php alle 5 Minuten aufzurufen."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in Deiner PHP-Konfiguration anzuwenden."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/de_DE.js b/apps/settings/l10n/de_DE.js
index da3cb7ce05a..bcf23f7a337 100644
--- a/apps/settings/l10n/de_DE.js
+++ b/apps/settings/l10n/de_DE.js
@@ -57,6 +57,7 @@ OC.L10N.register(
"Couldn't remove app." : "Die App konnte nicht entfernt werden.",
"Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
"Wrong password" : "Falsches Passwort",
+ "Unable to change personal password" : "Das persönliche Passwort konnte nicht geändert werden",
"Saved" : "Gespeichert",
"No user supplied" : "Kein Benutzer angegeben",
"Authentication error" : "Authentifizierungsfehler",
@@ -467,8 +468,6 @@ OC.L10N.register(
"Allow username autocompletion to users based on phone number integration" : "Automatische Vervollständigung des Benutzernamens für Benutzer basierend auf der Rufnummernintegration zulassen",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Wenn die Autovervollständigung \"gleiche Gruppe\" und \"Rufnummernintegration\" aktiviert ist, reicht eine Übereinstimmung in einem der beiden Bereiche aus, um den Benutzer anzuzeigen.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung, wenn der volle Namen oder E-Mail-Adresse eingegeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeit)",
- "Match username when restricting to full match" : "Übereinstimmung mit dem Benutzernamen bei Einschränkung auf vollständige Übereinstimmung",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Den zweiten Anzeigenamen in Klammern ignorieren, falls vorhanden (Beispiel: \"Erster Anzeigename (zweiter ignorierter Anzeigename)\")",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.) ",
"This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.",
"Default share permissions" : "Standardberechtigungen für das Teilen",
@@ -519,11 +518,6 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung des Benutzernamens, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeiten).",
"Change privacy level of full name" : "Datenschutzstufe des vollen Namens ändern",
"No display name set" : "Kein Anzeigename angegeben",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> auf Ihre PHP-Konfiguration anzuwenden.",
- "Update all" : "Alle aktualisieren",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Um die optimale Geschwindigkeit zu erreichen ist es wichtig, dass die Hintergrund-Aktivitäten richtig konfiguriert sind. Für größere Installationen ist 'Cron' die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.",
- "Execute one task with each page loaded." : "Eine Aufgabe bei jedem Laden einer Seite ausführen.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php ist bei einem Webcron-Dienst angemeldet, der cron.php alle 5 Minuten über HTTP aufruft.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Den System-Cron-Dienst verwenden, um die Datei cron.php alle 5 Minuten aufzurufen."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> auf Ihre PHP-Konfiguration anzuwenden."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/de_DE.json b/apps/settings/l10n/de_DE.json
index 2d135652185..cd866d9788e 100644
--- a/apps/settings/l10n/de_DE.json
+++ b/apps/settings/l10n/de_DE.json
@@ -55,6 +55,7 @@
"Couldn't remove app." : "Die App konnte nicht entfernt werden.",
"Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
"Wrong password" : "Falsches Passwort",
+ "Unable to change personal password" : "Das persönliche Passwort konnte nicht geändert werden",
"Saved" : "Gespeichert",
"No user supplied" : "Kein Benutzer angegeben",
"Authentication error" : "Authentifizierungsfehler",
@@ -465,8 +466,6 @@
"Allow username autocompletion to users based on phone number integration" : "Automatische Vervollständigung des Benutzernamens für Benutzer basierend auf der Rufnummernintegration zulassen",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Wenn die Autovervollständigung \"gleiche Gruppe\" und \"Rufnummernintegration\" aktiviert ist, reicht eine Übereinstimmung in einem der beiden Bereiche aus, um den Benutzer anzuzeigen.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung, wenn der volle Namen oder E-Mail-Adresse eingegeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeit)",
- "Match username when restricting to full match" : "Übereinstimmung mit dem Benutzernamen bei Einschränkung auf vollständige Übereinstimmung",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Den zweiten Anzeigenamen in Klammern ignorieren, falls vorhanden (Beispiel: \"Erster Anzeigename (zweiter ignorierter Anzeigename)\")",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.) ",
"This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.",
"Default share permissions" : "Standardberechtigungen für das Teilen",
@@ -517,11 +516,6 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung des Benutzernamens, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeiten).",
"Change privacy level of full name" : "Datenschutzstufe des vollen Namens ändern",
"No display name set" : "Kein Anzeigename angegeben",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> auf Ihre PHP-Konfiguration anzuwenden.",
- "Update all" : "Alle aktualisieren",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Um die optimale Geschwindigkeit zu erreichen ist es wichtig, dass die Hintergrund-Aktivitäten richtig konfiguriert sind. Für größere Installationen ist 'Cron' die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.",
- "Execute one task with each page loaded." : "Eine Aufgabe bei jedem Laden einer Seite ausführen.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php ist bei einem Webcron-Dienst angemeldet, der cron.php alle 5 Minuten über HTTP aufruft.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Den System-Cron-Dienst verwenden, um die Datei cron.php alle 5 Minuten aufzurufen."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> auf Ihre PHP-Konfiguration anzuwenden."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/el.js b/apps/settings/l10n/el.js
index 7ebf5fd6bab..d4977285e29 100644
--- a/apps/settings/l10n/el.js
+++ b/apps/settings/l10n/el.js
@@ -492,11 +492,6 @@ OC.L10N.register(
"Test email settings" : "Δοκιμή ρυθμίσεων email",
"days" : "ημέρες",
"Change privacy level of full name" : "Αλλαγή επιπέδου απορρήτου του ονοματεπώνυμου",
- "No display name set" : "Δεν ορίστηκε όνομα",
- "Update all" : "Ενημέρωση όλων",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Για βέλτιστη απόδοση είναι σημαντικό να ρυθμίσετε σωστά τις εργασίες παρασκηνίου. Για μεγαλύτερα συστήματα, η συνιστώμενη ρύθμιση είναι \"Cron\". Για περισσότερες πληροφορίες, ανατρέξτε στην τεκμηρίωση.",
- "Execute one task with each page loaded." : "Εκτελέστε μια εργασία με κάθε σελίδα φορτωμένη.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "Το cron.php είναι καταχωρημένο σε μια υπηρεσία webcron ώστε να καλεί το cron.php κάθε 5 λεπτά μέσω HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Χρησιμοποιήστε την cron υπηρεσία του συστήματος για να καλέσετε το cron.php αρχείο κάθε 5 λεπτά."
+ "No display name set" : "Δεν ορίστηκε όνομα"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/el.json b/apps/settings/l10n/el.json
index 19d47e14c8a..893b90929c8 100644
--- a/apps/settings/l10n/el.json
+++ b/apps/settings/l10n/el.json
@@ -490,11 +490,6 @@
"Test email settings" : "Δοκιμή ρυθμίσεων email",
"days" : "ημέρες",
"Change privacy level of full name" : "Αλλαγή επιπέδου απορρήτου του ονοματεπώνυμου",
- "No display name set" : "Δεν ορίστηκε όνομα",
- "Update all" : "Ενημέρωση όλων",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Για βέλτιστη απόδοση είναι σημαντικό να ρυθμίσετε σωστά τις εργασίες παρασκηνίου. Για μεγαλύτερα συστήματα, η συνιστώμενη ρύθμιση είναι \"Cron\". Για περισσότερες πληροφορίες, ανατρέξτε στην τεκμηρίωση.",
- "Execute one task with each page loaded." : "Εκτελέστε μια εργασία με κάθε σελίδα φορτωμένη.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "Το cron.php είναι καταχωρημένο σε μια υπηρεσία webcron ώστε να καλεί το cron.php κάθε 5 λεπτά μέσω HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Χρησιμοποιήστε την cron υπηρεσία του συστήματος για να καλέσετε το cron.php αρχείο κάθε 5 λεπτά."
+ "No display name set" : "Δεν ορίστηκε όνομα"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/en_GB.js b/apps/settings/l10n/en_GB.js
index 6c0cb446ea2..7345e88958a 100644
--- a/apps/settings/l10n/en_GB.js
+++ b/apps/settings/l10n/en_GB.js
@@ -284,7 +284,6 @@ OC.L10N.register(
"App update" : "App update",
"Test email settings" : "Test email settings",
"days" : "days",
- "No display name set" : "No display name set",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information."
+ "No display name set" : "No display name set"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/en_GB.json b/apps/settings/l10n/en_GB.json
index 2c03bd15ffc..84d931a0df0 100644
--- a/apps/settings/l10n/en_GB.json
+++ b/apps/settings/l10n/en_GB.json
@@ -282,7 +282,6 @@
"App update" : "App update",
"Test email settings" : "Test email settings",
"days" : "days",
- "No display name set" : "No display name set",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information."
+ "No display name set" : "No display name set"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/eo.js b/apps/settings/l10n/eo.js
index c2dbe1e7d17..a594948f626 100644
--- a/apps/settings/l10n/eo.js
+++ b/apps/settings/l10n/eo.js
@@ -363,9 +363,6 @@ OC.L10N.register(
"App update" : "Aplikaĵa ĝisdatigo",
"Test email settings" : "Provi retpoŝtagordon",
"days" : "tagoj",
- "No display name set" : "Neniui vidiga nomo agordita",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Por optimuma rendimento, gravas bone agordi fonajn taskojn. Por serviloj kun multe da uzantoj kaj datumoj, „Cron“ estas rekomendita. Bv. vidi la dokumentaron por pli da informoj.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php estas registrita ĉe perreta „cron“-servo por esti vokita ĉiujn 5 minutojn per HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Uzu la sisteman „cron“-servon por voki cron.php ĉiujn 5 minutojn."
+ "No display name set" : "Neniui vidiga nomo agordita"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/eo.json b/apps/settings/l10n/eo.json
index 6e1dd28efe5..7d960056e12 100644
--- a/apps/settings/l10n/eo.json
+++ b/apps/settings/l10n/eo.json
@@ -361,9 +361,6 @@
"App update" : "Aplikaĵa ĝisdatigo",
"Test email settings" : "Provi retpoŝtagordon",
"days" : "tagoj",
- "No display name set" : "Neniui vidiga nomo agordita",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Por optimuma rendimento, gravas bone agordi fonajn taskojn. Por serviloj kun multe da uzantoj kaj datumoj, „Cron“ estas rekomendita. Bv. vidi la dokumentaron por pli da informoj.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php estas registrita ĉe perreta „cron“-servo por esti vokita ĉiujn 5 minutojn per HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Uzu la sisteman „cron“-servon por voki cron.php ĉiujn 5 minutojn."
+ "No display name set" : "Neniui vidiga nomo agordita"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es.js b/apps/settings/l10n/es.js
index 0855fc5e6e4..ae117dd95d5 100644
--- a/apps/settings/l10n/es.js
+++ b/apps/settings/l10n/es.js
@@ -499,11 +499,6 @@ OC.L10N.register(
"days" : "días",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir autocompletado del nombre de usuario cuando se introduzca el nombre completo o la dirección del email (ignorando la falta de coincidencia en la agenda de teléfonos y ser del mismo grupo)",
"Change privacy level of full name" : "Cambiar nivel de privacidad del nombre completo",
- "No display name set" : "No se ha establecido ningún nombre para mostrar",
- "Update all" : "Actualizar todo",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un rendimiento óptimo es importante configurar correctamente los procesos en segundo plano. Para las instancias más grandes la configuración recomendada es 'Cron'. Por favor, lea la documentación para más información.",
- "Execute one task with each page loaded." : "Ejecutar una tarea con cada página cargada.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php está registrado en un servicio de web cron para llamar a cron.php cada 5 minutos por HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Usa el servicio cron del sistema para llamar al archivo cron.php cada 5 minutos."
+ "No display name set" : "No se ha establecido ningún nombre para mostrar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es.json b/apps/settings/l10n/es.json
index 5a142d0b646..faffac5655f 100644
--- a/apps/settings/l10n/es.json
+++ b/apps/settings/l10n/es.json
@@ -497,11 +497,6 @@
"days" : "días",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir autocompletado del nombre de usuario cuando se introduzca el nombre completo o la dirección del email (ignorando la falta de coincidencia en la agenda de teléfonos y ser del mismo grupo)",
"Change privacy level of full name" : "Cambiar nivel de privacidad del nombre completo",
- "No display name set" : "No se ha establecido ningún nombre para mostrar",
- "Update all" : "Actualizar todo",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un rendimiento óptimo es importante configurar correctamente los procesos en segundo plano. Para las instancias más grandes la configuración recomendada es 'Cron'. Por favor, lea la documentación para más información.",
- "Execute one task with each page loaded." : "Ejecutar una tarea con cada página cargada.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php está registrado en un servicio de web cron para llamar a cron.php cada 5 minutos por HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Usa el servicio cron del sistema para llamar al archivo cron.php cada 5 minutos."
+ "No display name set" : "No se ha establecido ningún nombre para mostrar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_419.js b/apps/settings/l10n/es_419.js
index d1bd2ef2ef2..9137ebdf713 100644
--- a/apps/settings/l10n/es_419.js
+++ b/apps/settings/l10n/es_419.js
@@ -265,7 +265,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_419.json b/apps/settings/l10n/es_419.json
index a88fd6c3ddf..30ec7fb59da 100644
--- a/apps/settings/l10n/es_419.json
+++ b/apps/settings/l10n/es_419.json
@@ -263,7 +263,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_AR.js b/apps/settings/l10n/es_AR.js
index 9579c47ebe2..560aa50097d 100644
--- a/apps/settings/l10n/es_AR.js
+++ b/apps/settings/l10n/es_AR.js
@@ -251,7 +251,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctametne. Para instancias más grandes 'Cron' es el ajuste recomendado. Favor de consultar la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_AR.json b/apps/settings/l10n/es_AR.json
index 10eb5632103..54520c86120 100644
--- a/apps/settings/l10n/es_AR.json
+++ b/apps/settings/l10n/es_AR.json
@@ -249,7 +249,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctametne. Para instancias más grandes 'Cron' es el ajuste recomendado. Favor de consultar la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_CL.js b/apps/settings/l10n/es_CL.js
index 995b1bf5daa..3c9c8ed181b 100644
--- a/apps/settings/l10n/es_CL.js
+++ b/apps/settings/l10n/es_CL.js
@@ -261,7 +261,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_CL.json b/apps/settings/l10n/es_CL.json
index 17064a9beeb..4d0a92ff667 100644
--- a/apps/settings/l10n/es_CL.json
+++ b/apps/settings/l10n/es_CL.json
@@ -259,7 +259,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_CO.js b/apps/settings/l10n/es_CO.js
index 995b1bf5daa..3c9c8ed181b 100644
--- a/apps/settings/l10n/es_CO.js
+++ b/apps/settings/l10n/es_CO.js
@@ -261,7 +261,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_CO.json b/apps/settings/l10n/es_CO.json
index 17064a9beeb..4d0a92ff667 100644
--- a/apps/settings/l10n/es_CO.json
+++ b/apps/settings/l10n/es_CO.json
@@ -259,7 +259,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_CR.js b/apps/settings/l10n/es_CR.js
index 995b1bf5daa..3c9c8ed181b 100644
--- a/apps/settings/l10n/es_CR.js
+++ b/apps/settings/l10n/es_CR.js
@@ -261,7 +261,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_CR.json b/apps/settings/l10n/es_CR.json
index 17064a9beeb..4d0a92ff667 100644
--- a/apps/settings/l10n/es_CR.json
+++ b/apps/settings/l10n/es_CR.json
@@ -259,7 +259,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_DO.js b/apps/settings/l10n/es_DO.js
index 995b1bf5daa..3c9c8ed181b 100644
--- a/apps/settings/l10n/es_DO.js
+++ b/apps/settings/l10n/es_DO.js
@@ -261,7 +261,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_DO.json b/apps/settings/l10n/es_DO.json
index 17064a9beeb..4d0a92ff667 100644
--- a/apps/settings/l10n/es_DO.json
+++ b/apps/settings/l10n/es_DO.json
@@ -259,7 +259,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_EC.js b/apps/settings/l10n/es_EC.js
index 995b1bf5daa..3c9c8ed181b 100644
--- a/apps/settings/l10n/es_EC.js
+++ b/apps/settings/l10n/es_EC.js
@@ -261,7 +261,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_EC.json b/apps/settings/l10n/es_EC.json
index 17064a9beeb..4d0a92ff667 100644
--- a/apps/settings/l10n/es_EC.json
+++ b/apps/settings/l10n/es_EC.json
@@ -259,7 +259,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_GT.js b/apps/settings/l10n/es_GT.js
index 995b1bf5daa..3c9c8ed181b 100644
--- a/apps/settings/l10n/es_GT.js
+++ b/apps/settings/l10n/es_GT.js
@@ -261,7 +261,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_GT.json b/apps/settings/l10n/es_GT.json
index 17064a9beeb..4d0a92ff667 100644
--- a/apps/settings/l10n/es_GT.json
+++ b/apps/settings/l10n/es_GT.json
@@ -259,7 +259,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_HN.js b/apps/settings/l10n/es_HN.js
index c2c63fc7a80..ebd1bdfba71 100644
--- a/apps/settings/l10n/es_HN.js
+++ b/apps/settings/l10n/es_HN.js
@@ -254,7 +254,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_HN.json b/apps/settings/l10n/es_HN.json
index 2d82fb72f27..810a750047a 100644
--- a/apps/settings/l10n/es_HN.json
+++ b/apps/settings/l10n/es_HN.json
@@ -252,7 +252,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_MX.js b/apps/settings/l10n/es_MX.js
index b8b772f2c15..b652855054a 100644
--- a/apps/settings/l10n/es_MX.js
+++ b/apps/settings/l10n/es_MX.js
@@ -285,7 +285,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_MX.json b/apps/settings/l10n/es_MX.json
index 6a6a93cfaaa..cd1bca206b9 100644
--- a/apps/settings/l10n/es_MX.json
+++ b/apps/settings/l10n/es_MX.json
@@ -283,7 +283,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_NI.js b/apps/settings/l10n/es_NI.js
index c2c63fc7a80..ebd1bdfba71 100644
--- a/apps/settings/l10n/es_NI.js
+++ b/apps/settings/l10n/es_NI.js
@@ -254,7 +254,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_NI.json b/apps/settings/l10n/es_NI.json
index 2d82fb72f27..810a750047a 100644
--- a/apps/settings/l10n/es_NI.json
+++ b/apps/settings/l10n/es_NI.json
@@ -252,7 +252,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_PA.js b/apps/settings/l10n/es_PA.js
index c2c63fc7a80..ebd1bdfba71 100644
--- a/apps/settings/l10n/es_PA.js
+++ b/apps/settings/l10n/es_PA.js
@@ -254,7 +254,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_PA.json b/apps/settings/l10n/es_PA.json
index 2d82fb72f27..810a750047a 100644
--- a/apps/settings/l10n/es_PA.json
+++ b/apps/settings/l10n/es_PA.json
@@ -252,7 +252,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_PE.js b/apps/settings/l10n/es_PE.js
index c2c63fc7a80..ebd1bdfba71 100644
--- a/apps/settings/l10n/es_PE.js
+++ b/apps/settings/l10n/es_PE.js
@@ -254,7 +254,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_PE.json b/apps/settings/l10n/es_PE.json
index 2d82fb72f27..810a750047a 100644
--- a/apps/settings/l10n/es_PE.json
+++ b/apps/settings/l10n/es_PE.json
@@ -252,7 +252,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_PR.js b/apps/settings/l10n/es_PR.js
index c2c63fc7a80..ebd1bdfba71 100644
--- a/apps/settings/l10n/es_PR.js
+++ b/apps/settings/l10n/es_PR.js
@@ -254,7 +254,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_PR.json b/apps/settings/l10n/es_PR.json
index 2d82fb72f27..810a750047a 100644
--- a/apps/settings/l10n/es_PR.json
+++ b/apps/settings/l10n/es_PR.json
@@ -252,7 +252,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_PY.js b/apps/settings/l10n/es_PY.js
index c2c63fc7a80..ebd1bdfba71 100644
--- a/apps/settings/l10n/es_PY.js
+++ b/apps/settings/l10n/es_PY.js
@@ -254,7 +254,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_PY.json b/apps/settings/l10n/es_PY.json
index 2d82fb72f27..810a750047a 100644
--- a/apps/settings/l10n/es_PY.json
+++ b/apps/settings/l10n/es_PY.json
@@ -252,7 +252,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_SV.js b/apps/settings/l10n/es_SV.js
index 995b1bf5daa..3c9c8ed181b 100644
--- a/apps/settings/l10n/es_SV.js
+++ b/apps/settings/l10n/es_SV.js
@@ -261,7 +261,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_SV.json b/apps/settings/l10n/es_SV.json
index 17064a9beeb..4d0a92ff667 100644
--- a/apps/settings/l10n/es_SV.json
+++ b/apps/settings/l10n/es_SV.json
@@ -259,7 +259,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_UY.js b/apps/settings/l10n/es_UY.js
index c2c63fc7a80..ebd1bdfba71 100644
--- a/apps/settings/l10n/es_UY.js
+++ b/apps/settings/l10n/es_UY.js
@@ -254,7 +254,6 @@ OC.L10N.register(
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/es_UY.json b/apps/settings/l10n/es_UY.json
index 2d82fb72f27..810a750047a 100644
--- a/apps/settings/l10n/es_UY.json
+++ b/apps/settings/l10n/es_UY.json
@@ -252,7 +252,6 @@
"App update" : "Actualización de la aplicación",
"Test email settings" : "Probar las configuraciones de correo electrónico",
"days" : "días",
- "No display name set" : "No se ha establecido el nombre a desplegar",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un desempeño ideal, es importante configurar los trabajos de fondo correctamente. Para instancias más grandes 'Cron' es la configuración recomendada. Por favor consulta la documentación para más información. "
+ "No display name set" : "No se ha establecido el nombre a desplegar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/eu.js b/apps/settings/l10n/eu.js
index e382bbeb381..45c26b905be 100644
--- a/apps/settings/l10n/eu.js
+++ b/apps/settings/l10n/eu.js
@@ -170,6 +170,7 @@ OC.L10N.register(
"Disable all" : "Desgaitu guztia",
"Enable all" : "Gaitu denak",
"_%n app has an update available_::_%n apps have an update available_" : ["Aplikazio %nek eguneraketa dauka prest.","%n aplikaziok eguneraketa daukate prest."],
+ "_Update_::_Update all_" : ["Eguneratu","Eguneratu denak"],
"Marked for remote wipe" : "Urruneko garbiketarako markatuta",
"Device settings" : "Gailuaren ezarpenak",
"Allow filesystem access" : "Onartu fitxategi sisteman sarbidea",
@@ -214,6 +215,7 @@ OC.L10N.register(
"Could not copy app password. Please copy it manually." : "Ezin izan da aplikazioaren pasahitza kopiatu. Kopia ezazu eskuz, mesedez.",
"Profile" : "Profila",
"Enable" : "Gaitu",
+ "Rename group" : "Berrizendatu taldea",
"Remove group" : "Ezabatu taldea",
"You are about to remove the group {group}. The users will NOT be deleted." : "{group} taldea ezabatzera zoaz. Erabiltzaileak EZ dira ezabatuko.",
"Please confirm the group removal " : "Mesedez, baieztatu taldearen ezabaketa",
@@ -487,11 +489,6 @@ OC.L10N.register(
"days" : "egun",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Baimendu erabiltzaile-izena automatikoki osatzea izen osoa edo helbide elektronikoa idazterakoan (falta den telefono-agendaren bat-etortzea eta talde berean egotea alde batera utziz)",
"Change privacy level of full name" : "Aldatu izen osoaren pribatutasun maila",
- "No display name set" : "Ez da bistaratze izena ezarri",
- "Update all" : "Eguneratu denak",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Errendimendu ona izateko garrantzitsua da atzeko planoko atazak ondo konfiguratzea. Instantzia handientzat 'Cron' erabiltzea gomendatzen da. Irakurri dokumentazioa informazio gehiago lortzeko.",
- "Execute one task with each page loaded." : "Exekutatu zeregin bat orri karga bakoitzarekin.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "webcron zerbitzua cron.php-ri 5 minutuan behin HTTP bidez deitzeko konfiguratu da.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Sistemaren cron zerbitzua erabili cron.php-ri 5 minutuan behin deitzeko."
+ "No display name set" : "Ez da bistaratze izena ezarri"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/eu.json b/apps/settings/l10n/eu.json
index 01606bec224..e5e45ef7f68 100644
--- a/apps/settings/l10n/eu.json
+++ b/apps/settings/l10n/eu.json
@@ -168,6 +168,7 @@
"Disable all" : "Desgaitu guztia",
"Enable all" : "Gaitu denak",
"_%n app has an update available_::_%n apps have an update available_" : ["Aplikazio %nek eguneraketa dauka prest.","%n aplikaziok eguneraketa daukate prest."],
+ "_Update_::_Update all_" : ["Eguneratu","Eguneratu denak"],
"Marked for remote wipe" : "Urruneko garbiketarako markatuta",
"Device settings" : "Gailuaren ezarpenak",
"Allow filesystem access" : "Onartu fitxategi sisteman sarbidea",
@@ -212,6 +213,7 @@
"Could not copy app password. Please copy it manually." : "Ezin izan da aplikazioaren pasahitza kopiatu. Kopia ezazu eskuz, mesedez.",
"Profile" : "Profila",
"Enable" : "Gaitu",
+ "Rename group" : "Berrizendatu taldea",
"Remove group" : "Ezabatu taldea",
"You are about to remove the group {group}. The users will NOT be deleted." : "{group} taldea ezabatzera zoaz. Erabiltzaileak EZ dira ezabatuko.",
"Please confirm the group removal " : "Mesedez, baieztatu taldearen ezabaketa",
@@ -485,11 +487,6 @@
"days" : "egun",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Baimendu erabiltzaile-izena automatikoki osatzea izen osoa edo helbide elektronikoa idazterakoan (falta den telefono-agendaren bat-etortzea eta talde berean egotea alde batera utziz)",
"Change privacy level of full name" : "Aldatu izen osoaren pribatutasun maila",
- "No display name set" : "Ez da bistaratze izena ezarri",
- "Update all" : "Eguneratu denak",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Errendimendu ona izateko garrantzitsua da atzeko planoko atazak ondo konfiguratzea. Instantzia handientzat 'Cron' erabiltzea gomendatzen da. Irakurri dokumentazioa informazio gehiago lortzeko.",
- "Execute one task with each page loaded." : "Exekutatu zeregin bat orri karga bakoitzarekin.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "webcron zerbitzua cron.php-ri 5 minutuan behin HTTP bidez deitzeko konfiguratu da.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Sistemaren cron zerbitzua erabili cron.php-ri 5 minutuan behin deitzeko."
+ "No display name set" : "Ez da bistaratze izena ezarri"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/fa.js b/apps/settings/l10n/fa.js
index 002ac886369..82cea72b420 100644
--- a/apps/settings/l10n/fa.js
+++ b/apps/settings/l10n/fa.js
@@ -371,10 +371,6 @@ OC.L10N.register(
"App update" : "به روز رسانی برنامه",
"Test email settings" : "تنظیمات ایمیل آزمایشی",
"days" : "روز",
- "No display name set" : "هیچ نام نمایشی تعیین نشده است",
- "Update all" : "بروزرسانی همه",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "برای عملکرد بهینه ، پیکربندی صحیح کارهای پس زمینه مهم است. برای موارد بزرگتر گزینه \"Cron\" توصیه می شود. لطفا برای اطلاعات بیشتر به اسناد مراجعه کنید.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php در یک سرویس webcron ثبت شده است تا cron.php هر 5 دقیقه با HTTP تماس بگیرید .",
- "Use system cron service to call the cron.php file every 5 minutes." : "برای تماس با پرونده cron.php هر 5 دقیقه یکبار از سرویس cron system استفاده کنید."
+ "No display name set" : "هیچ نام نمایشی تعیین نشده است"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/settings/l10n/fa.json b/apps/settings/l10n/fa.json
index 355d74d5e33..a464403778f 100644
--- a/apps/settings/l10n/fa.json
+++ b/apps/settings/l10n/fa.json
@@ -369,10 +369,6 @@
"App update" : "به روز رسانی برنامه",
"Test email settings" : "تنظیمات ایمیل آزمایشی",
"days" : "روز",
- "No display name set" : "هیچ نام نمایشی تعیین نشده است",
- "Update all" : "بروزرسانی همه",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "برای عملکرد بهینه ، پیکربندی صحیح کارهای پس زمینه مهم است. برای موارد بزرگتر گزینه \"Cron\" توصیه می شود. لطفا برای اطلاعات بیشتر به اسناد مراجعه کنید.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php در یک سرویس webcron ثبت شده است تا cron.php هر 5 دقیقه با HTTP تماس بگیرید .",
- "Use system cron service to call the cron.php file every 5 minutes." : "برای تماس با پرونده cron.php هر 5 دقیقه یکبار از سرویس cron system استفاده کنید."
+ "No display name set" : "هیچ نام نمایشی تعیین نشده است"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/fi.js b/apps/settings/l10n/fi.js
index e1cb801e090..321ed58f020 100644
--- a/apps/settings/l10n/fi.js
+++ b/apps/settings/l10n/fi.js
@@ -450,11 +450,6 @@ OC.L10N.register(
"Test email settings" : "Testaa sähköpostiasetukset",
"days" : "päivän jälkeen",
"Change privacy level of full name" : "Muuta koko nimen yksityisyystasoa",
- "No display name set" : "Näyttönimeä ei ole asetettu",
- "Update all" : "Päivitä kaikki",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Optimaalisen suorituskyvyn vuoksi on tärkeää määrittää taustatyöt oikein. Suuria asennuksia varten 'Cron' on suositeltava asetus. Lisätietoja on saatavilla dokumentaatiossa.",
- "Execute one task with each page loaded." : "Suorita tehtävä sivun latauksen yhteydessä.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "Käytä ulkoista webcron-palvelua cron.php-skriptin suorittamiseen HTTP-protokollan kautta 5 minuutin välein. ",
- "Use system cron service to call the cron.php file every 5 minutes." : "Käytä järjestelmän cron-palvelua cron.php-skriptin suorittamiseen 5 minuutin välein"
+ "No display name set" : "Näyttönimeä ei ole asetettu"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/fi.json b/apps/settings/l10n/fi.json
index 509c2c0326c..170549f614e 100644
--- a/apps/settings/l10n/fi.json
+++ b/apps/settings/l10n/fi.json
@@ -448,11 +448,6 @@
"Test email settings" : "Testaa sähköpostiasetukset",
"days" : "päivän jälkeen",
"Change privacy level of full name" : "Muuta koko nimen yksityisyystasoa",
- "No display name set" : "Näyttönimeä ei ole asetettu",
- "Update all" : "Päivitä kaikki",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Optimaalisen suorituskyvyn vuoksi on tärkeää määrittää taustatyöt oikein. Suuria asennuksia varten 'Cron' on suositeltava asetus. Lisätietoja on saatavilla dokumentaatiossa.",
- "Execute one task with each page loaded." : "Suorita tehtävä sivun latauksen yhteydessä.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "Käytä ulkoista webcron-palvelua cron.php-skriptin suorittamiseen HTTP-protokollan kautta 5 minuutin välein. ",
- "Use system cron service to call the cron.php file every 5 minutes." : "Käytä järjestelmän cron-palvelua cron.php-skriptin suorittamiseen 5 minuutin välein"
+ "No display name set" : "Näyttönimeä ei ole asetettu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/fr.js b/apps/settings/l10n/fr.js
index 152037cd02e..9b5a4db811d 100644
--- a/apps/settings/l10n/fr.js
+++ b/apps/settings/l10n/fr.js
@@ -43,6 +43,7 @@ OC.L10N.register(
"You changed your email address" : "Vous avez modifié votre adresse e-mail",
"Your email address was changed by an administrator" : "Votre adresse e-mail a été modifiée par un administrateur",
"You created app password \"{token}\"" : "Vous avez créé un mot de passe d'application \"{token}\"",
+ "An administrator created app password \"{token}\"" : "Un administrateur a créé un mot de passe d'application \"{token}\"",
"You deleted app password \"{token}\"" : "Vous avez supprimé un mot de passe d'application \"{token}\"",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Vous avez renommé le mot de passe d'application \"{token}\" en \"{newToken}\" ",
"You granted filesystem access to app password \"{token}\"" : "Vous avez accordé au système de fichiers l'accès au mot de passe d'application \"{token}\".",
@@ -66,6 +67,7 @@ OC.L10N.register(
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL utilise %1$s version (%2$s), qui est une version obsolète. Veuillez mettre à jour votre système d'exploitation, ou des fonctionnalités telles que %3$s ne fonctionneront pas correctement.",
"Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Impossible de déterminer si la version TLS de cURL est périmée ou non en raison d’une erreur survenue lors de la demande HTTPS contre https://nextcloud.com. Veuillez consulter le fichier journal de nextcloud pour plus de détails.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Le module PHP 'OPcache' n'est pas chargé. Pour de meilleures performances, il est recommandé de le charger dans votre installation PHP.",
"Invalid SMTP password." : "Mot de passe SMTP incorrect.",
"Email setting test" : "Test des paramètres e-mail",
"Well done, %s!" : "Bien joué, %s !",
@@ -385,6 +387,7 @@ OC.L10N.register(
"SMTP Username" : "Nom d'utilisateur SMTP",
"SMTP Password" : "Mot de passe SMTP",
"Save" : "Enregistrer",
+ "Test and verify email settings" : "Tester les paramètres e-mail",
"Send email" : "Envoyer un e-mail",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que celle-ci soit correctement configurée. Afin de vous aider, votre instance Nextcloud effectue des vérifications automatiques. Pour de plus amples informations, veuillez consulter la documentation liée.",
"All checks passed." : "Tous les tests ont réussi.",
@@ -415,8 +418,10 @@ OC.L10N.register(
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Certaines tâches n’ont pas été exécutées depuis 1%s. Veuillez envisager de passer à un système cron.",
"Last job ran %s." : "Dernière tâche exécutée %s.",
"Background job didn’t run yet!" : "La tâche de fond n'a pas encore tourné!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "Pour que le serveur fonctionne correctement, il est important de configurer correctement les travaux en arrière-plan. 'Cron' est le paramètre recommandé. Veuillez vous référer à la documentation Nextcloud pour plus d'informations.",
"Pick background job setting" : "Définir les paramètres pour la tâche d'arrière-plan",
"Recommended" : "Recommandée",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Utiliser le service cron du système pour appeler le fichier 'cron.php' toutes les 5 minutes.",
"The cron.php needs to be executed by the system user \"%s\"." : "Le cron.php doit être exécuté par l'utilisateur système \"%s\".",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Pour l'exécuter, vous devez avoir l'extension PHP POSIX. Regarder la {linkstart}documentation PHP{linkend} pour plus de détails.",
"You need to enable the File sharing App." : "Vous devez activer l'application de partage de fichiers",
@@ -442,6 +447,7 @@ OC.L10N.register(
"Allow username autocompletion to users within the same groups" : "Autoriser l'autocomplétion du nom d'utilisateur pour les utilisateurs du même groupe",
"Allow username autocompletion to users based on phone number integration" : "Autoriser l'autocomplétion du nom d'utilisateur aux utilisateurs selon l'intégration du numéro de téléphone",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Si l'autocomplétion \"même groupe\" et \"intégration du numéro de téléphone\" sont activés, un seul résultat est suffisant pour afficher l'utilisateur.",
+ "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Autoriser l'autocomplétion quand le nom complet ou l'adresse courriel sont saisis (en ignorant la recherche du numéro de téléphone et le fait d'être dans le même groupe)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Afficher les conditions d'utilisation sur la page publique de téléversement (seulement lorsque la liste des fichiers est masquée).",
"This text will be shown on the public link upload page when the file list is hidden." : "Ce texte sera affiché sur la page publique de téléversement lorsque la liste des fichiers est masquée.",
"Default share permissions" : "Autorisations de partage par défaut",
@@ -490,11 +496,6 @@ OC.L10N.register(
"days" : "jours",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Autoriser l'autocomplétion quand le nom complet ou l'adresse courriel sont saisis (en ignorant la recherche du numéro de téléphone et le fait d'être dans le même groupe)",
"Change privacy level of full name" : "Changer le niveau de confidentialité du nom complet",
- "No display name set" : "Aucun nom d'affichage configuré",
- "Update all" : "Tout mettre à jour",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Afin d'optimiser au mieux la performance de votre instance, il est important de configurer correctement les travaux en arrière-plan. 'Cron' est le paramètre recommandé pour les instances de taille importante. Veuillez vous référer à la documentation Nextcloud pour plus d'informations à ce sujet.",
- "Execute one task with each page loaded." : "Exécute une tâche à chaque chargement de page",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php est enregistré à un service webcron pour exécuter cron.php toutes les 5 minutes par HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Utiliser le service cron du système pour appeler le fichier cron.php toutes les 5 minutes."
+ "No display name set" : "Aucun nom d'affichage configuré"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/settings/l10n/fr.json b/apps/settings/l10n/fr.json
index ec6d367f240..b67671a99fa 100644
--- a/apps/settings/l10n/fr.json
+++ b/apps/settings/l10n/fr.json
@@ -41,6 +41,7 @@
"You changed your email address" : "Vous avez modifié votre adresse e-mail",
"Your email address was changed by an administrator" : "Votre adresse e-mail a été modifiée par un administrateur",
"You created app password \"{token}\"" : "Vous avez créé un mot de passe d'application \"{token}\"",
+ "An administrator created app password \"{token}\"" : "Un administrateur a créé un mot de passe d'application \"{token}\"",
"You deleted app password \"{token}\"" : "Vous avez supprimé un mot de passe d'application \"{token}\"",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Vous avez renommé le mot de passe d'application \"{token}\" en \"{newToken}\" ",
"You granted filesystem access to app password \"{token}\"" : "Vous avez accordé au système de fichiers l'accès au mot de passe d'application \"{token}\".",
@@ -64,6 +65,7 @@
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL utilise %1$s version (%2$s), qui est une version obsolète. Veuillez mettre à jour votre système d'exploitation, ou des fonctionnalités telles que %3$s ne fonctionneront pas correctement.",
"Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Impossible de déterminer si la version TLS de cURL est périmée ou non en raison d’une erreur survenue lors de la demande HTTPS contre https://nextcloud.com. Veuillez consulter le fichier journal de nextcloud pour plus de détails.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Le module PHP 'OPcache' n'est pas chargé. Pour de meilleures performances, il est recommandé de le charger dans votre installation PHP.",
"Invalid SMTP password." : "Mot de passe SMTP incorrect.",
"Email setting test" : "Test des paramètres e-mail",
"Well done, %s!" : "Bien joué, %s !",
@@ -383,6 +385,7 @@
"SMTP Username" : "Nom d'utilisateur SMTP",
"SMTP Password" : "Mot de passe SMTP",
"Save" : "Enregistrer",
+ "Test and verify email settings" : "Tester les paramètres e-mail",
"Send email" : "Envoyer un e-mail",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que celle-ci soit correctement configurée. Afin de vous aider, votre instance Nextcloud effectue des vérifications automatiques. Pour de plus amples informations, veuillez consulter la documentation liée.",
"All checks passed." : "Tous les tests ont réussi.",
@@ -413,8 +416,10 @@
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Certaines tâches n’ont pas été exécutées depuis 1%s. Veuillez envisager de passer à un système cron.",
"Last job ran %s." : "Dernière tâche exécutée %s.",
"Background job didn’t run yet!" : "La tâche de fond n'a pas encore tourné!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "Pour que le serveur fonctionne correctement, il est important de configurer correctement les travaux en arrière-plan. 'Cron' est le paramètre recommandé. Veuillez vous référer à la documentation Nextcloud pour plus d'informations.",
"Pick background job setting" : "Définir les paramètres pour la tâche d'arrière-plan",
"Recommended" : "Recommandée",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Utiliser le service cron du système pour appeler le fichier 'cron.php' toutes les 5 minutes.",
"The cron.php needs to be executed by the system user \"%s\"." : "Le cron.php doit être exécuté par l'utilisateur système \"%s\".",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Pour l'exécuter, vous devez avoir l'extension PHP POSIX. Regarder la {linkstart}documentation PHP{linkend} pour plus de détails.",
"You need to enable the File sharing App." : "Vous devez activer l'application de partage de fichiers",
@@ -440,6 +445,7 @@
"Allow username autocompletion to users within the same groups" : "Autoriser l'autocomplétion du nom d'utilisateur pour les utilisateurs du même groupe",
"Allow username autocompletion to users based on phone number integration" : "Autoriser l'autocomplétion du nom d'utilisateur aux utilisateurs selon l'intégration du numéro de téléphone",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Si l'autocomplétion \"même groupe\" et \"intégration du numéro de téléphone\" sont activés, un seul résultat est suffisant pour afficher l'utilisateur.",
+ "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Autoriser l'autocomplétion quand le nom complet ou l'adresse courriel sont saisis (en ignorant la recherche du numéro de téléphone et le fait d'être dans le même groupe)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Afficher les conditions d'utilisation sur la page publique de téléversement (seulement lorsque la liste des fichiers est masquée).",
"This text will be shown on the public link upload page when the file list is hidden." : "Ce texte sera affiché sur la page publique de téléversement lorsque la liste des fichiers est masquée.",
"Default share permissions" : "Autorisations de partage par défaut",
@@ -488,11 +494,6 @@
"days" : "jours",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Autoriser l'autocomplétion quand le nom complet ou l'adresse courriel sont saisis (en ignorant la recherche du numéro de téléphone et le fait d'être dans le même groupe)",
"Change privacy level of full name" : "Changer le niveau de confidentialité du nom complet",
- "No display name set" : "Aucun nom d'affichage configuré",
- "Update all" : "Tout mettre à jour",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Afin d'optimiser au mieux la performance de votre instance, il est important de configurer correctement les travaux en arrière-plan. 'Cron' est le paramètre recommandé pour les instances de taille importante. Veuillez vous référer à la documentation Nextcloud pour plus d'informations à ce sujet.",
- "Execute one task with each page loaded." : "Exécute une tâche à chaque chargement de page",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php est enregistré à un service webcron pour exécuter cron.php toutes les 5 minutes par HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Utiliser le service cron du système pour appeler le fichier cron.php toutes les 5 minutes."
+ "No display name set" : "Aucun nom d'affichage configuré"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/gl.js b/apps/settings/l10n/gl.js
index b263027b16f..8f988f9c78c 100644
--- a/apps/settings/l10n/gl.js
+++ b/apps/settings/l10n/gl.js
@@ -412,11 +412,6 @@ OC.L10N.register(
"Test email settings" : "Correo de proba dos axustes",
"days" : "días",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir autocompletar o nome de usuario cando se introduce o nome completo ou o enderezo de correo-e ignorando a coincidencia da lista de teléfonos que falta e está no mesmo grupo",
- "No display name set" : "Sen nome de usuario para amosar estabelecido",
- "Update all" : "Actualizar todo",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un rendemento óptimo é importante configurar correctamente os traballos en segundo plano. Para instancias máis grandes, «Cron» é o axuste recomendado. Vexa a documentación para obter máis información.",
- "Execute one task with each page loaded." : "Executar unha tarefa con cada páxina cargada.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php está rexistrado nun servizo de WebCron para chamar a cron.php cada 5 minutos a través de HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Use o servizo «cron» do sistema para chamar ao ficheiro cron.php cada 5 minutos."
+ "No display name set" : "Sen nome de usuario para amosar estabelecido"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/gl.json b/apps/settings/l10n/gl.json
index 98c57ede25c..7c40835968b 100644
--- a/apps/settings/l10n/gl.json
+++ b/apps/settings/l10n/gl.json
@@ -410,11 +410,6 @@
"Test email settings" : "Correo de proba dos axustes",
"days" : "días",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir autocompletar o nome de usuario cando se introduce o nome completo ou o enderezo de correo-e ignorando a coincidencia da lista de teléfonos que falta e está no mesmo grupo",
- "No display name set" : "Sen nome de usuario para amosar estabelecido",
- "Update all" : "Actualizar todo",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un rendemento óptimo é importante configurar correctamente os traballos en segundo plano. Para instancias máis grandes, «Cron» é o axuste recomendado. Vexa a documentación para obter máis información.",
- "Execute one task with each page loaded." : "Executar unha tarefa con cada páxina cargada.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php está rexistrado nun servizo de WebCron para chamar a cron.php cada 5 minutos a través de HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Use o servizo «cron» do sistema para chamar ao ficheiro cron.php cada 5 minutos."
+ "No display name set" : "Sen nome de usuario para amosar estabelecido"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/he.js b/apps/settings/l10n/he.js
index 0c2528c0944..976e3c77549 100644
--- a/apps/settings/l10n/he.js
+++ b/apps/settings/l10n/he.js
@@ -409,11 +409,6 @@ OC.L10N.register(
"App update" : "עדכון יישומן",
"Test email settings" : "בדיקת הגדרות דואר אלקטרוני",
"days" : "ימים",
- "No display name set" : "לא נקבע שם תצוגה",
- "Update all" : "לעדכן הכול",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "לביצועים מיטביים חשוב להגדיר משימות רקע כראוי. למערכות גדולות יותר מוטב להשתמש ב־‚Cron’. נא לעיין בתיעוד לקבל מידע נוסף.",
- "Execute one task with each page loaded." : "הפעלת משימה אחת עם כל עמוד שנטען.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php is רשום בשירות webcron כדי לקרוא ל־cron.php כל 5 דקות דרך HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "להשתמש בשירות ה־cron של המערכת כדי לקרוא לקובץ cron.php כל 5 דקות."
+ "No display name set" : "לא נקבע שם תצוגה"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/apps/settings/l10n/he.json b/apps/settings/l10n/he.json
index 76495faa1cf..e35c25021f7 100644
--- a/apps/settings/l10n/he.json
+++ b/apps/settings/l10n/he.json
@@ -407,11 +407,6 @@
"App update" : "עדכון יישומן",
"Test email settings" : "בדיקת הגדרות דואר אלקטרוני",
"days" : "ימים",
- "No display name set" : "לא נקבע שם תצוגה",
- "Update all" : "לעדכן הכול",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "לביצועים מיטביים חשוב להגדיר משימות רקע כראוי. למערכות גדולות יותר מוטב להשתמש ב־‚Cron’. נא לעיין בתיעוד לקבל מידע נוסף.",
- "Execute one task with each page loaded." : "הפעלת משימה אחת עם כל עמוד שנטען.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php is רשום בשירות webcron כדי לקרוא ל־cron.php כל 5 דקות דרך HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "להשתמש בשירות ה־cron של המערכת כדי לקרוא לקובץ cron.php כל 5 דקות."
+ "No display name set" : "לא נקבע שם תצוגה"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/hr.js b/apps/settings/l10n/hr.js
index c2b41a5f2b0..fa96d97f816 100644
--- a/apps/settings/l10n/hr.js
+++ b/apps/settings/l10n/hr.js
@@ -488,11 +488,6 @@ OC.L10N.register(
"days" : "dana",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Dopusti automatsko dovršavanje korisničkog imena prilikom unosa imena i prezimena ili adrese e-pošte (zanemarujući nedostatak podudaranja s podacima u imeniku i istoj grupi)",
"Change privacy level of full name" : "Promijeni razinu privatnosti punog imena",
- "No display name set" : "Nije postavljeno ime za prikaz",
- "Update all" : "Ažuriraj sve",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Kako biste osigurali optimalne performanse važno je pravilno konfigurirati pozadinske zadatke. Kod većih instanci preporučujemo korištenje postavke ‘Cron’. Više informacija možete pronaći u odgovarajućoj dokumentaciji.",
- "Execute one task with each page loaded." : "Izvršite jedan zadatak sa svakom učitanom stranicom.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php registriran je na servisu webcron za pozivanje datoteke cron.php svakih 5 minuta putem HTTP-a.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Koristite se sistemskim servisom cron za pozivanje datoteke cron.php svakih 5 minuta."
+ "No display name set" : "Nije postavljeno ime za prikaz"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/settings/l10n/hr.json b/apps/settings/l10n/hr.json
index 51e62ead189..6e6773ce8b7 100644
--- a/apps/settings/l10n/hr.json
+++ b/apps/settings/l10n/hr.json
@@ -486,11 +486,6 @@
"days" : "dana",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Dopusti automatsko dovršavanje korisničkog imena prilikom unosa imena i prezimena ili adrese e-pošte (zanemarujući nedostatak podudaranja s podacima u imeniku i istoj grupi)",
"Change privacy level of full name" : "Promijeni razinu privatnosti punog imena",
- "No display name set" : "Nije postavljeno ime za prikaz",
- "Update all" : "Ažuriraj sve",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Kako biste osigurali optimalne performanse važno je pravilno konfigurirati pozadinske zadatke. Kod većih instanci preporučujemo korištenje postavke ‘Cron’. Više informacija možete pronaći u odgovarajućoj dokumentaciji.",
- "Execute one task with each page loaded." : "Izvršite jedan zadatak sa svakom učitanom stranicom.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php registriran je na servisu webcron za pozivanje datoteke cron.php svakih 5 minuta putem HTTP-a.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Koristite se sistemskim servisom cron za pozivanje datoteke cron.php svakih 5 minuta."
+ "No display name set" : "Nije postavljeno ime za prikaz"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/hu.js b/apps/settings/l10n/hu.js
index b68c9bbccd1..38d37e4fa8a 100644
--- a/apps/settings/l10n/hu.js
+++ b/apps/settings/l10n/hu.js
@@ -57,6 +57,7 @@ OC.L10N.register(
"Couldn't remove app." : "Az alkalmazás eltávolítása nem sikerült.",
"Couldn't update app." : "Az alkalmazás frissítése nem sikerült.",
"Wrong password" : "Hibás jelszó",
+ "Unable to change personal password" : "Nem lehet megváltoztatni a személyes jelszót",
"Saved" : "Mentve",
"No user supplied" : "Nincs megadva felhasználó",
"Authentication error" : "Hitelesítései hiba",
@@ -72,6 +73,7 @@ OC.L10N.register(
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "Az OPcache úgy van beállítva, hogy eltávolítja a kódban lévő megjegyzéseket. Ha az OPcache be van kapcsolva, akkor be kell állítani az <code>opcache.save_comments=1</code> értéket, hogy a Nextcloud működjön.",
"Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "A Nextcloud számára nem engedélyezett az OPcache API használata. Ha be van kapcsolva az OPcache, akkor erősen ajánlott, hogy a Nexcloud összes könyvtára szerepeljen az <code>opcache.restrict_api</code> beállításban, vagy kapcsolja ki, hogy letiltsa az OPcache API korlátozásait, hogy megakadályozza a Nextcloud magjának vagy alkalmazásainak frissítése során fellépő hibákat.",
"Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "A Nextcloud számára nem engedélyezett az OPcache API használata. Erősen ajánlott, hogy a Nexcloud összes könyvtára szerepeljen az <code>opcache.restrict_api</code> beállításban, vagy kapcsolja ki, hogy letiltsa az OPcache API korlátozásait, hogy megakadályozza a Nextcloud magjának vagy alkalmazásainak frissítése során fellépő hibákat.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Majdnem túllépte az OPcache kulcsok legnagyobb számát. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache puffer majdnem megtelt. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache internalizált karakterláncokat tartalmazó puffere majdnem megtelt. Hogy biztosítsa, hogy az ismétlődő karakterláncok hatásosan gyorsítótárazhatók legyenek, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.interned_strings_buffer</code> beállítást a PHP konfigurációjában.",
"Invalid SMTP password." : "Érvénytelen SMTP-jelszó.",
@@ -466,8 +468,6 @@ OC.L10N.register(
"Allow username autocompletion to users based on phone number integration" : "A felhasználónév automatikus kiegészítésének engedélyezése a felhasználók számára a telefonszám integráció alapján ",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Ha az „ugyanazon csoport” és a „telefonszám integráció” engedélyezett, akkor bármelyik egyezés elegendő a felhasználó megjelenítéséhez. ",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Az automatikus kiegészítés engedélyezése a teljes név vagy e-mail-cím megadásakor (figyelmen kívül hagyva a hiányzó telefonkönyves egyezést és az ugyanabba a csoportba tartozást)",
- "Match username when restricting to full match" : "Keresés a felhasználónévre, ha pontos egyezésre van korlátozva",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "A zárójelben lévő második megjelenítendő név mellőzése, ha van ilyen (például: „Első megjelenítendő név (második megjelenítendő név)”)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Nyilatkozat szövegének megjelenítése a nyilvános feltöltési oldalon (csak akkor jelenik meg, ha fájllista rejtett)",
"This text will be shown on the public link upload page when the file list is hidden." : "Ez a szöveg jelenik meg a nyilvános feltöltési oldalon, ha a fájllista rejtett.",
"Default share permissions" : "Alapértelmezett megosztási jogosultságok",
@@ -518,11 +518,6 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "A felhasználónév automatikus kiegészítésének negedélyezése a teljes név vagy e-mail-cím megadásakor (figyelmen kívül hagyva a hiányzó telefonkönyves egyezést és az ugyanabba a csoportba tartozást)",
"Change privacy level of full name" : "A teljes név adatvédelmi szintjének módosítása",
"No display name set" : "Nincs megjelenítési név beállítva",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Majdnem túllépte az OPcache kulcsok legnagyobb számát. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.",
- "Update all" : "Összes frissítése",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Az optimális teljesítményhez fontos, hogy a háttérfeladatok megfelelően legyenek beállítva. Nagyobb telepítésekhez a „Cron” beállítás javasolt. További részletekért lásd a dokumentációt.",
- "Execute one task with each page loaded." : "Egy-egy feladat végrehajtása minden oldalbetöltés alkalmával.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "A cron.php regisztrálva van a webcron szolgáltatásban, hogy 5 percenként meghívja a cron.php-t HTTP-n keresztül.",
- "Use system cron service to call the cron.php file every 5 minutes." : "A rendszer cron szolgáltatás használata a cron.php fájl 5 percenként meghívásához."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Majdnem túllépte az OPcache kulcsok legnagyobb számát. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/hu.json b/apps/settings/l10n/hu.json
index 22a0cfd119a..0128efdfc19 100644
--- a/apps/settings/l10n/hu.json
+++ b/apps/settings/l10n/hu.json
@@ -55,6 +55,7 @@
"Couldn't remove app." : "Az alkalmazás eltávolítása nem sikerült.",
"Couldn't update app." : "Az alkalmazás frissítése nem sikerült.",
"Wrong password" : "Hibás jelszó",
+ "Unable to change personal password" : "Nem lehet megváltoztatni a személyes jelszót",
"Saved" : "Mentve",
"No user supplied" : "Nincs megadva felhasználó",
"Authentication error" : "Hitelesítései hiba",
@@ -70,6 +71,7 @@
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "Az OPcache úgy van beállítva, hogy eltávolítja a kódban lévő megjegyzéseket. Ha az OPcache be van kapcsolva, akkor be kell állítani az <code>opcache.save_comments=1</code> értéket, hogy a Nextcloud működjön.",
"Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "A Nextcloud számára nem engedélyezett az OPcache API használata. Ha be van kapcsolva az OPcache, akkor erősen ajánlott, hogy a Nexcloud összes könyvtára szerepeljen az <code>opcache.restrict_api</code> beállításban, vagy kapcsolja ki, hogy letiltsa az OPcache API korlátozásait, hogy megakadályozza a Nextcloud magjának vagy alkalmazásainak frissítése során fellépő hibákat.",
"Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "A Nextcloud számára nem engedélyezett az OPcache API használata. Erősen ajánlott, hogy a Nexcloud összes könyvtára szerepeljen az <code>opcache.restrict_api</code> beállításban, vagy kapcsolja ki, hogy letiltsa az OPcache API korlátozásait, hogy megakadályozza a Nextcloud magjának vagy alkalmazásainak frissítése során fellépő hibákat.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Majdnem túllépte az OPcache kulcsok legnagyobb számát. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache puffer majdnem megtelt. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache internalizált karakterláncokat tartalmazó puffere majdnem megtelt. Hogy biztosítsa, hogy az ismétlődő karakterláncok hatásosan gyorsítótárazhatók legyenek, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.interned_strings_buffer</code> beállítást a PHP konfigurációjában.",
"Invalid SMTP password." : "Érvénytelen SMTP-jelszó.",
@@ -464,8 +466,6 @@
"Allow username autocompletion to users based on phone number integration" : "A felhasználónév automatikus kiegészítésének engedélyezése a felhasználók számára a telefonszám integráció alapján ",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Ha az „ugyanazon csoport” és a „telefonszám integráció” engedélyezett, akkor bármelyik egyezés elegendő a felhasználó megjelenítéséhez. ",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Az automatikus kiegészítés engedélyezése a teljes név vagy e-mail-cím megadásakor (figyelmen kívül hagyva a hiányzó telefonkönyves egyezést és az ugyanabba a csoportba tartozást)",
- "Match username when restricting to full match" : "Keresés a felhasználónévre, ha pontos egyezésre van korlátozva",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "A zárójelben lévő második megjelenítendő név mellőzése, ha van ilyen (például: „Első megjelenítendő név (második megjelenítendő név)”)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Nyilatkozat szövegének megjelenítése a nyilvános feltöltési oldalon (csak akkor jelenik meg, ha fájllista rejtett)",
"This text will be shown on the public link upload page when the file list is hidden." : "Ez a szöveg jelenik meg a nyilvános feltöltési oldalon, ha a fájllista rejtett.",
"Default share permissions" : "Alapértelmezett megosztási jogosultságok",
@@ -516,11 +516,6 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "A felhasználónév automatikus kiegészítésének negedélyezése a teljes név vagy e-mail-cím megadásakor (figyelmen kívül hagyva a hiányzó telefonkönyves egyezést és az ugyanabba a csoportba tartozást)",
"Change privacy level of full name" : "A teljes név adatvédelmi szintjének módosítása",
"No display name set" : "Nincs megjelenítési név beállítva",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Majdnem túllépte az OPcache kulcsok legnagyobb számát. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.",
- "Update all" : "Összes frissítése",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Az optimális teljesítményhez fontos, hogy a háttérfeladatok megfelelően legyenek beállítva. Nagyobb telepítésekhez a „Cron” beállítás javasolt. További részletekért lásd a dokumentációt.",
- "Execute one task with each page loaded." : "Egy-egy feladat végrehajtása minden oldalbetöltés alkalmával.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "A cron.php regisztrálva van a webcron szolgáltatásban, hogy 5 percenként meghívja a cron.php-t HTTP-n keresztül.",
- "Use system cron service to call the cron.php file every 5 minutes." : "A rendszer cron szolgáltatás használata a cron.php fájl 5 percenként meghívásához."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Majdnem túllépte az OPcache kulcsok legnagyobb számát. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/id.js b/apps/settings/l10n/id.js
index cec03fe182a..265445e3314 100644
--- a/apps/settings/l10n/id.js
+++ b/apps/settings/l10n/id.js
@@ -2,8 +2,11 @@ OC.L10N.register(
"settings",
{
"Private" : "Pribadi",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Hanya dapat dilihat oleh orang yang cocok melalui integrasi nomor telepon melalui Talk di ponsel",
"Local" : "Lokal",
"Federated" : "Federated",
+ "Only synchronize to trusted servers" : "Hanya sinkronkan ke server tepercaya",
+ "Published" : "Diterbitkan",
"Verify" : "Verifikasi",
"Verifying …" : "Sedang memferivikasi …",
"Unable to change password" : "Tidak dapat mengubah kata sandi",
@@ -33,10 +36,12 @@ OC.L10N.register(
"{actor} changed your password" : "{actor} mengganti kata sandi anda",
"You changed your password" : "Anda mengganti kata sandi",
"Your password was reset by an administrator" : "Kata sandi anda telah diatur ulang oleh administrator",
+ "Your password was reset" : "Kata sandi Anda telah disetel ulang",
"{actor} changed your email address" : "{actor} mengubah alamat surel anda",
"You changed your email address" : "Anda mengubah alamat surel sendiri",
"Your email address was changed by an administrator" : "Alamat surel Anda telah diubah oleh administrator",
"You created app password \"{token}\"" : "Anda telah membuat kata sandi aplikasi \"{token}\"",
+ "An administrator created app password \"{token}\"" : "Administrator membuat sandi aplikasi \"{token}\"",
"You deleted app password \"{token}\"" : "Anda menghapus kata sandi aplikasi \"{token}\"",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Anda mengubah kata sandi aplikasi \"{token}\" ke \"{newToken}\"",
"You granted filesystem access to app password \"{token}\"" : "Anda mengijinkan mengakses berkas sistem ke kata sandi aplikasi \"{token}\"",
@@ -50,6 +55,7 @@ OC.L10N.register(
"Couldn't remove app." : "Tidak dapat menghapus aplikasi.",
"Couldn't update app." : "Tidak dapat memperbarui aplikasi.",
"Wrong password" : "Kata sandi salah",
+ "Unable to change personal password" : "Tidak dapat mengubah kata sandi pribadi",
"Saved" : "Disimpan",
"No user supplied" : "Tidak ada pengguna yang diberikan",
"Authentication error" : "Terjadi kesalahan saat otentikasi",
@@ -58,6 +64,8 @@ OC.L10N.register(
"Backend doesn't support password change, but the user's encryption key was updated." : "Backend tidak mendukung perubahan kata sandi, namun kunci enkripsi pengguna telah diperbarui.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL menggunakan versi %1$s yang usang(%2$s). Mohon perbarui sistem operasi Anda atau fitur sejenisnya termasuk %3$s tidak akan bekerja secara penuh.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modul PHP OPcache tidak dimuat. Untuk kinerja yang lebih baik, disarankan untuk memuatnya ke dalam instalasi PHP Anda.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache dinonaktifkan. Untuk kinerja yang lebih baik, disarankan untuk menerapkan <code>opcache.enable=1</code> ke konfigurasi PHP Anda.",
"Invalid SMTP password." : "Kata sandi SMTP tidak valid.",
"Email setting test" : "Uji pengaturan surel",
"Well done, %s!" : "Bagus, %s!",
@@ -96,6 +104,8 @@ OC.L10N.register(
"Personal" : "Personal",
"Administration" : "Administrasi",
"Additional settings" : "Setelan tambahan",
+ "Admin privileges" : "Hak istimewa admin",
+ "Groupware" : "Peralatan Grup",
"Overview" : "Ringkasan",
"Basic settings" : "Setelan dasar",
"Sharing" : "Berbagi",
@@ -107,6 +117,7 @@ OC.L10N.register(
"Change" : "Ubah",
"Delete" : "Hapus",
"Unlimited" : "Tak terbatas",
+ "Nextcloud settings" : "Pengaturan Nextcloud",
"None" : "Tidak ada",
"Limit to groups" : "Batasi ke grup",
"Excluded groups" : "Grup yang dikecualikan",
@@ -134,6 +145,7 @@ OC.L10N.register(
"No apps found for your version" : "Aplikasi tidak ditemukan untuk versi ini",
"Disable all" : "Matikan semua",
"Enable all" : "Hidupkan semua",
+ "_Update_::_Update all_" : ["Perbarui semua"],
"Marked for remote wipe" : "Tandai untuk penghapusan remote",
"Device settings" : "Pengaturan perangkat",
"Allow filesystem access" : "Ijinkan akses berkas sistem",
@@ -154,6 +166,8 @@ OC.L10N.register(
"Last activity" : "Aktivitas terakhir",
"Devices & sessions" : "Perangkat & sesi",
"Web, desktop and mobile clients currently logged in to your account." : "Klien web, desktop dan mobile yang sedang login di akun Anda.",
+ "Do you really want to wipe your data from this device?" : "Yakin ingin menghapus data Anda dari perangkat ini?",
+ "Confirm wipe" : "Konfirmasi penghapusan",
"Error while creating device token" : "Terjadi kesalahan saat membuat token perangkat",
"Error while updating device token scope" : "Galat saat memperbarui bidang token perangkat",
"Error while updating device token name" : "Galat saat memperbarui nama token perangkat",
@@ -170,10 +184,18 @@ OC.L10N.register(
"Copied!" : "Tersalin!",
"Copy" : "Salin",
"Could not copy app password. Please copy it manually." : "Tidak dapat menyalin kata sandi aplikasi. Mohon salin secara manual.",
+ "Profile" : "Profil",
+ "Enable or disable profile by default for new users." : "Aktifkan atau nonaktifkan profil secara default untuk pengguna baru.",
"Enable" : "Aktifkan",
+ "Unable to update profile default setting" : "Tidak dapat memperbarui pengaturan bawaan profil",
+ "Rename group" : "Ganti nama grup",
"Remove group" : "Hapus grup",
"You are about to remove the group {group}. The users will NOT be deleted." : "Anda akan menghapus grup {group}. Pengguna di dalamnya TIDAK akan dihapus.",
"Please confirm the group removal " : "Mohon konfirmasi penghapusan grup",
+ "Your biography" : "Biografi Anda",
+ "Unable to update biography" : "Tidak dapat memperbarui biografi",
+ "Your full name" : "Nama lengkap Anda",
+ "Unable to update full name" : "Tidak dapat memperbarui nama lengkap",
"Your email address" : "Alamat surel Anda",
"No email address set" : "Alamat surel tidak diatur",
"Language" : "Bahasa",
@@ -311,6 +333,7 @@ OC.L10N.register(
"Follow us on Mastodon" : "Ikuti kami di Mastodon",
"Check out our blog" : "Cek blog kami",
"Subscribe to our newsletter" : "Berlangganan surat berita kami",
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Rilis komunitas Nextcloud ini tidak didukung dan pemberitahuan instan tidak tersedia.",
"Profile picture" : "Foto profil",
"Upload new" : "Unggah baru",
"Select from Files" : "Pilih dari berkas",
diff --git a/apps/settings/l10n/id.json b/apps/settings/l10n/id.json
index 9fa6e2274bc..4a506a5cf90 100644
--- a/apps/settings/l10n/id.json
+++ b/apps/settings/l10n/id.json
@@ -1,7 +1,10 @@
{ "translations": {
"Private" : "Pribadi",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Hanya dapat dilihat oleh orang yang cocok melalui integrasi nomor telepon melalui Talk di ponsel",
"Local" : "Lokal",
"Federated" : "Federated",
+ "Only synchronize to trusted servers" : "Hanya sinkronkan ke server tepercaya",
+ "Published" : "Diterbitkan",
"Verify" : "Verifikasi",
"Verifying …" : "Sedang memferivikasi …",
"Unable to change password" : "Tidak dapat mengubah kata sandi",
@@ -31,10 +34,12 @@
"{actor} changed your password" : "{actor} mengganti kata sandi anda",
"You changed your password" : "Anda mengganti kata sandi",
"Your password was reset by an administrator" : "Kata sandi anda telah diatur ulang oleh administrator",
+ "Your password was reset" : "Kata sandi Anda telah disetel ulang",
"{actor} changed your email address" : "{actor} mengubah alamat surel anda",
"You changed your email address" : "Anda mengubah alamat surel sendiri",
"Your email address was changed by an administrator" : "Alamat surel Anda telah diubah oleh administrator",
"You created app password \"{token}\"" : "Anda telah membuat kata sandi aplikasi \"{token}\"",
+ "An administrator created app password \"{token}\"" : "Administrator membuat sandi aplikasi \"{token}\"",
"You deleted app password \"{token}\"" : "Anda menghapus kata sandi aplikasi \"{token}\"",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Anda mengubah kata sandi aplikasi \"{token}\" ke \"{newToken}\"",
"You granted filesystem access to app password \"{token}\"" : "Anda mengijinkan mengakses berkas sistem ke kata sandi aplikasi \"{token}\"",
@@ -48,6 +53,7 @@
"Couldn't remove app." : "Tidak dapat menghapus aplikasi.",
"Couldn't update app." : "Tidak dapat memperbarui aplikasi.",
"Wrong password" : "Kata sandi salah",
+ "Unable to change personal password" : "Tidak dapat mengubah kata sandi pribadi",
"Saved" : "Disimpan",
"No user supplied" : "Tidak ada pengguna yang diberikan",
"Authentication error" : "Terjadi kesalahan saat otentikasi",
@@ -56,6 +62,8 @@
"Backend doesn't support password change, but the user's encryption key was updated." : "Backend tidak mendukung perubahan kata sandi, namun kunci enkripsi pengguna telah diperbarui.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL menggunakan versi %1$s yang usang(%2$s). Mohon perbarui sistem operasi Anda atau fitur sejenisnya termasuk %3$s tidak akan bekerja secara penuh.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modul PHP OPcache tidak dimuat. Untuk kinerja yang lebih baik, disarankan untuk memuatnya ke dalam instalasi PHP Anda.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache dinonaktifkan. Untuk kinerja yang lebih baik, disarankan untuk menerapkan <code>opcache.enable=1</code> ke konfigurasi PHP Anda.",
"Invalid SMTP password." : "Kata sandi SMTP tidak valid.",
"Email setting test" : "Uji pengaturan surel",
"Well done, %s!" : "Bagus, %s!",
@@ -94,6 +102,8 @@
"Personal" : "Personal",
"Administration" : "Administrasi",
"Additional settings" : "Setelan tambahan",
+ "Admin privileges" : "Hak istimewa admin",
+ "Groupware" : "Peralatan Grup",
"Overview" : "Ringkasan",
"Basic settings" : "Setelan dasar",
"Sharing" : "Berbagi",
@@ -105,6 +115,7 @@
"Change" : "Ubah",
"Delete" : "Hapus",
"Unlimited" : "Tak terbatas",
+ "Nextcloud settings" : "Pengaturan Nextcloud",
"None" : "Tidak ada",
"Limit to groups" : "Batasi ke grup",
"Excluded groups" : "Grup yang dikecualikan",
@@ -132,6 +143,7 @@
"No apps found for your version" : "Aplikasi tidak ditemukan untuk versi ini",
"Disable all" : "Matikan semua",
"Enable all" : "Hidupkan semua",
+ "_Update_::_Update all_" : ["Perbarui semua"],
"Marked for remote wipe" : "Tandai untuk penghapusan remote",
"Device settings" : "Pengaturan perangkat",
"Allow filesystem access" : "Ijinkan akses berkas sistem",
@@ -152,6 +164,8 @@
"Last activity" : "Aktivitas terakhir",
"Devices & sessions" : "Perangkat & sesi",
"Web, desktop and mobile clients currently logged in to your account." : "Klien web, desktop dan mobile yang sedang login di akun Anda.",
+ "Do you really want to wipe your data from this device?" : "Yakin ingin menghapus data Anda dari perangkat ini?",
+ "Confirm wipe" : "Konfirmasi penghapusan",
"Error while creating device token" : "Terjadi kesalahan saat membuat token perangkat",
"Error while updating device token scope" : "Galat saat memperbarui bidang token perangkat",
"Error while updating device token name" : "Galat saat memperbarui nama token perangkat",
@@ -168,10 +182,18 @@
"Copied!" : "Tersalin!",
"Copy" : "Salin",
"Could not copy app password. Please copy it manually." : "Tidak dapat menyalin kata sandi aplikasi. Mohon salin secara manual.",
+ "Profile" : "Profil",
+ "Enable or disable profile by default for new users." : "Aktifkan atau nonaktifkan profil secara default untuk pengguna baru.",
"Enable" : "Aktifkan",
+ "Unable to update profile default setting" : "Tidak dapat memperbarui pengaturan bawaan profil",
+ "Rename group" : "Ganti nama grup",
"Remove group" : "Hapus grup",
"You are about to remove the group {group}. The users will NOT be deleted." : "Anda akan menghapus grup {group}. Pengguna di dalamnya TIDAK akan dihapus.",
"Please confirm the group removal " : "Mohon konfirmasi penghapusan grup",
+ "Your biography" : "Biografi Anda",
+ "Unable to update biography" : "Tidak dapat memperbarui biografi",
+ "Your full name" : "Nama lengkap Anda",
+ "Unable to update full name" : "Tidak dapat memperbarui nama lengkap",
"Your email address" : "Alamat surel Anda",
"No email address set" : "Alamat surel tidak diatur",
"Language" : "Bahasa",
@@ -309,6 +331,7 @@
"Follow us on Mastodon" : "Ikuti kami di Mastodon",
"Check out our blog" : "Cek blog kami",
"Subscribe to our newsletter" : "Berlangganan surat berita kami",
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Rilis komunitas Nextcloud ini tidak didukung dan pemberitahuan instan tidak tersedia.",
"Profile picture" : "Foto profil",
"Upload new" : "Unggah baru",
"Select from Files" : "Pilih dari berkas",
diff --git a/apps/settings/l10n/is.js b/apps/settings/l10n/is.js
index f32923f7e3a..4212b221c66 100644
--- a/apps/settings/l10n/is.js
+++ b/apps/settings/l10n/is.js
@@ -369,10 +369,6 @@ OC.L10N.register(
"App update" : "Endurnýjun forrits",
"Test email settings" : "Prófa tölvupóststillingar",
"days" : "daga",
- "No display name set" : "Ekkert birtingarnafn sett",
- "Update all" : "Uppfæra allt",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Til að ná bestum afköstum er mikilvægt að stilla bakgrunnsverk rétt. Fyrir stórar uppsetningar er mælt með því að nota 'cron' kerfisins. Skoðaðu hjálparskjölin til að sjá ítarlegar upplýsingar.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php er skráð á webcron-þjónustu til að kalla á cron.php á 5 mínútna fresti yfir HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Nota cron-þjónustu kerfisins til að kalla á cron.php skrána á 5 mínútna fresti."
+ "No display name set" : "Ekkert birtingarnafn sett"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/settings/l10n/is.json b/apps/settings/l10n/is.json
index 262e7968fa8..ede11d71266 100644
--- a/apps/settings/l10n/is.json
+++ b/apps/settings/l10n/is.json
@@ -367,10 +367,6 @@
"App update" : "Endurnýjun forrits",
"Test email settings" : "Prófa tölvupóststillingar",
"days" : "daga",
- "No display name set" : "Ekkert birtingarnafn sett",
- "Update all" : "Uppfæra allt",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Til að ná bestum afköstum er mikilvægt að stilla bakgrunnsverk rétt. Fyrir stórar uppsetningar er mælt með því að nota 'cron' kerfisins. Skoðaðu hjálparskjölin til að sjá ítarlegar upplýsingar.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php er skráð á webcron-þjónustu til að kalla á cron.php á 5 mínútna fresti yfir HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Nota cron-þjónustu kerfisins til að kalla á cron.php skrána á 5 mínútna fresti."
+ "No display name set" : "Ekkert birtingarnafn sett"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/it.js b/apps/settings/l10n/it.js
index 98a56af3b35..dbf394382ac 100644
--- a/apps/settings/l10n/it.js
+++ b/apps/settings/l10n/it.js
@@ -496,11 +496,6 @@ OC.L10N.register(
"days" : "giorni",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Consenti il completamento del nome utente inserendo il nome o l'indirizzo email (ignorando la mancanza in rubrica ed essendo nello stesso gruppo)",
"Change privacy level of full name" : "Cambia livello di privacy del nome completo",
- "No display name set" : "Nome visualizzato non impostato",
- "Update all" : "Aggiorna tutto",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Per prestazioni ottimali è importante configurare le operazioni in background correttamente. Per le istanze più grandi 'Cron' è l'impostazione consigliata. Vedi la documentazione per ulteriori informazioni.",
- "Execute one task with each page loaded." : "Esegui un'attività con ogni pagina caricata.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 5 minuti su HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 5 minuti."
+ "No display name set" : "Nome visualizzato non impostato"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/it.json b/apps/settings/l10n/it.json
index d1ba13e022b..17a70eaab24 100644
--- a/apps/settings/l10n/it.json
+++ b/apps/settings/l10n/it.json
@@ -494,11 +494,6 @@
"days" : "giorni",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Consenti il completamento del nome utente inserendo il nome o l'indirizzo email (ignorando la mancanza in rubrica ed essendo nello stesso gruppo)",
"Change privacy level of full name" : "Cambia livello di privacy del nome completo",
- "No display name set" : "Nome visualizzato non impostato",
- "Update all" : "Aggiorna tutto",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Per prestazioni ottimali è importante configurare le operazioni in background correttamente. Per le istanze più grandi 'Cron' è l'impostazione consigliata. Vedi la documentazione per ulteriori informazioni.",
- "Execute one task with each page loaded." : "Esegui un'attività con ogni pagina caricata.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 5 minuti su HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 5 minuti."
+ "No display name set" : "Nome visualizzato non impostato"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ja.js b/apps/settings/l10n/ja.js
index c408177d854..1c85f27e8fe 100644
--- a/apps/settings/l10n/ja.js
+++ b/apps/settings/l10n/ja.js
@@ -478,11 +478,6 @@ OC.L10N.register(
"days" : "日",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "フルネームまたは電子メールアドレスを入力するときにユーザー名を自動補完します(同じグループに属しておらず、電話帳で一致していなくても)",
"Change privacy level of full name" : "フルネームのプライバシーレベルを変更",
- "No display name set" : "表示名が未設定",
- "Update all" : "全て更新する",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "最適なパフォーマンスにするには、バックグラウンドジョブを正確に設定することが重要です。大規模なインスタンスでは、'Cron'がお薦めの設定です。詳細な情報は、ドキュメントを参照してください。",
- "Execute one task with each page loaded." : "各ページの読み込み毎にタスクを実行します。",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.phpは、HTTP経由で5分ごとにcron.phpを実行するようwebcronサービスに登録されます。",
- "Use system cron service to call the cron.php file every 5 minutes." : "システムのcronサービスを利用して、5分ごとにcron.phpファイルを実行します。"
+ "No display name set" : "表示名が未設定"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/ja.json b/apps/settings/l10n/ja.json
index f88ce783b26..4f2c50ac887 100644
--- a/apps/settings/l10n/ja.json
+++ b/apps/settings/l10n/ja.json
@@ -476,11 +476,6 @@
"days" : "日",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "フルネームまたは電子メールアドレスを入力するときにユーザー名を自動補完します(同じグループに属しておらず、電話帳で一致していなくても)",
"Change privacy level of full name" : "フルネームのプライバシーレベルを変更",
- "No display name set" : "表示名が未設定",
- "Update all" : "全て更新する",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "最適なパフォーマンスにするには、バックグラウンドジョブを正確に設定することが重要です。大規模なインスタンスでは、'Cron'がお薦めの設定です。詳細な情報は、ドキュメントを参照してください。",
- "Execute one task with each page loaded." : "各ページの読み込み毎にタスクを実行します。",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.phpは、HTTP経由で5分ごとにcron.phpを実行するようwebcronサービスに登録されます。",
- "Use system cron service to call the cron.php file every 5 minutes." : "システムのcronサービスを利用して、5分ごとにcron.phpファイルを実行します。"
+ "No display name set" : "表示名が未設定"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ka_GE.js b/apps/settings/l10n/ka_GE.js
index de601a86708..8ae74a02971 100644
--- a/apps/settings/l10n/ka_GE.js
+++ b/apps/settings/l10n/ka_GE.js
@@ -259,7 +259,6 @@ OC.L10N.register(
"App update" : "აპლიკაციის განახლება",
"Test email settings" : "ელ-ფოსტის პარამეტრების შემომება",
"days" : "დღე",
- "No display name set" : "დისპლეი სახელი არაა დაყენებული",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "ოპტიმალური მოღვაწეობისთვის მნიშვნელოვანია ფონური საქმეების სწორი კონფიგურაცია. დიდი ინსტანციებისთვის 'კრონი' რეკომენდირებული არჩევანია. გთხოვთ მეტი ინფორმაციისთვის იხილოთ დოკუმენტაცია."
+ "No display name set" : "დისპლეი სახელი არაა დაყენებული"
},
"nplurals=2; plural=(n!=1);");
diff --git a/apps/settings/l10n/ka_GE.json b/apps/settings/l10n/ka_GE.json
index 8838de002f7..9269b4e1f25 100644
--- a/apps/settings/l10n/ka_GE.json
+++ b/apps/settings/l10n/ka_GE.json
@@ -257,7 +257,6 @@
"App update" : "აპლიკაციის განახლება",
"Test email settings" : "ელ-ფოსტის პარამეტრების შემომება",
"days" : "დღე",
- "No display name set" : "დისპლეი სახელი არაა დაყენებული",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "ოპტიმალური მოღვაწეობისთვის მნიშვნელოვანია ფონური საქმეების სწორი კონფიგურაცია. დიდი ინსტანციებისთვის 'კრონი' რეკომენდირებული არჩევანია. გთხოვთ მეტი ინფორმაციისთვის იხილოთ დოკუმენტაცია."
+ "No display name set" : "დისპლეი სახელი არაა დაყენებული"
},"pluralForm" :"nplurals=2; plural=(n!=1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ko.js b/apps/settings/l10n/ko.js
index 40f670025bd..54db18c2809 100644
--- a/apps/settings/l10n/ko.js
+++ b/apps/settings/l10n/ko.js
@@ -347,7 +347,6 @@ OC.L10N.register(
"App update" : "앱 업데이트",
"Test email settings" : "이메일 설정 시험",
"days" : "일",
- "No display name set" : "표시 이름이 설정되지 않음",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "최적 성능을 위해서 백그라운드 작업을 올바르게 설정하는 것을 추천합니다. 큰 인스턴스에서는 'Cron'을 사용하는 것을 추천합니다. 더 많은 정보를 보려면 문서를 참조하십시오."
+ "No display name set" : "표시 이름이 설정되지 않음"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/ko.json b/apps/settings/l10n/ko.json
index 50f7f2f7220..0ff96feb241 100644
--- a/apps/settings/l10n/ko.json
+++ b/apps/settings/l10n/ko.json
@@ -345,7 +345,6 @@
"App update" : "앱 업데이트",
"Test email settings" : "이메일 설정 시험",
"days" : "일",
- "No display name set" : "표시 이름이 설정되지 않음",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "최적 성능을 위해서 백그라운드 작업을 올바르게 설정하는 것을 추천합니다. 큰 인스턴스에서는 'Cron'을 사용하는 것을 추천합니다. 더 많은 정보를 보려면 문서를 참조하십시오."
+ "No display name set" : "표시 이름이 설정되지 않음"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/lt_LT.js b/apps/settings/l10n/lt_LT.js
index 4320d9833cf..612e39f485b 100644
--- a/apps/settings/l10n/lt_LT.js
+++ b/apps/settings/l10n/lt_LT.js
@@ -415,11 +415,6 @@ OC.L10N.register(
"App update" : "Programėlės atnaujinimas",
"Test email settings" : "Išbandyti el. pašto nustatymus",
"days" : "dienos",
- "No display name set" : "Rodomas vardas nenurodytas",
- "Update all" : "Atnaujinti visas",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Norint užtikrinti optimalų našumą, svarbu teisingai sukonfigūruoti fonines užduotis. Didesniems egzemplioriams rekomenduojama naudoti „Cron“ nustatymą. Išsamesnei informacijai žiūrėkite dokumentaciją.",
- "Execute one task with each page loaded." : "Įvykdyti vieną užduotį su kiekvieno puslapio įkėlimu.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php yra registruota webcron paslaugoje, kad kas 5 minutes iškviestų cron.php per HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Naudokite sistemos cron paslaugą, kad kas 5 minutes iškviestumėte cron.php failą."
+ "No display name set" : "Rodomas vardas nenurodytas"
},
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/settings/l10n/lt_LT.json b/apps/settings/l10n/lt_LT.json
index 4c2582bdfa1..bb33f9b7a27 100644
--- a/apps/settings/l10n/lt_LT.json
+++ b/apps/settings/l10n/lt_LT.json
@@ -413,11 +413,6 @@
"App update" : "Programėlės atnaujinimas",
"Test email settings" : "Išbandyti el. pašto nustatymus",
"days" : "dienos",
- "No display name set" : "Rodomas vardas nenurodytas",
- "Update all" : "Atnaujinti visas",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Norint užtikrinti optimalų našumą, svarbu teisingai sukonfigūruoti fonines užduotis. Didesniems egzemplioriams rekomenduojama naudoti „Cron“ nustatymą. Išsamesnei informacijai žiūrėkite dokumentaciją.",
- "Execute one task with each page loaded." : "Įvykdyti vieną užduotį su kiekvieno puslapio įkėlimu.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php yra registruota webcron paslaugoje, kad kas 5 minutes iškviestų cron.php per HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Naudokite sistemos cron paslaugą, kad kas 5 minutes iškviestumėte cron.php failą."
+ "No display name set" : "Rodomas vardas nenurodytas"
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/mk.js b/apps/settings/l10n/mk.js
index aebf70b9d3c..51a7fc93c01 100644
--- a/apps/settings/l10n/mk.js
+++ b/apps/settings/l10n/mk.js
@@ -467,11 +467,6 @@ OC.L10N.register(
"App update" : "Надградба на апликацијата",
"Test email settings" : "Провери ги нагодувањата за електронска пошта",
"days" : "денови",
- "No display name set" : "Нема поставено име за прикажување",
- "Update all" : "Ажурирај ги сите",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "За оптимални перформанси важно е правилно да ги конфигурирате задачите кој се извршуваат во позадина. За големи истанци 'Cron' е препорачаната поставка. Погледнете ја документацијата за повеќе информации.",
- "Execute one task with each page loaded." : "Изврши по една задача со секоја вчитана страница",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php е регистриран на webcron сервисот за да го повикува cron.php секој 5 минути преку HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Го користи системскиот Cron сервис и го повикува cron.php секој 5 минути."
+ "No display name set" : "Нема поставено име за прикажување"
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/settings/l10n/mk.json b/apps/settings/l10n/mk.json
index 7229f8da87a..18c360aea5a 100644
--- a/apps/settings/l10n/mk.json
+++ b/apps/settings/l10n/mk.json
@@ -465,11 +465,6 @@
"App update" : "Надградба на апликацијата",
"Test email settings" : "Провери ги нагодувањата за електронска пошта",
"days" : "денови",
- "No display name set" : "Нема поставено име за прикажување",
- "Update all" : "Ажурирај ги сите",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "За оптимални перформанси важно е правилно да ги конфигурирате задачите кој се извршуваат во позадина. За големи истанци 'Cron' е препорачаната поставка. Погледнете ја документацијата за повеќе информации.",
- "Execute one task with each page loaded." : "Изврши по една задача со секоја вчитана страница",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php е регистриран на webcron сервисот за да го повикува cron.php секој 5 минути преку HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Го користи системскиот Cron сервис и го повикува cron.php секој 5 минути."
+ "No display name set" : "Нема поставено име за прикажување"
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/nb.js b/apps/settings/l10n/nb.js
index c920a603ceb..3d13cf13a65 100644
--- a/apps/settings/l10n/nb.js
+++ b/apps/settings/l10n/nb.js
@@ -366,8 +366,6 @@ OC.L10N.register(
"App update" : "App-oppdatering",
"Test email settings" : "Test innstillinger for e-post",
"days" : "dager",
- "No display name set" : "Visningsnavn ikke satt",
- "Update all" : "Oppdater alle",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "For optimal ytelse er det viktig å sette opp bakgrunnsjobber rett. For kjøring på større installasjoner er 'Cron' anbefalt innstilling. Se dokumentasjonen for mer informasjon."
+ "No display name set" : "Visningsnavn ikke satt"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/nb.json b/apps/settings/l10n/nb.json
index 5998f6b72d5..f5a07c76c99 100644
--- a/apps/settings/l10n/nb.json
+++ b/apps/settings/l10n/nb.json
@@ -364,8 +364,6 @@
"App update" : "App-oppdatering",
"Test email settings" : "Test innstillinger for e-post",
"days" : "dager",
- "No display name set" : "Visningsnavn ikke satt",
- "Update all" : "Oppdater alle",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "For optimal ytelse er det viktig å sette opp bakgrunnsjobber rett. For kjøring på større installasjoner er 'Cron' anbefalt innstilling. Se dokumentasjonen for mer informasjon."
+ "No display name set" : "Visningsnavn ikke satt"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/nl.js b/apps/settings/l10n/nl.js
index fc3465a7300..3298672d9b0 100644
--- a/apps/settings/l10n/nl.js
+++ b/apps/settings/l10n/nl.js
@@ -488,11 +488,6 @@ OC.L10N.register(
"days" : "dagen",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Automatisch aanvullen van gebruikersnaam toestaan bij het invoeren van de volledige naam of het e-mailadres (ontbrekende overeenkomst in het telefoonboek negeren en deel uitmaken van dezelfde groep)",
"Change privacy level of full name" : "Wijzigen privacyniveau van volledige naam",
- "No display name set" : "Nog geen weergavenaam ingesteld",
- "Update all" : "Update alles",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Voor optimale prestaties is het belangrijk om de achtergrondtaken goed te configureren. Voor grotere installaties is \"Cron' de aanbevolen instelling. Bekijk de documentatie voor meer informatie.",
- "Execute one task with each page loaded." : "Bij laden van elke pagina één taak uitvoeren.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php is geregistreerd bij een webcron service om elke 5 minuten cron.php over http aan te roepen.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Gebruik de systeemcron service om cron.php elke 5 minuten aan te roepen."
+ "No display name set" : "Nog geen weergavenaam ingesteld"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/nl.json b/apps/settings/l10n/nl.json
index 49a1a7fbdf0..95a268c4ef5 100644
--- a/apps/settings/l10n/nl.json
+++ b/apps/settings/l10n/nl.json
@@ -486,11 +486,6 @@
"days" : "dagen",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Automatisch aanvullen van gebruikersnaam toestaan bij het invoeren van de volledige naam of het e-mailadres (ontbrekende overeenkomst in het telefoonboek negeren en deel uitmaken van dezelfde groep)",
"Change privacy level of full name" : "Wijzigen privacyniveau van volledige naam",
- "No display name set" : "Nog geen weergavenaam ingesteld",
- "Update all" : "Update alles",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Voor optimale prestaties is het belangrijk om de achtergrondtaken goed te configureren. Voor grotere installaties is \"Cron' de aanbevolen instelling. Bekijk de documentatie voor meer informatie.",
- "Execute one task with each page loaded." : "Bij laden van elke pagina één taak uitvoeren.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php is geregistreerd bij een webcron service om elke 5 minuten cron.php over http aan te roepen.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Gebruik de systeemcron service om cron.php elke 5 minuten aan te roepen."
+ "No display name set" : "Nog geen weergavenaam ingesteld"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/oc.js b/apps/settings/l10n/oc.js
index b49d49a26a8..797913ff1fb 100644
--- a/apps/settings/l10n/oc.js
+++ b/apps/settings/l10n/oc.js
@@ -264,7 +264,6 @@ OC.L10N.register(
"Everyone" : "Tot lo monde",
"Test email settings" : "Ensajar los paramètres email",
"days" : "jorns",
- "No display name set" : "Cap de nom d’afichatge pas definit",
- "Update all" : "Tot metre a jorn"
+ "No display name set" : "Cap de nom d’afichatge pas definit"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/settings/l10n/oc.json b/apps/settings/l10n/oc.json
index 85016cb007a..7ce33a459f7 100644
--- a/apps/settings/l10n/oc.json
+++ b/apps/settings/l10n/oc.json
@@ -262,7 +262,6 @@
"Everyone" : "Tot lo monde",
"Test email settings" : "Ensajar los paramètres email",
"days" : "jorns",
- "No display name set" : "Cap de nom d’afichatge pas definit",
- "Update all" : "Tot metre a jorn"
+ "No display name set" : "Cap de nom d’afichatge pas definit"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/pl.js b/apps/settings/l10n/pl.js
index 1a9cc33b695..f3e85f282c7 100644
--- a/apps/settings/l10n/pl.js
+++ b/apps/settings/l10n/pl.js
@@ -57,6 +57,7 @@ OC.L10N.register(
"Couldn't remove app." : "Nie można usunąć aplikacji.",
"Couldn't update app." : "Nie można zaktualizować aplikacji.",
"Wrong password" : "Złe hasło",
+ "Unable to change personal password" : "Nie można zmienić osobistego hasła",
"Saved" : "Zapisano",
"No user supplied" : "Brak użytkownika",
"Authentication error" : "Błąd uwierzytelniania",
@@ -467,8 +468,6 @@ OC.L10N.register(
"Allow username autocompletion to users based on phone number integration" : "Zezwalaj na automatyczne uzupełnianie nazw użytkowników na podstawie integracji numeru telefonu",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Jeśli automatyczne uzupełnianie \"ta sama grupa\" i \"integracja numeru telefonu\" są włączone, wystarczy dopasowanie w jednej z nich, aby pokazać użytkownikowi.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Zezwalaj na autouzupełnianie podczas wpisywania pełnej nazwy lub adresu e-mail (ignorując brak dopasowania książki telefonicznej i bycie w tej samej grupie)",
- "Match username when restricting to full match" : "Dopasuj nazwę użytkownika przy ograniczeniu do pełnego dopasowania",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Ignoruj drugą wyświetlaną nazwę w nawiasach, jeśli taka istnieje, (przykład: \"Pierwsza wyświetlana nazwa (druga ignorowana wyświetlana nazwa)\")",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Pokaż tekst zastrzeżenia na stronie przesyłania linków publicznych (wyświetlane tylko wtedy, gdy lista plików jest ukryta)",
"This text will be shown on the public link upload page when the file list is hidden." : "Ten tekst zostanie wyświetlony na stronie przesyłania linków publicznych, gdy lista plików jest ukryta.",
"Default share permissions" : "Domyślne uprawnienia dla udostępnień",
@@ -519,11 +518,6 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Zezwalaj na automatyczne uzupełnianie nazwy użytkownika podczas wpisywania imienia i nazwiska lub adresu e-mail (ignorowanie brakującego dopasowania w książce telefonicznej i przynależności do tej samej grupy)",
"Change privacy level of full name" : "Zmień poziom prywatności pełnej nazwy",
"No display name set" : "Brak wyświetlanej nazwy",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby upewnić się, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.max_accelerated_files</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.",
- "Update all" : "Zaktualizuj wszystko",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Dla optymalnej wydajności należy poprawnie skonfigurować zadania w tle. Dla większych instancji zalecane jest użycie usługi 'Cron'. Więcej informacji można znaleźć w dokumentacji.",
- "Execute one task with each page loaded." : "Wykonuj jedno zadanie wraz z każdą wczytaną stroną.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "Użyj cron.php, który jest zarejestrowany w usłudze webcron, aby wywoływać cron.php co 5 minut przez HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Użyj usługi systemowej cron, aby wywoływać plik cron.php co 5 minut."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby upewnić się, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.max_accelerated_files</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>."
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/settings/l10n/pl.json b/apps/settings/l10n/pl.json
index 1e78e6418d9..0bb45d7e30d 100644
--- a/apps/settings/l10n/pl.json
+++ b/apps/settings/l10n/pl.json
@@ -55,6 +55,7 @@
"Couldn't remove app." : "Nie można usunąć aplikacji.",
"Couldn't update app." : "Nie można zaktualizować aplikacji.",
"Wrong password" : "Złe hasło",
+ "Unable to change personal password" : "Nie można zmienić osobistego hasła",
"Saved" : "Zapisano",
"No user supplied" : "Brak użytkownika",
"Authentication error" : "Błąd uwierzytelniania",
@@ -465,8 +466,6 @@
"Allow username autocompletion to users based on phone number integration" : "Zezwalaj na automatyczne uzupełnianie nazw użytkowników na podstawie integracji numeru telefonu",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Jeśli automatyczne uzupełnianie \"ta sama grupa\" i \"integracja numeru telefonu\" są włączone, wystarczy dopasowanie w jednej z nich, aby pokazać użytkownikowi.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Zezwalaj na autouzupełnianie podczas wpisywania pełnej nazwy lub adresu e-mail (ignorując brak dopasowania książki telefonicznej i bycie w tej samej grupie)",
- "Match username when restricting to full match" : "Dopasuj nazwę użytkownika przy ograniczeniu do pełnego dopasowania",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Ignoruj drugą wyświetlaną nazwę w nawiasach, jeśli taka istnieje, (przykład: \"Pierwsza wyświetlana nazwa (druga ignorowana wyświetlana nazwa)\")",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Pokaż tekst zastrzeżenia na stronie przesyłania linków publicznych (wyświetlane tylko wtedy, gdy lista plików jest ukryta)",
"This text will be shown on the public link upload page when the file list is hidden." : "Ten tekst zostanie wyświetlony na stronie przesyłania linków publicznych, gdy lista plików jest ukryta.",
"Default share permissions" : "Domyślne uprawnienia dla udostępnień",
@@ -517,11 +516,6 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Zezwalaj na automatyczne uzupełnianie nazwy użytkownika podczas wpisywania imienia i nazwiska lub adresu e-mail (ignorowanie brakującego dopasowania w książce telefonicznej i przynależności do tej samej grupy)",
"Change privacy level of full name" : "Zmień poziom prywatności pełnej nazwy",
"No display name set" : "Brak wyświetlanej nazwy",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby upewnić się, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.max_accelerated_files</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.",
- "Update all" : "Zaktualizuj wszystko",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Dla optymalnej wydajności należy poprawnie skonfigurować zadania w tle. Dla większych instancji zalecane jest użycie usługi 'Cron'. Więcej informacji można znaleźć w dokumentacji.",
- "Execute one task with each page loaded." : "Wykonuj jedno zadanie wraz z każdą wczytaną stroną.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "Użyj cron.php, który jest zarejestrowany w usłudze webcron, aby wywoływać cron.php co 5 minut przez HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Użyj usługi systemowej cron, aby wywoływać plik cron.php co 5 minut."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby upewnić się, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.max_accelerated_files</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>."
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/pt_BR.js b/apps/settings/l10n/pt_BR.js
index 9432cb795db..feef4fa673e 100644
--- a/apps/settings/l10n/pt_BR.js
+++ b/apps/settings/l10n/pt_BR.js
@@ -57,6 +57,7 @@ OC.L10N.register(
"Couldn't remove app." : "Não foi possível excluir aplicativos.",
"Couldn't update app." : "Não foi possível atualizar o aplicativo",
"Wrong password" : "Senha incorreta",
+ "Unable to change personal password" : "Não foi possível alterar a senha pessoal",
"Saved" : "Salvo",
"No user supplied" : "Nenhum usuário fornecido",
"Authentication error" : "Erro de autenticação",
@@ -72,6 +73,7 @@ OC.L10N.register(
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache está configurado para remover comentários de código. Com o OPcache ativado, <code>opcache.save_comments=1</code> deve ser definido para que o Nextcloud funcione.",
"Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "O Nextcloud não tem permissão para usar a API OPcache. Com o OPcache ativado, é altamente recomendável incluir todos os diretórios do Nextcloud com <code>opcache.restrict_api</code>ou desmarque essa configuração para desabilitar as restrições da API OPcache, para evitar erros durante o núcleo do Nextcloud ou atualizações de aplicativos.",
"Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "O Nextcloud não tem permissão para usar a API OPcache. É altamente recomendável incluir todos os diretórios do Nextcloud com <code>opcache.restrict_api</code> ou desmarque essa configuração para desabilitar as restrições da API OPcache, para evitar erros durante o núcleo do Nextcloud ou atualizações de aplicativos.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos no cache, é recomendável aplicar <code>opcache.max_accelerated_files</code> à sua configuração PHP com um valor superior a <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer do OPcache está quase cheio. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar<code>opcache.memory_consumption</code> to sua configuração PHP com um valor maior que<code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer de strings internas do OPcache está quase cheio. Para garantir que as strings repetidas possam ser efetivamente armazenadas em cache, é recomendável aplicar <code>opcache.interned_strings_buffer</code>para sua configuração PHP com um valor maior que <code>%s</code>.",
"Invalid SMTP password." : "Senha SMTP incorreta.",
@@ -183,6 +185,7 @@ OC.L10N.register(
"Disable all" : "Desativar tudo",
"Enable all" : "Ativar tudo",
"_%n app has an update available_::_%n apps have an update available_" : ["%n aplicativo tem atualização disponível","%n aplicativos tem atualização disponível"],
+ "_Update_::_Update all_" : ["Atualizar","Atualize tudo"],
"Marked for remote wipe" : "Marcado para limpeza remota",
"Device settings" : "Configuração dos dispositivos",
"Allow filesystem access" : "Permitir acesso ao sistema de arquivos",
@@ -432,8 +435,12 @@ OC.L10N.register(
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Alguns trabalhos não são executados desde %s. Considere mudar para o cron do sistema.",
"Last job ran %s." : "Última tarefa rodou há %s.",
"Background job didn’t run yet!" : "O job em segundo plano ainda não rodou!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "Para que o servidor funcione corretamente, é importante configurar corretamente os trabalhos em segundo plano. \"Cron\" é a configuração recomendada. Consulte a documentação para obter mais informações.",
"Pick background job setting" : "Configuração de trabalhos em segundo plano",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Execute uma tarefa com cada página carregada. Caso de uso: instância de usuário único.",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php é registrado em um serviço webcron para chamar cron.php a cada 5 minutos por HTTP. Caso de uso: instância muito pequena (1–5 usuários dependendo do uso).",
"Recommended" : "Recomendado",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Use o serviço cron do sistema para chamar o arquivo cron.php a cada 5 minutos. Recomendado para todas as instâncias.",
"The cron.php needs to be executed by the system user \"%s\"." : "O cron.php precisa ser executado pelo usuário de sistema \"%s\"",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para executar isso, você precisa da extensão PHP POSIX. Veja a {linkstart} documentação do PHP {linkend} para mais detalhes.",
"You need to enable the File sharing App." : "Você precisa habilitar o aplicativo de compartilhamento de arquivos.",
@@ -461,8 +468,6 @@ OC.L10N.register(
"Allow username autocompletion to users based on phone number integration" : "Permitir autocompletar o nome do usuário com base na integração do número de telefone",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Se autocompletar \"mesmo grupo\" e \"integração do número de telefone\" estiverem habilitadas, uma correspondência em qualquer um dos dois é suficiente para mostrar o usuário.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir preenchimento automático ao inserir o nome completo ou o endereço de e-mail (ignorando a correspondência ausente da agenda telefônica e estando no mesmo grupo)",
- "Match username when restricting to full match" : "Corresponder ao nome de usuário ao restringir a correspondência completa",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Ignore o segundo nome de exibição entre parênteses, se houver (exemplo: \"Primeiro nome de exibição (segundo nome de exibição ignorado)\")",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Exibir o texto de aviso na página de envio do link público (somente mostrado quando a lista de arquivos está oculta).",
"This text will be shown on the public link upload page when the file list is hidden." : "Este texto será mostrado na página de envio do link público quando a lista de arquivos está oculta.",
"Default share permissions" : "Permissões padrão de compartilhamento",
@@ -513,11 +518,6 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir a autocompletar o nome de usuário ao inserir o nome completo ou endereço de e-mail (ignorando se está na lista de telefones ou no mesmo grupo)",
"Change privacy level of full name" : "Alterar o nível de privacidade do nome completo ",
"No display name set" : "Nenhum nome de exibição definido",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar <code>opcache.max_accelerated_files</code>para sua configuração PHP com um valor maior que <code>%s</code>.",
- "Update all" : "Atualizar todos",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para um desempenho ideal, é importante configurar corretamente os trabalhos em segundo plano. Para instâncias maiores, 'Cron' é a configuração recomendada. Consulte a documentação para obter mais informações.",
- "Execute one task with each page loaded." : "Execute uma tarefa com cada página carregada.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "O cron.php está registrado num webcron para chamar cron.php a cada 5 minutos em HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Use o serviço cron do sistema para chamar o arquivo cron.php a cada 5 minutos."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar <code>opcache.max_accelerated_files</code>para sua configuração PHP com um valor maior que <code>%s</code>."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/settings/l10n/pt_BR.json b/apps/settings/l10n/pt_BR.json
index 020b91fad43..4b855b99c48 100644
--- a/apps/settings/l10n/pt_BR.json
+++ b/apps/settings/l10n/pt_BR.json
@@ -55,6 +55,7 @@
"Couldn't remove app." : "Não foi possível excluir aplicativos.",
"Couldn't update app." : "Não foi possível atualizar o aplicativo",
"Wrong password" : "Senha incorreta",
+ "Unable to change personal password" : "Não foi possível alterar a senha pessoal",
"Saved" : "Salvo",
"No user supplied" : "Nenhum usuário fornecido",
"Authentication error" : "Erro de autenticação",
@@ -70,6 +71,7 @@
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache está configurado para remover comentários de código. Com o OPcache ativado, <code>opcache.save_comments=1</code> deve ser definido para que o Nextcloud funcione.",
"Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "O Nextcloud não tem permissão para usar a API OPcache. Com o OPcache ativado, é altamente recomendável incluir todos os diretórios do Nextcloud com <code>opcache.restrict_api</code>ou desmarque essa configuração para desabilitar as restrições da API OPcache, para evitar erros durante o núcleo do Nextcloud ou atualizações de aplicativos.",
"Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "O Nextcloud não tem permissão para usar a API OPcache. É altamente recomendável incluir todos os diretórios do Nextcloud com <code>opcache.restrict_api</code> ou desmarque essa configuração para desabilitar as restrições da API OPcache, para evitar erros durante o núcleo do Nextcloud ou atualizações de aplicativos.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos no cache, é recomendável aplicar <code>opcache.max_accelerated_files</code> à sua configuração PHP com um valor superior a <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer do OPcache está quase cheio. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar<code>opcache.memory_consumption</code> to sua configuração PHP com um valor maior que<code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer de strings internas do OPcache está quase cheio. Para garantir que as strings repetidas possam ser efetivamente armazenadas em cache, é recomendável aplicar <code>opcache.interned_strings_buffer</code>para sua configuração PHP com um valor maior que <code>%s</code>.",
"Invalid SMTP password." : "Senha SMTP incorreta.",
@@ -181,6 +183,7 @@
"Disable all" : "Desativar tudo",
"Enable all" : "Ativar tudo",
"_%n app has an update available_::_%n apps have an update available_" : ["%n aplicativo tem atualização disponível","%n aplicativos tem atualização disponível"],
+ "_Update_::_Update all_" : ["Atualizar","Atualize tudo"],
"Marked for remote wipe" : "Marcado para limpeza remota",
"Device settings" : "Configuração dos dispositivos",
"Allow filesystem access" : "Permitir acesso ao sistema de arquivos",
@@ -430,8 +433,12 @@
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Alguns trabalhos não são executados desde %s. Considere mudar para o cron do sistema.",
"Last job ran %s." : "Última tarefa rodou há %s.",
"Background job didn’t run yet!" : "O job em segundo plano ainda não rodou!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "Para que o servidor funcione corretamente, é importante configurar corretamente os trabalhos em segundo plano. \"Cron\" é a configuração recomendada. Consulte a documentação para obter mais informações.",
"Pick background job setting" : "Configuração de trabalhos em segundo plano",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Execute uma tarefa com cada página carregada. Caso de uso: instância de usuário único.",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php é registrado em um serviço webcron para chamar cron.php a cada 5 minutos por HTTP. Caso de uso: instância muito pequena (1–5 usuários dependendo do uso).",
"Recommended" : "Recomendado",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Use o serviço cron do sistema para chamar o arquivo cron.php a cada 5 minutos. Recomendado para todas as instâncias.",
"The cron.php needs to be executed by the system user \"%s\"." : "O cron.php precisa ser executado pelo usuário de sistema \"%s\"",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para executar isso, você precisa da extensão PHP POSIX. Veja a {linkstart} documentação do PHP {linkend} para mais detalhes.",
"You need to enable the File sharing App." : "Você precisa habilitar o aplicativo de compartilhamento de arquivos.",
@@ -459,8 +466,6 @@
"Allow username autocompletion to users based on phone number integration" : "Permitir autocompletar o nome do usuário com base na integração do número de telefone",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Se autocompletar \"mesmo grupo\" e \"integração do número de telefone\" estiverem habilitadas, uma correspondência em qualquer um dos dois é suficiente para mostrar o usuário.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir preenchimento automático ao inserir o nome completo ou o endereço de e-mail (ignorando a correspondência ausente da agenda telefônica e estando no mesmo grupo)",
- "Match username when restricting to full match" : "Corresponder ao nome de usuário ao restringir a correspondência completa",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Ignore o segundo nome de exibição entre parênteses, se houver (exemplo: \"Primeiro nome de exibição (segundo nome de exibição ignorado)\")",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Exibir o texto de aviso na página de envio do link público (somente mostrado quando a lista de arquivos está oculta).",
"This text will be shown on the public link upload page when the file list is hidden." : "Este texto será mostrado na página de envio do link público quando a lista de arquivos está oculta.",
"Default share permissions" : "Permissões padrão de compartilhamento",
@@ -511,11 +516,6 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir a autocompletar o nome de usuário ao inserir o nome completo ou endereço de e-mail (ignorando se está na lista de telefones ou no mesmo grupo)",
"Change privacy level of full name" : "Alterar o nível de privacidade do nome completo ",
"No display name set" : "Nenhum nome de exibição definido",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar <code>opcache.max_accelerated_files</code>para sua configuração PHP com um valor maior que <code>%s</code>.",
- "Update all" : "Atualizar todos",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para um desempenho ideal, é importante configurar corretamente os trabalhos em segundo plano. Para instâncias maiores, 'Cron' é a configuração recomendada. Consulte a documentação para obter mais informações.",
- "Execute one task with each page loaded." : "Execute uma tarefa com cada página carregada.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "O cron.php está registrado num webcron para chamar cron.php a cada 5 minutos em HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Use o serviço cron do sistema para chamar o arquivo cron.php a cada 5 minutos."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar <code>opcache.max_accelerated_files</code>para sua configuração PHP com um valor maior que <code>%s</code>."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/pt_PT.js b/apps/settings/l10n/pt_PT.js
index c298e6a1ee4..673eb5c42dd 100644
--- a/apps/settings/l10n/pt_PT.js
+++ b/apps/settings/l10n/pt_PT.js
@@ -265,7 +265,6 @@ OC.L10N.register(
"App update" : "Actualização de app",
"Test email settings" : "Testar definições de e-mail",
"days" : "dias",
- "No display name set" : "Nenhum nome display estabelecido",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para desempenho óptimo é importante que configura as tarefas de segundo plano correctamente. Para maiores instâncias a definição recomendada é 'Cron'. Por favor veja a documentação para mais informações."
+ "No display name set" : "Nenhum nome display estabelecido"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/pt_PT.json b/apps/settings/l10n/pt_PT.json
index 52363b56baf..0e9eeb66d26 100644
--- a/apps/settings/l10n/pt_PT.json
+++ b/apps/settings/l10n/pt_PT.json
@@ -263,7 +263,6 @@
"App update" : "Actualização de app",
"Test email settings" : "Testar definições de e-mail",
"days" : "dias",
- "No display name set" : "Nenhum nome display estabelecido",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para desempenho óptimo é importante que configura as tarefas de segundo plano correctamente. Para maiores instâncias a definição recomendada é 'Cron'. Por favor veja a documentação para mais informações."
+ "No display name set" : "Nenhum nome display estabelecido"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ru.js b/apps/settings/l10n/ru.js
index 0efa360b783..2cc6dfcc6dd 100644
--- a/apps/settings/l10n/ru.js
+++ b/apps/settings/l10n/ru.js
@@ -489,11 +489,6 @@ OC.L10N.register(
"days" : "дней",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Разрешить автозаполнение имени пользователя при вводе полного имени или адреса электронной почты (игнорируя отсутствующее совпадение в телефонной книге и находящиеся в той же группе)",
"Change privacy level of full name" : "Изменить уровень конфиденциальности полного имени",
- "No display name set" : "Отображаемое имя не указано",
- "Update all" : "Обновить все",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Для оптимальной производительности важно правильно настроить выполнение задач в фоновом режиме. Для крупных развёртываний рекомендуется использовать параметр «Cron». Обратитесь к документации для получения дополнительной информации.",
- "Execute one task with each page loaded." : "Выполнять одно задание с каждой загруженной страницей.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php зарегистрирован в службе webcron и будет вызываться каждые 5 минут по HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Использовать системный cron для вызова файла cron.php каждые 5 минут."
+ "No display name set" : "Отображаемое имя не указано"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/settings/l10n/ru.json b/apps/settings/l10n/ru.json
index e6cb1a05581..d3539731e6c 100644
--- a/apps/settings/l10n/ru.json
+++ b/apps/settings/l10n/ru.json
@@ -487,11 +487,6 @@
"days" : "дней",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Разрешить автозаполнение имени пользователя при вводе полного имени или адреса электронной почты (игнорируя отсутствующее совпадение в телефонной книге и находящиеся в той же группе)",
"Change privacy level of full name" : "Изменить уровень конфиденциальности полного имени",
- "No display name set" : "Отображаемое имя не указано",
- "Update all" : "Обновить все",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Для оптимальной производительности важно правильно настроить выполнение задач в фоновом режиме. Для крупных развёртываний рекомендуется использовать параметр «Cron». Обратитесь к документации для получения дополнительной информации.",
- "Execute one task with each page loaded." : "Выполнять одно задание с каждой загруженной страницей.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php зарегистрирован в службе webcron и будет вызываться каждые 5 минут по HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Использовать системный cron для вызова файла cron.php каждые 5 минут."
+ "No display name set" : "Отображаемое имя не указано"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sc.js b/apps/settings/l10n/sc.js
index bfa47ba8f28..d34672cd814 100644
--- a/apps/settings/l10n/sc.js
+++ b/apps/settings/l10n/sc.js
@@ -442,11 +442,6 @@ OC.L10N.register(
"days" : "dies",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permite sa cumponidura automàtica candu si nche insertat su nùmene cumpletu o s'indiritzu de posta eletrònica (discuidende sa currispondèntzia mancante in sa rubrica e sende in su matessi grupu)",
"Change privacy level of full name" : "Càmbia su livellu de riservadesa de su nùmene cumpletu",
- "No display name set" : "Nùmene visualizadu no impostadu",
- "Update all" : "Agiorna totu",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Pro prestatziones primorosas est importante a cunfigurare in sa manera curreta is atividades in segundu pianu. Pro istàntzias prus mannas 'Cron' est s'impostatzione cussigiada. Càstia sa documentatzione pro àteras informatziones.",
- "Execute one task with each page loaded." : "Esecuta una faina cun cada pàgina carrigada.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php est registradu in unu servìtziu webcron pro cramare cron.php cada 5 minutos tràmite HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Imprea su servìtziu cron de sistema pro cramare s'archìviu cron.php cada 5 minutos."
+ "No display name set" : "Nùmene visualizadu no impostadu"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/sc.json b/apps/settings/l10n/sc.json
index e9437a34f72..1120108c1f3 100644
--- a/apps/settings/l10n/sc.json
+++ b/apps/settings/l10n/sc.json
@@ -440,11 +440,6 @@
"days" : "dies",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permite sa cumponidura automàtica candu si nche insertat su nùmene cumpletu o s'indiritzu de posta eletrònica (discuidende sa currispondèntzia mancante in sa rubrica e sende in su matessi grupu)",
"Change privacy level of full name" : "Càmbia su livellu de riservadesa de su nùmene cumpletu",
- "No display name set" : "Nùmene visualizadu no impostadu",
- "Update all" : "Agiorna totu",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Pro prestatziones primorosas est importante a cunfigurare in sa manera curreta is atividades in segundu pianu. Pro istàntzias prus mannas 'Cron' est s'impostatzione cussigiada. Càstia sa documentatzione pro àteras informatziones.",
- "Execute one task with each page loaded." : "Esecuta una faina cun cada pàgina carrigada.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php est registradu in unu servìtziu webcron pro cramare cron.php cada 5 minutos tràmite HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Imprea su servìtziu cron de sistema pro cramare s'archìviu cron.php cada 5 minutos."
+ "No display name set" : "Nùmene visualizadu no impostadu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sk.js b/apps/settings/l10n/sk.js
index cab0e60692f..e1fb9aa804e 100644
--- a/apps/settings/l10n/sk.js
+++ b/apps/settings/l10n/sk.js
@@ -67,6 +67,7 @@ OC.L10N.register(
"Federated Cloud Sharing" : "Sprístupnenie prostredníctvom Federated Cloud",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL používa zastaralú %1$s verziu (%2$s). Prosím aktualizujte si operačný systém pretože %3$s nebude fungovať spoľahlivo.",
"Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Nepodarilo sa zistiť, či je verzia TLS na cURL zastaraná alebo nie, pretože sa vyskytla chyba počas požiadavky HTTPS na https://nextcloud.com. Ďalšie podrobnosti nájdete v log súbore nextcloud.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modul OPcache PHP nie je načítaný. Pre lepší výkon sa odporúča načítať ho do vašej inštalácie PHP.",
"Invalid SMTP password." : "Nesprávne heslo pre SMTP.",
"Email setting test" : "Test nastavení emailu",
"Well done, %s!" : "Dobrá práca, %s!",
@@ -174,6 +175,7 @@ OC.L10N.register(
"Disable all" : "Zakázať všetko",
"Enable all" : "Povoliť všetko",
"_%n app has an update available_::_%n apps have an update available_" : ["%n aplikácia má dostupnú aktualizáciu","%n aplikácie majú dostupné aktualizácie","%n aplikácie majú dostupné aktualizácie ","%n aplikácií má dostupné aktualizácie"],
+ "_Update_::_Update all_" : ["Aktualizovať všetko","Aktualizovať všetko","Aktualizovať všetko","Aktualizovať všetko"],
"Marked for remote wipe" : "Označené na vymazanie na diaľku",
"Device settings" : "Nastavenia zariadenia",
"Allow filesystem access" : "Povoliť prístup ku súborovému systému",
@@ -496,11 +498,6 @@ OC.L10N.register(
"days" : "dni",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Pri zadávaní celého mena alebo e-mailovej adresy povoliť automatické dopĺňanie mena užívateľa (ignoruje sa chýbajúca zhoda v telefónnom zozname a príslušnosť k rovnakej skupine)",
"Change privacy level of full name" : "Zmeniť úroveň súkromia pre celé meno",
- "No display name set" : "Zobrazované meno nie je nastavené",
- "Update all" : "Aktualizovať všetko",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Pre optimálny výkon je dôležité nakonfigurovať úlohy na pozadí správne. Pre väčšie inštancie sa odporúča 'Cron'. Viac informácií je možné nájsť v dokumentácii.",
- "Execute one task with each page loaded." : "Vykonajte jednu úlohu s každou načítanou stránkou.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php je registrovaný v službe webcron a bude cez HTTP volaný každých 5 minút.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Použiť systémový plánovač (cron) pre spustenie súboru cron.php každých 5 minút."
+ "No display name set" : "Zobrazované meno nie je nastavené"
},
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/settings/l10n/sk.json b/apps/settings/l10n/sk.json
index 7f34c5acc0e..1797a5672be 100644
--- a/apps/settings/l10n/sk.json
+++ b/apps/settings/l10n/sk.json
@@ -65,6 +65,7 @@
"Federated Cloud Sharing" : "Sprístupnenie prostredníctvom Federated Cloud",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL používa zastaralú %1$s verziu (%2$s). Prosím aktualizujte si operačný systém pretože %3$s nebude fungovať spoľahlivo.",
"Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Nepodarilo sa zistiť, či je verzia TLS na cURL zastaraná alebo nie, pretože sa vyskytla chyba počas požiadavky HTTPS na https://nextcloud.com. Ďalšie podrobnosti nájdete v log súbore nextcloud.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modul OPcache PHP nie je načítaný. Pre lepší výkon sa odporúča načítať ho do vašej inštalácie PHP.",
"Invalid SMTP password." : "Nesprávne heslo pre SMTP.",
"Email setting test" : "Test nastavení emailu",
"Well done, %s!" : "Dobrá práca, %s!",
@@ -172,6 +173,7 @@
"Disable all" : "Zakázať všetko",
"Enable all" : "Povoliť všetko",
"_%n app has an update available_::_%n apps have an update available_" : ["%n aplikácia má dostupnú aktualizáciu","%n aplikácie majú dostupné aktualizácie","%n aplikácie majú dostupné aktualizácie ","%n aplikácií má dostupné aktualizácie"],
+ "_Update_::_Update all_" : ["Aktualizovať všetko","Aktualizovať všetko","Aktualizovať všetko","Aktualizovať všetko"],
"Marked for remote wipe" : "Označené na vymazanie na diaľku",
"Device settings" : "Nastavenia zariadenia",
"Allow filesystem access" : "Povoliť prístup ku súborovému systému",
@@ -494,11 +496,6 @@
"days" : "dni",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Pri zadávaní celého mena alebo e-mailovej adresy povoliť automatické dopĺňanie mena užívateľa (ignoruje sa chýbajúca zhoda v telefónnom zozname a príslušnosť k rovnakej skupine)",
"Change privacy level of full name" : "Zmeniť úroveň súkromia pre celé meno",
- "No display name set" : "Zobrazované meno nie je nastavené",
- "Update all" : "Aktualizovať všetko",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Pre optimálny výkon je dôležité nakonfigurovať úlohy na pozadí správne. Pre väčšie inštancie sa odporúča 'Cron'. Viac informácií je možné nájsť v dokumentácii.",
- "Execute one task with each page loaded." : "Vykonajte jednu úlohu s každou načítanou stránkou.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php je registrovaný v službe webcron a bude cez HTTP volaný každých 5 minút.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Použiť systémový plánovač (cron) pre spustenie súboru cron.php každých 5 minút."
+ "No display name set" : "Zobrazované meno nie je nastavené"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sl.js b/apps/settings/l10n/sl.js
index 5c7a06f193e..538c2c82d59 100644
--- a/apps/settings/l10n/sl.js
+++ b/apps/settings/l10n/sl.js
@@ -476,11 +476,6 @@ OC.L10N.register(
"days" : "dneh.",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Dovoli samodejno dokončanje uporabniškega imena pri vpisu polnega imena ali elektronskega naslova (prezrta je zahteva telefonskega imenika in iste skupine).",
"Change privacy level of full name" : "Spremeni pravila zasebnosti za polno ime",
- "No display name set" : "Prikazno ime ni nastavljeno",
- "Update all" : "Posodobi vse",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Za najboljše delovanje je pomembna ustrezna nastavitev opravil v ozadju. Pri večjih namestitvah je priporočljiva nastavitev »Cron«. Več podrobnosti je zapisanih v dokumentaciji.",
- "Execute one task with each page loaded." : "Izvedi eno nalogo z vsako naloženo stranjo.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "Datoteka cron.php je registrirana pri storitvi »webcron«, ki vzpostavi povezavo s cron.php vsakih 5 minut prek protokola HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Uporabljena je sistemska storitev »cron«, ki vzpostavi povezavo z datoteko cron.php vsakih 5 minut."
+ "No display name set" : "Prikazno ime ni nastavljeno"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/settings/l10n/sl.json b/apps/settings/l10n/sl.json
index 6b081bc48c2..3ac66febf91 100644
--- a/apps/settings/l10n/sl.json
+++ b/apps/settings/l10n/sl.json
@@ -474,11 +474,6 @@
"days" : "dneh.",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Dovoli samodejno dokončanje uporabniškega imena pri vpisu polnega imena ali elektronskega naslova (prezrta je zahteva telefonskega imenika in iste skupine).",
"Change privacy level of full name" : "Spremeni pravila zasebnosti za polno ime",
- "No display name set" : "Prikazno ime ni nastavljeno",
- "Update all" : "Posodobi vse",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Za najboljše delovanje je pomembna ustrezna nastavitev opravil v ozadju. Pri večjih namestitvah je priporočljiva nastavitev »Cron«. Več podrobnosti je zapisanih v dokumentaciji.",
- "Execute one task with each page loaded." : "Izvedi eno nalogo z vsako naloženo stranjo.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "Datoteka cron.php je registrirana pri storitvi »webcron«, ki vzpostavi povezavo s cron.php vsakih 5 minut prek protokola HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Uporabljena je sistemska storitev »cron«, ki vzpostavi povezavo z datoteko cron.php vsakih 5 minut."
+ "No display name set" : "Prikazno ime ni nastavljeno"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sq.js b/apps/settings/l10n/sq.js
index 75de9bfb455..3dd42fb00d8 100644
--- a/apps/settings/l10n/sq.js
+++ b/apps/settings/l10n/sq.js
@@ -261,7 +261,6 @@ OC.L10N.register(
"App update" : "Përditësim aplikacioni",
"Test email settings" : "Testoni rregullimet e email-it",
"days" : "ditësh",
- "No display name set" : "S’është caktuar emër për në ekran",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Për performancë optimale është e rëndësishme të konfigurosh punë të sfondit në mënyrë korrekte. Për raste më të mëdha 'Cron' është konfigurimi i rekomanduar. Ju lutem shih dokumentacionin për më shumë informacion."
+ "No display name set" : "S’është caktuar emër për në ekran"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/sq.json b/apps/settings/l10n/sq.json
index 2f3f0a3476c..30c5995c220 100644
--- a/apps/settings/l10n/sq.json
+++ b/apps/settings/l10n/sq.json
@@ -259,7 +259,6 @@
"App update" : "Përditësim aplikacioni",
"Test email settings" : "Testoni rregullimet e email-it",
"days" : "ditësh",
- "No display name set" : "S’është caktuar emër për në ekran",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Për performancë optimale është e rëndësishme të konfigurosh punë të sfondit në mënyrë korrekte. Për raste më të mëdha 'Cron' është konfigurimi i rekomanduar. Ju lutem shih dokumentacionin për më shumë informacion."
+ "No display name set" : "S’është caktuar emër për në ekran"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sr.js b/apps/settings/l10n/sr.js
index 3194c446bbf..903b2616167 100644
--- a/apps/settings/l10n/sr.js
+++ b/apps/settings/l10n/sr.js
@@ -399,11 +399,6 @@ OC.L10N.register(
"App update" : "Ажурирање апликације",
"Test email settings" : "Тестирај поставке е-поште",
"days" : "дана",
- "No display name set" : "Није постављено име за приказ",
- "Update all" : "Ажурирај све",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "За оптималне перформансе, битно је да правилно подесите послове у позадини. За веће инстанце, 'крон' је препоручено подешавање. Погледајте документацију за више информација.",
- "Execute one task with each page loaded." : "Изврши један задатак са сваком учитаном страницом.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php је регистрован код вебкрон сервиса за позивање cron.php сваких 5 минута преко HTTP протокола.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Користите системски крон сервис за позивање cron.php фајла сваких 5 минута."
+ "No display name set" : "Није постављено име за приказ"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/settings/l10n/sr.json b/apps/settings/l10n/sr.json
index bf5ea648d2e..5086c1b9a27 100644
--- a/apps/settings/l10n/sr.json
+++ b/apps/settings/l10n/sr.json
@@ -397,11 +397,6 @@
"App update" : "Ажурирање апликације",
"Test email settings" : "Тестирај поставке е-поште",
"days" : "дана",
- "No display name set" : "Није постављено име за приказ",
- "Update all" : "Ажурирај све",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "За оптималне перформансе, битно је да правилно подесите послове у позадини. За веће инстанце, 'крон' је препоручено подешавање. Погледајте документацију за више информација.",
- "Execute one task with each page loaded." : "Изврши један задатак са сваком учитаном страницом.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php је регистрован код вебкрон сервиса за позивање cron.php сваких 5 минута преко HTTP протокола.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Користите системски крон сервис за позивање cron.php фајла сваких 5 минута."
+ "No display name set" : "Није постављено име за приказ"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sv.js b/apps/settings/l10n/sv.js
index 050aab861ad..616b5210b75 100644
--- a/apps/settings/l10n/sv.js
+++ b/apps/settings/l10n/sv.js
@@ -484,11 +484,6 @@ OC.L10N.register(
"days" : "dagar",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tillåt komplettering av användarnamn vid ifyllning av fullständigt namn eller e-postadress (bortser från saknande matchning i telefonboken eller grupptillhörighet i samma grupp)",
"Change privacy level of full name" : "Ändra hemlighetsnivå för helt namn",
- "No display name set" : "Inget visningsnamn angivet",
- "Update all" : "Uppdatera alla",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "För optimal prestanda är det viktigt att konfigurera bakgrundsjobb korrekt. För större instanser 'Cron' är den rekommenderade inställningen. Vänligen se dokumentationen för mer information.",
- "Execute one task with each page loaded." : "Utför en uppgift med varje sida inläst.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php är registrerat hos en webcron-tjänst att köra cron.php var 5: e minut över HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Använd systemets cron-tjänst för att anropa cron.php var 5: e minut."
+ "No display name set" : "Inget visningsnamn angivet"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/sv.json b/apps/settings/l10n/sv.json
index 50417196149..a91454e0938 100644
--- a/apps/settings/l10n/sv.json
+++ b/apps/settings/l10n/sv.json
@@ -482,11 +482,6 @@
"days" : "dagar",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tillåt komplettering av användarnamn vid ifyllning av fullständigt namn eller e-postadress (bortser från saknande matchning i telefonboken eller grupptillhörighet i samma grupp)",
"Change privacy level of full name" : "Ändra hemlighetsnivå för helt namn",
- "No display name set" : "Inget visningsnamn angivet",
- "Update all" : "Uppdatera alla",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "För optimal prestanda är det viktigt att konfigurera bakgrundsjobb korrekt. För större instanser 'Cron' är den rekommenderade inställningen. Vänligen se dokumentationen för mer information.",
- "Execute one task with each page loaded." : "Utför en uppgift med varje sida inläst.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php är registrerat hos en webcron-tjänst att köra cron.php var 5: e minut över HTTP.",
- "Use system cron service to call the cron.php file every 5 minutes." : "Använd systemets cron-tjänst för att anropa cron.php var 5: e minut."
+ "No display name set" : "Inget visningsnamn angivet"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/th.js b/apps/settings/l10n/th.js
index 7ed96abd7df..e4112b94a85 100644
--- a/apps/settings/l10n/th.js
+++ b/apps/settings/l10n/th.js
@@ -338,7 +338,6 @@ OC.L10N.register(
"App update" : "อัปเดตแอป",
"Test email settings" : "ทดสอบการตั้งค่าอีเมล",
"days" : "วัน",
- "No display name set" : "ไม่มีชื่อที่แสดง",
- "Update all" : "อัปเดตทั้งหมด"
+ "No display name set" : "ไม่มีชื่อที่แสดง"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/th.json b/apps/settings/l10n/th.json
index b543b88b775..8916cd698dc 100644
--- a/apps/settings/l10n/th.json
+++ b/apps/settings/l10n/th.json
@@ -336,7 +336,6 @@
"App update" : "อัปเดตแอป",
"Test email settings" : "ทดสอบการตั้งค่าอีเมล",
"days" : "วัน",
- "No display name set" : "ไม่มีชื่อที่แสดง",
- "Update all" : "อัปเดตทั้งหมด"
+ "No display name set" : "ไม่มีชื่อที่แสดง"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/tr.js b/apps/settings/l10n/tr.js
index c264120fb21..d62f75f1a00 100644
--- a/apps/settings/l10n/tr.js
+++ b/apps/settings/l10n/tr.js
@@ -2,11 +2,11 @@ OC.L10N.register(
"settings",
{
"Private" : "Kişisel",
- "Only visible to people matched via phone number integration through Talk on mobile" : "Yalnız mobil aygıt üzerinde Talk telefon numarası bütünleştirmesi ile eşleşen kişiler görebilir",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Yalnızca mobil aygıt üzerinde Talk telefon numarası bütünleştirmesi ile eşleşen kişiler görebilir",
"Local" : "Yerel",
- "Only visible to people on this instance and guests" : "Yalnız bu kopyadaki kişiler ve konuklar görebilir",
+ "Only visible to people on this instance and guests" : "Yalnızca bu kopyadaki kişiler ve konuklar görebilir",
"Federated" : "Birleşik",
- "Only synchronize to trusted servers" : "Yalnız güvenilen sunucular ile eşitlensin",
+ "Only synchronize to trusted servers" : "Yalnızca güvenilen sunucular ile eşitlensin",
"Published" : "Yayınlanmış",
"Synchronize to trusted servers and the global and public address book" : "Genel ve herkese açık adres defteri ile ve güvenilen sunucularla eşitlenir",
"Verify" : "Doğrula",
@@ -57,6 +57,7 @@ OC.L10N.register(
"Couldn't remove app." : "Uygulama kaldırılamadı.",
"Couldn't update app." : "Uygulama güncellenemedi.",
"Wrong password" : "Parola yanlış",
+ "Unable to change personal password" : "Kişisel parolanız değiştirilemedi",
"Saved" : "Kaydedildi",
"No user supplied" : "Kullanıcı belirtilmemiş",
"Authentication error" : "Kimlik doğrulama sorunu",
@@ -151,7 +152,7 @@ OC.L10N.register(
"Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Tüm kullanıcılar ve belirli gruplar için iki aşamalı kimlik doğrulama kullanılır. Yapılandırılmış bir iki aşamalı kimlik doğrulama hizmeti sağlayıcısı olmayan kullanıcılar oturum açamaz.",
"Enforce two-factor authentication" : "İki aşamalı kimlik doğrulama dayatılsın",
"Limit to groups" : "Şu gruplarla sınırlansın",
- "Enforcement of two-factor authentication can be set for certain groups only." : "İki aşamalı kimlik doğrulaması yalnız belirli gruplar için sınırlanabilir.",
+ "Enforcement of two-factor authentication can be set for certain groups only." : "İki aşamalı kimlik doğrulaması yalnızca belirli gruplar için sınırlanabilir.",
"Two-factor authentication is enforced for all members of the following groups." : "Belirtilen grupların tüm üyeleri için iki aşamalı kimlik doğrulaması kullanımı zorunlu olur.",
"Enforced groups" : "Uygulanacak gruplar",
"Two-factor authentication is not enforced for members of the following groups." : "Belirtilen grupların tüm üyeleri için iki aşamalı kimlik doğrulaması kullanımı zorunlu olmaz.",
@@ -220,7 +221,7 @@ OC.L10N.register(
"App name" : "Uygulama adı",
"Create new app password" : "Yeni uygulama parolası oluştur",
"Use the credentials below to configure your app or device." : "Uygulama ya da aygıtınızı yapılandırmak için aşağıdaki kimlik doğrulama bilgileri kullanılır.",
- "For security reasons this password will only be shown once." : "Güvenlik nedenleriyle bu parola yalnız bir kez görüntülenir.",
+ "For security reasons this password will only be shown once." : "Güvenlik nedenleriyle bu parola yalnızca bir kez görüntülenir.",
"Username" : "Kullanıcı adı",
"Password" : "Parola",
"Done" : "Tamam",
@@ -289,7 +290,7 @@ OC.L10N.register(
"Disable user" : "Kullanıcıyı devre dışı bırak",
"Enable user" : "Kullanıcıyı etkinleştir",
"Resend welcome email" : "Karşılama e-postasını yeniden gönder",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Aygıt kaybedildiğinde ya da kuruluş ile çalışma sona erdirildiğinde, bu özellik {userid} ile ilişkili tüm aygıtlardaki Nextcloud verilerini silebilir. Bu özellik yalnız aygıtların İnternet bağlantısı olduğunda kullanılabilir.",
+ "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Aygıt kaybedildiğinde ya da kuruluş ile çalışma sona erdirildiğinde, bu özellik {userid} ile ilişkili tüm aygıtlardaki Nextcloud verilerini silebilir. Bu özellik yalnızca aygıtların İnternet bağlantısı olduğunda kullanılabilir.",
"Remote wipe of devices" : "Uzaktan aygıt temizleme",
"Wipe {userid}'s devices" : "{userid} aygıtlarını temizle",
"Cancel" : "İptal",
@@ -371,7 +372,7 @@ OC.L10N.register(
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Bu özellik, dosya paylaşımı ve takvim çağrıları gibi temel işlevler için gerekli olduğundan kullanılamıyor",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Kullanıcıya özel verilerin arama sunucusunda yayınlanmasına izin verilmediğinden kullanılamıyor. Herhangi bir sorunuz varsa sistem yöneticinizle görüşün.",
"Show to everyone" : "Herkese görüntülensin",
- "Show to logged in users only" : "Yalnız oturum açmış kullanıcılara görüntülensin",
+ "Show to logged in users only" : "Yalnızca oturum açmış kullanıcılara görüntülensin",
"Hide" : "Gizlensin",
"Download and enable" : "İndir ve etkinleştir",
"Enable untested app" : "Denenmemiş uygulamalar kullanılabilsin",
@@ -415,7 +416,7 @@ OC.L10N.register(
"Version" : "Sürüm",
"Two-Factor Authentication" : "İki aşamalı kimlik doğrulama",
"Server-side encryption" : "Sunucu tarafı şifreleme",
- "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnız gerek varsa etkinleştirin.",
+ "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnızca gerek varsa etkinleştirin.",
"Enable server-side encryption" : "Sunucu tarafı şifreleme kullanılsın",
"Please read carefully before activating server-side encryption: " : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun: ",
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Şifreleme etkinleştirildiğinde, etkinleştirme anından sonra sunucuya yüklenen tüm dosyalar şifrelenir. Şifreleme daha sonra devre dışı bırakılmak istenirse, etkin şifreleme modülünün bu özelliği desteklemesi ve tüm ön koşulların (örneğin kurtarma anahtarı oluşturulması) yerine getirilmesi gerekir.",
@@ -459,7 +460,7 @@ OC.L10N.register(
"Exclude groups from creating link shares:" : "Bağlantı paylaşımı oluşturamayacak gruplar:",
"Allow resharing" : "Yeniden paylaşılabilsin",
"Allow sharing with groups" : "Gruplar ile paylaşılabilsin",
- "Restrict users to only share with users in their groups" : "Kullanıcılar, yalnız kendi gruplarındaki kullanıcılarla paylaşabilsin",
+ "Restrict users to only share with users in their groups" : "Kullanıcılar, yalnızca kendi gruplarındaki kullanıcılarla paylaşabilsin",
"Exclude groups from sharing" : "Gruplar paylaşıma katılmasın",
"These groups will still be able to receive shares, but not to initiate them." : "Bu gruplar paylaşımları alabilir ancak başlatamaz.",
"Allow username autocompletion in share dialog" : "Paylaşım penceresinde kullanıcı adı otomatik olarak tamamlanabilsin",
@@ -467,9 +468,7 @@ OC.L10N.register(
"Allow username autocompletion to users based on phone number integration" : "Telefon numarası bütünleştirmesi eşleşmelerine göre kullanıcı adları otomatik olarak tamamlanabilsin",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "\"Aynı grup\" ve \"telefon numarası bütünleştirmesi\" etkinleştirilmiş ise. Kullanıcının görüntülenmesi için ikisinden birinde eşleşme olması yeterlidir.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tam ad ya da e-posta adresi yazılırken otomatik olarak tamamlanabilsin (aynı grupta olma ya da telefon defteri eşleşmesi yok sayılarak)",
- "Match username when restricting to full match" : "Tam eşleşme kısıtlamasında kullanıcı adı ile eşleşilsin",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Varsa, parantez içindeki görüntülecek ikinci ad yok sayılsın (örneğin \"Görüntülenecek ilk ad (yok sayılacak görüntülenecek ikinci ad)\")",
- "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Herkese açık bağlantı yükleme sayfasındaki sorumluluk reddi bildirim metni (yalnız dosya listesi gizli iken görüntülenir)",
+ "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Herkese açık bağlantı yükleme sayfasındaki sorumluluk reddi bildirim metni (yalnızca dosya listesi gizli iken görüntülenir)",
"This text will be shown on the public link upload page when the file list is hidden." : "Dosya listesi gizli iken herkese açık bağlantı yükleme sayfasında görüntülenecek sorumluluk reddi bildirimi metni.",
"Default share permissions" : "Varsayılan paylaşım izinleri",
"Reasons to use Nextcloud in your organization" : "Kuruluşunuzda Nextcloud kullanma nedenleriniz",
@@ -519,11 +518,6 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tam ad ya da e-posta adresi yazılırken kullanıcı adı otomatik olarak tamamlanabilsin (aynı grupta olma ya da telefon defteri eşleşmesi yok sayılarak)",
"Change privacy level of full name" : "Tam adın gizlilik düzeyini değiştir",
"No display name set" : "Görüntülenecek ad belirtilmemiş",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "En fazla OPcache anahtar sayısına neredeyse erişildi. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.max_accelerated_files</code> uygulamanız önerilir.",
- "Update all" : "Tümünü güncelle",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "En iyi başarım için arka plan görevlerinin doğru şekilde ayarlanması önemlidir. Büyük kurulumlar için 'Cron' ayarı önerilir. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
- "Execute one task with each page loaded." : "Her sayfa yüklemesinde bir görev yürütülsün.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php, HTTP üzerinden 5 dakikada bir yürütülmesi için webcron hizmetine kaydedildi.",
- "Use system cron service to call the cron.php file every 5 minutes." : "5 dakikada bir cron.php dosyasının çağrılması için sistem cron hizmeti kullanılsın."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "En fazla OPcache anahtar sayısına neredeyse erişildi. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.max_accelerated_files</code> uygulamanız önerilir."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/settings/l10n/tr.json b/apps/settings/l10n/tr.json
index cd82b017775..e689d0e85bd 100644
--- a/apps/settings/l10n/tr.json
+++ b/apps/settings/l10n/tr.json
@@ -1,10 +1,10 @@
{ "translations": {
"Private" : "Kişisel",
- "Only visible to people matched via phone number integration through Talk on mobile" : "Yalnız mobil aygıt üzerinde Talk telefon numarası bütünleştirmesi ile eşleşen kişiler görebilir",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Yalnızca mobil aygıt üzerinde Talk telefon numarası bütünleştirmesi ile eşleşen kişiler görebilir",
"Local" : "Yerel",
- "Only visible to people on this instance and guests" : "Yalnız bu kopyadaki kişiler ve konuklar görebilir",
+ "Only visible to people on this instance and guests" : "Yalnızca bu kopyadaki kişiler ve konuklar görebilir",
"Federated" : "Birleşik",
- "Only synchronize to trusted servers" : "Yalnız güvenilen sunucular ile eşitlensin",
+ "Only synchronize to trusted servers" : "Yalnızca güvenilen sunucular ile eşitlensin",
"Published" : "Yayınlanmış",
"Synchronize to trusted servers and the global and public address book" : "Genel ve herkese açık adres defteri ile ve güvenilen sunucularla eşitlenir",
"Verify" : "Doğrula",
@@ -55,6 +55,7 @@
"Couldn't remove app." : "Uygulama kaldırılamadı.",
"Couldn't update app." : "Uygulama güncellenemedi.",
"Wrong password" : "Parola yanlış",
+ "Unable to change personal password" : "Kişisel parolanız değiştirilemedi",
"Saved" : "Kaydedildi",
"No user supplied" : "Kullanıcı belirtilmemiş",
"Authentication error" : "Kimlik doğrulama sorunu",
@@ -149,7 +150,7 @@
"Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Tüm kullanıcılar ve belirli gruplar için iki aşamalı kimlik doğrulama kullanılır. Yapılandırılmış bir iki aşamalı kimlik doğrulama hizmeti sağlayıcısı olmayan kullanıcılar oturum açamaz.",
"Enforce two-factor authentication" : "İki aşamalı kimlik doğrulama dayatılsın",
"Limit to groups" : "Şu gruplarla sınırlansın",
- "Enforcement of two-factor authentication can be set for certain groups only." : "İki aşamalı kimlik doğrulaması yalnız belirli gruplar için sınırlanabilir.",
+ "Enforcement of two-factor authentication can be set for certain groups only." : "İki aşamalı kimlik doğrulaması yalnızca belirli gruplar için sınırlanabilir.",
"Two-factor authentication is enforced for all members of the following groups." : "Belirtilen grupların tüm üyeleri için iki aşamalı kimlik doğrulaması kullanımı zorunlu olur.",
"Enforced groups" : "Uygulanacak gruplar",
"Two-factor authentication is not enforced for members of the following groups." : "Belirtilen grupların tüm üyeleri için iki aşamalı kimlik doğrulaması kullanımı zorunlu olmaz.",
@@ -218,7 +219,7 @@
"App name" : "Uygulama adı",
"Create new app password" : "Yeni uygulama parolası oluştur",
"Use the credentials below to configure your app or device." : "Uygulama ya da aygıtınızı yapılandırmak için aşağıdaki kimlik doğrulama bilgileri kullanılır.",
- "For security reasons this password will only be shown once." : "Güvenlik nedenleriyle bu parola yalnız bir kez görüntülenir.",
+ "For security reasons this password will only be shown once." : "Güvenlik nedenleriyle bu parola yalnızca bir kez görüntülenir.",
"Username" : "Kullanıcı adı",
"Password" : "Parola",
"Done" : "Tamam",
@@ -287,7 +288,7 @@
"Disable user" : "Kullanıcıyı devre dışı bırak",
"Enable user" : "Kullanıcıyı etkinleştir",
"Resend welcome email" : "Karşılama e-postasını yeniden gönder",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Aygıt kaybedildiğinde ya da kuruluş ile çalışma sona erdirildiğinde, bu özellik {userid} ile ilişkili tüm aygıtlardaki Nextcloud verilerini silebilir. Bu özellik yalnız aygıtların İnternet bağlantısı olduğunda kullanılabilir.",
+ "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Aygıt kaybedildiğinde ya da kuruluş ile çalışma sona erdirildiğinde, bu özellik {userid} ile ilişkili tüm aygıtlardaki Nextcloud verilerini silebilir. Bu özellik yalnızca aygıtların İnternet bağlantısı olduğunda kullanılabilir.",
"Remote wipe of devices" : "Uzaktan aygıt temizleme",
"Wipe {userid}'s devices" : "{userid} aygıtlarını temizle",
"Cancel" : "İptal",
@@ -369,7 +370,7 @@
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Bu özellik, dosya paylaşımı ve takvim çağrıları gibi temel işlevler için gerekli olduğundan kullanılamıyor",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Kullanıcıya özel verilerin arama sunucusunda yayınlanmasına izin verilmediğinden kullanılamıyor. Herhangi bir sorunuz varsa sistem yöneticinizle görüşün.",
"Show to everyone" : "Herkese görüntülensin",
- "Show to logged in users only" : "Yalnız oturum açmış kullanıcılara görüntülensin",
+ "Show to logged in users only" : "Yalnızca oturum açmış kullanıcılara görüntülensin",
"Hide" : "Gizlensin",
"Download and enable" : "İndir ve etkinleştir",
"Enable untested app" : "Denenmemiş uygulamalar kullanılabilsin",
@@ -413,7 +414,7 @@
"Version" : "Sürüm",
"Two-Factor Authentication" : "İki aşamalı kimlik doğrulama",
"Server-side encryption" : "Sunucu tarafı şifreleme",
- "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnız gerek varsa etkinleştirin.",
+ "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnızca gerek varsa etkinleştirin.",
"Enable server-side encryption" : "Sunucu tarafı şifreleme kullanılsın",
"Please read carefully before activating server-side encryption: " : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun: ",
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Şifreleme etkinleştirildiğinde, etkinleştirme anından sonra sunucuya yüklenen tüm dosyalar şifrelenir. Şifreleme daha sonra devre dışı bırakılmak istenirse, etkin şifreleme modülünün bu özelliği desteklemesi ve tüm ön koşulların (örneğin kurtarma anahtarı oluşturulması) yerine getirilmesi gerekir.",
@@ -457,7 +458,7 @@
"Exclude groups from creating link shares:" : "Bağlantı paylaşımı oluşturamayacak gruplar:",
"Allow resharing" : "Yeniden paylaşılabilsin",
"Allow sharing with groups" : "Gruplar ile paylaşılabilsin",
- "Restrict users to only share with users in their groups" : "Kullanıcılar, yalnız kendi gruplarındaki kullanıcılarla paylaşabilsin",
+ "Restrict users to only share with users in their groups" : "Kullanıcılar, yalnızca kendi gruplarındaki kullanıcılarla paylaşabilsin",
"Exclude groups from sharing" : "Gruplar paylaşıma katılmasın",
"These groups will still be able to receive shares, but not to initiate them." : "Bu gruplar paylaşımları alabilir ancak başlatamaz.",
"Allow username autocompletion in share dialog" : "Paylaşım penceresinde kullanıcı adı otomatik olarak tamamlanabilsin",
@@ -465,9 +466,7 @@
"Allow username autocompletion to users based on phone number integration" : "Telefon numarası bütünleştirmesi eşleşmelerine göre kullanıcı adları otomatik olarak tamamlanabilsin",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "\"Aynı grup\" ve \"telefon numarası bütünleştirmesi\" etkinleştirilmiş ise. Kullanıcının görüntülenmesi için ikisinden birinde eşleşme olması yeterlidir.",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tam ad ya da e-posta adresi yazılırken otomatik olarak tamamlanabilsin (aynı grupta olma ya da telefon defteri eşleşmesi yok sayılarak)",
- "Match username when restricting to full match" : "Tam eşleşme kısıtlamasında kullanıcı adı ile eşleşilsin",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "Varsa, parantez içindeki görüntülecek ikinci ad yok sayılsın (örneğin \"Görüntülenecek ilk ad (yok sayılacak görüntülenecek ikinci ad)\")",
- "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Herkese açık bağlantı yükleme sayfasındaki sorumluluk reddi bildirim metni (yalnız dosya listesi gizli iken görüntülenir)",
+ "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Herkese açık bağlantı yükleme sayfasındaki sorumluluk reddi bildirim metni (yalnızca dosya listesi gizli iken görüntülenir)",
"This text will be shown on the public link upload page when the file list is hidden." : "Dosya listesi gizli iken herkese açık bağlantı yükleme sayfasında görüntülenecek sorumluluk reddi bildirimi metni.",
"Default share permissions" : "Varsayılan paylaşım izinleri",
"Reasons to use Nextcloud in your organization" : "Kuruluşunuzda Nextcloud kullanma nedenleriniz",
@@ -517,11 +516,6 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tam ad ya da e-posta adresi yazılırken kullanıcı adı otomatik olarak tamamlanabilsin (aynı grupta olma ya da telefon defteri eşleşmesi yok sayılarak)",
"Change privacy level of full name" : "Tam adın gizlilik düzeyini değiştir",
"No display name set" : "Görüntülenecek ad belirtilmemiş",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "En fazla OPcache anahtar sayısına neredeyse erişildi. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.max_accelerated_files</code> uygulamanız önerilir.",
- "Update all" : "Tümünü güncelle",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "En iyi başarım için arka plan görevlerinin doğru şekilde ayarlanması önemlidir. Büyük kurulumlar için 'Cron' ayarı önerilir. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
- "Execute one task with each page loaded." : "Her sayfa yüklemesinde bir görev yürütülsün.",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php, HTTP üzerinden 5 dakikada bir yürütülmesi için webcron hizmetine kaydedildi.",
- "Use system cron service to call the cron.php file every 5 minutes." : "5 dakikada bir cron.php dosyasının çağrılması için sistem cron hizmeti kullanılsın."
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "En fazla OPcache anahtar sayısına neredeyse erişildi. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.max_accelerated_files</code> uygulamanız önerilir."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/uk.js b/apps/settings/l10n/uk.js
index b0f16197813..405a8c7ce28 100644
--- a/apps/settings/l10n/uk.js
+++ b/apps/settings/l10n/uk.js
@@ -335,7 +335,6 @@ OC.L10N.register(
"App update" : "Оновлення застосунку",
"Test email settings" : "Тестувати налаштування ел. пошти",
"days" : "днів",
- "No display name set" : "Ім'я для відображення не вказано",
- "Update all" : "Оновити всі"
+ "No display name set" : "Ім'я для відображення не вказано"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
diff --git a/apps/settings/l10n/uk.json b/apps/settings/l10n/uk.json
index cf08e52f86a..65805b5e180 100644
--- a/apps/settings/l10n/uk.json
+++ b/apps/settings/l10n/uk.json
@@ -333,7 +333,6 @@
"App update" : "Оновлення застосунку",
"Test email settings" : "Тестувати налаштування ел. пошти",
"days" : "днів",
- "No display name set" : "Ім'я для відображення не вказано",
- "Update all" : "Оновити всі"
+ "No display name set" : "Ім'я для відображення не вказано"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/zh_CN.js b/apps/settings/l10n/zh_CN.js
index 671a76b6ab6..505642ab2f5 100644
--- a/apps/settings/l10n/zh_CN.js
+++ b/apps/settings/l10n/zh_CN.js
@@ -493,11 +493,6 @@ OC.L10N.register(
"days" : "天",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "在输入全名或电子邮件地址时允许用户名自动完成 (忽略丢失的电话簿匹配和同属一个小组的匹配)",
"Change privacy level of full name" : "更改全名的隐私级别",
- "No display name set" : "不显示名称设置",
- "Update all" : "全部更新",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "为了优化性能,正确配置后台任务非常重要。对于较大的实例,推荐配置为 'Cron'。详情请参考相关文档。",
- "Execute one task with each page loaded." : "每个页面加载后执行一个任务。",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php注册到 webcron 服务上,每5分钟通过HTTP执行一次cron.php。",
- "Use system cron service to call the cron.php file every 5 minutes." : "使用系统定时任务服务每5分钟执行一次cron.php文件。"
+ "No display name set" : "不显示名称设置"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/zh_CN.json b/apps/settings/l10n/zh_CN.json
index 7d5ceecb899..feae0a6b966 100644
--- a/apps/settings/l10n/zh_CN.json
+++ b/apps/settings/l10n/zh_CN.json
@@ -491,11 +491,6 @@
"days" : "天",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "在输入全名或电子邮件地址时允许用户名自动完成 (忽略丢失的电话簿匹配和同属一个小组的匹配)",
"Change privacy level of full name" : "更改全名的隐私级别",
- "No display name set" : "不显示名称设置",
- "Update all" : "全部更新",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "为了优化性能,正确配置后台任务非常重要。对于较大的实例,推荐配置为 'Cron'。详情请参考相关文档。",
- "Execute one task with each page loaded." : "每个页面加载后执行一个任务。",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php注册到 webcron 服务上,每5分钟通过HTTP执行一次cron.php。",
- "Use system cron service to call the cron.php file every 5 minutes." : "使用系统定时任务服务每5分钟执行一次cron.php文件。"
+ "No display name set" : "不显示名称设置"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/zh_HK.js b/apps/settings/l10n/zh_HK.js
index ed30ee6d006..5f61a7eb053 100644
--- a/apps/settings/l10n/zh_HK.js
+++ b/apps/settings/l10n/zh_HK.js
@@ -57,6 +57,7 @@ OC.L10N.register(
"Couldn't remove app." : "無法移除應用程式。",
"Couldn't update app." : "無法更新應用程式。",
"Wrong password" : "密碼錯誤",
+ "Unable to change personal password" : "無法更改個人密碼",
"Saved" : "已儲存",
"No user supplied" : "未提供用戶",
"Authentication error" : "認證錯誤",
@@ -467,8 +468,6 @@ OC.L10N.register(
"Allow username autocompletion to users based on phone number integration" : "允許基於電話號碼整合的用戶自動完成用戶名",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "如果啟用了自動完成功能“相同的群組”和“電話號碼整合”,則任何一個匹配都足以向用戶顯示。",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "輸入全名或電郵地址時,允許自動完成(忽略缺少的電話簿匹配項,並且位於同一群組中)",
- "Match username when restricting to full match" : "限制為完全匹配時匹配用戶名",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "忽略括號中的第二個顯示名稱(如有)。示例:“第一個顯示名稱(第二個忽略的顯示名稱)”",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "在公開的檔案連結和上傳頁面顯示免責聲明(僅在檔案列表隱藏的時候才會顯示)",
"This text will be shown on the public link upload page when the file list is hidden." : "這段文字會在公開檔案上傳頁面檔案列表被隱藏的時候顯示。",
"Default share permissions" : "預設分享權限",
@@ -519,11 +518,6 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "輸入全名或電郵地址時,允許用戶名自動完成(忽略缺少的電話簿匹配項,並且位於同一群組中)",
"Change privacy level of full name" : "更改全名的私隱級別",
"No display name set" : "未設定顯示名稱",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <code>%s</code>。",
- "Update all" : "更新全部",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "為了獲得最佳的效能,設定後台作業非常重要,對於比較大的服務來說,建議使用 Cron 設定,請查閱說明文件以獲得更多資訊。",
- "Execute one task with each page loaded." : "每個頁面載入時執行一個工作。",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php 在 webcron 服務中註冊,每5分鐘透過 HTTP 執行 cron.php。",
- "Use system cron service to call the cron.php file every 5 minutes." : "使用系統 cron 每5分鐘執行 cron.php。"
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <code>%s</code>。"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/zh_HK.json b/apps/settings/l10n/zh_HK.json
index c72a86b7a4c..0f692836e7e 100644
--- a/apps/settings/l10n/zh_HK.json
+++ b/apps/settings/l10n/zh_HK.json
@@ -55,6 +55,7 @@
"Couldn't remove app." : "無法移除應用程式。",
"Couldn't update app." : "無法更新應用程式。",
"Wrong password" : "密碼錯誤",
+ "Unable to change personal password" : "無法更改個人密碼",
"Saved" : "已儲存",
"No user supplied" : "未提供用戶",
"Authentication error" : "認證錯誤",
@@ -465,8 +466,6 @@
"Allow username autocompletion to users based on phone number integration" : "允許基於電話號碼整合的用戶自動完成用戶名",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "如果啟用了自動完成功能“相同的群組”和“電話號碼整合”,則任何一個匹配都足以向用戶顯示。",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "輸入全名或電郵地址時,允許自動完成(忽略缺少的電話簿匹配項,並且位於同一群組中)",
- "Match username when restricting to full match" : "限制為完全匹配時匹配用戶名",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "忽略括號中的第二個顯示名稱(如有)。示例:“第一個顯示名稱(第二個忽略的顯示名稱)”",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "在公開的檔案連結和上傳頁面顯示免責聲明(僅在檔案列表隱藏的時候才會顯示)",
"This text will be shown on the public link upload page when the file list is hidden." : "這段文字會在公開檔案上傳頁面檔案列表被隱藏的時候顯示。",
"Default share permissions" : "預設分享權限",
@@ -517,11 +516,6 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "輸入全名或電郵地址時,允許用戶名自動完成(忽略缺少的電話簿匹配項,並且位於同一群組中)",
"Change privacy level of full name" : "更改全名的私隱級別",
"No display name set" : "未設定顯示名稱",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <code>%s</code>。",
- "Update all" : "更新全部",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "為了獲得最佳的效能,設定後台作業非常重要,對於比較大的服務來說,建議使用 Cron 設定,請查閱說明文件以獲得更多資訊。",
- "Execute one task with each page loaded." : "每個頁面載入時執行一個工作。",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php 在 webcron 服務中註冊,每5分鐘透過 HTTP 執行 cron.php。",
- "Use system cron service to call the cron.php file every 5 minutes." : "使用系統 cron 每5分鐘執行 cron.php。"
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <code>%s</code>。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/zh_TW.js b/apps/settings/l10n/zh_TW.js
index d7dbb9e63c4..cd864695012 100644
--- a/apps/settings/l10n/zh_TW.js
+++ b/apps/settings/l10n/zh_TW.js
@@ -57,6 +57,7 @@ OC.L10N.register(
"Couldn't remove app." : "無法移除應用程式。",
"Couldn't update app." : "無法更新應用程式。",
"Wrong password" : "密碼錯誤",
+ "Unable to change personal password" : "無法變更個人密碼",
"Saved" : "已儲存",
"No user supplied" : "未提供使用者",
"Authentication error" : "認證錯誤",
@@ -467,8 +468,6 @@ OC.L10N.register(
"Allow username autocompletion to users based on phone number integration" : "允許以電話號碼整合為基礎的使用者名稱自動完成",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "若同時啟用「同一個群組」與「電話號碼整合」的自動完成,則符合其中一項條件就會顯示使用者。",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "輸入全名或電子郵件地址時,允許自動完成(忽略缺少的通訊錄相符,以及在同一個群組中的)",
- "Match username when restricting to full match" : "限制為完全符合時符合使用者名稱",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "忽略括號中的第二顯示名稱(若有)。範例:「第一個顯示名稱(第二個忽略的顯示名稱)」",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "在公開的檔案連結和上傳頁面顯示免責聲明(僅在檔案列表隱藏的時候才會顯示)",
"This text will be shown on the public link upload page when the file list is hidden." : "這段文字會在公開檔案上傳頁面檔案列表被隱藏的時候顯示。",
"Default share permissions" : "預設分享權限",
@@ -519,11 +518,6 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "輸入全名或電子郵件地址時,允許使用者名稱自動完成(忽略缺少的通訊錄相符,以及在同一個群組中的)",
"Change privacy level of full name" : "變更全名的隱私等級",
"No display name set" : "未設定顯示名稱",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <code>%s</code> 的值。",
- "Update all" : "更新全部",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "為了獲得最佳的效能,設定背景工作非常重要,對於比較大的服務來說,建議使用 Cron 設定,請查閱說明文件以獲得更多資訊。",
- "Execute one task with each page loaded." : "每個頁面載入時執行一個工作。",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php 在 webcron 服務中註冊,每5分鐘透過 HTTP 呼叫 cron.php。",
- "Use system cron service to call the cron.php file every 5 minutes." : "使用系統 cron 每5分鐘呼叫 cron.php。"
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <code>%s</code> 的值。"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/zh_TW.json b/apps/settings/l10n/zh_TW.json
index 38cd66b2f6d..a490bb5b16d 100644
--- a/apps/settings/l10n/zh_TW.json
+++ b/apps/settings/l10n/zh_TW.json
@@ -55,6 +55,7 @@
"Couldn't remove app." : "無法移除應用程式。",
"Couldn't update app." : "無法更新應用程式。",
"Wrong password" : "密碼錯誤",
+ "Unable to change personal password" : "無法變更個人密碼",
"Saved" : "已儲存",
"No user supplied" : "未提供使用者",
"Authentication error" : "認證錯誤",
@@ -465,8 +466,6 @@
"Allow username autocompletion to users based on phone number integration" : "允許以電話號碼整合為基礎的使用者名稱自動完成",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "若同時啟用「同一個群組」與「電話號碼整合」的自動完成,則符合其中一項條件就會顯示使用者。",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "輸入全名或電子郵件地址時,允許自動完成(忽略缺少的通訊錄相符,以及在同一個群組中的)",
- "Match username when restricting to full match" : "限制為完全符合時符合使用者名稱",
- "Ignore second display name in parentheses if any (example: \"First display name (second ignored display name)\")" : "忽略括號中的第二顯示名稱(若有)。範例:「第一個顯示名稱(第二個忽略的顯示名稱)」",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "在公開的檔案連結和上傳頁面顯示免責聲明(僅在檔案列表隱藏的時候才會顯示)",
"This text will be shown on the public link upload page when the file list is hidden." : "這段文字會在公開檔案上傳頁面檔案列表被隱藏的時候顯示。",
"Default share permissions" : "預設分享權限",
@@ -517,11 +516,6 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "輸入全名或電子郵件地址時,允許使用者名稱自動完成(忽略缺少的通訊錄相符,以及在同一個群組中的)",
"Change privacy level of full name" : "變更全名的隱私等級",
"No display name set" : "未設定顯示名稱",
- "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <code>%s</code> 的值。",
- "Update all" : "更新全部",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "為了獲得最佳的效能,設定背景工作非常重要,對於比較大的服務來說,建議使用 Cron 設定,請查閱說明文件以獲得更多資訊。",
- "Execute one task with each page loaded." : "每個頁面載入時執行一個工作。",
- "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP." : "cron.php 在 webcron 服務中註冊,每5分鐘透過 HTTP 呼叫 cron.php。",
- "Use system cron service to call the cron.php file every 5 minutes." : "使用系統 cron 每5分鐘呼叫 cron.php。"
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <code>%s</code> 的值。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/lib/Controller/ChangePasswordController.php b/apps/settings/lib/Controller/ChangePasswordController.php
index 8dd1e6ba028..85e4218ebb5 100644
--- a/apps/settings/lib/Controller/ChangePasswordController.php
+++ b/apps/settings/lib/Controller/ChangePasswordController.php
@@ -109,7 +109,10 @@ class ChangePasswordController extends Controller {
try {
if ($newpassword === null || $user->setPassword($newpassword) === false) {
return new JSONResponse([
- 'status' => 'error'
+ 'status' => 'error',
+ 'data' => [
+ 'message' => $this->l->t('Unable to change personal password'),
+ ],
]);
}
// password policy app throws exception
diff --git a/apps/settings/lib/Settings/Admin/Sharing.php b/apps/settings/lib/Settings/Admin/Sharing.php
index 56c89c515a8..ffe1e5acd45 100644
--- a/apps/settings/lib/Settings/Admin/Sharing.php
+++ b/apps/settings/lib/Settings/Admin/Sharing.php
@@ -90,6 +90,7 @@ class Sharing implements IDelegatedSettings {
'restrictUserEnumerationToPhone' => $this->config->getAppValue('core', 'shareapi_restrict_user_enumeration_to_phone', 'no'),
'restrictUserEnumerationFullMatch' => $this->config->getAppValue('core', 'shareapi_restrict_user_enumeration_full_match', 'yes'),
'restrictUserEnumerationFullMatchUserId' => $this->config->getAppValue('core', 'shareapi_restrict_user_enumeration_full_match_userid', 'yes'),
+ 'restrictUserEnumerationFullMatchEmail' => $this->config->getAppValue('core', 'shareapi_restrict_user_enumeration_full_match_email', 'yes'),
'restrictUserEnumerationFullMatchIgnoreSecondDisplayName' => $this->config->getAppValue('core', 'shareapi_restrict_user_enumeration_full_match_ignore_second_display_name', 'no'),
'enforceLinkPassword' => Util::isPublicLinkPasswordRequired(false),
'passwordExcludedGroups' => $excludedPasswordGroupsList,
diff --git a/apps/settings/src/admin.js b/apps/settings/src/admin.js
index feb03a865b9..8012dcb8863 100644
--- a/apps/settings/src/admin.js
+++ b/apps/settings/src/admin.js
@@ -157,6 +157,7 @@ window.addEventListener('DOMContentLoaded', () => {
$('#shareapi_restrict_user_enumeration_full_match').on('change', function() {
$('#shareapi_restrict_user_enumeration_full_match_userid_setting').toggleClass('hidden', !this.checked)
+ $('#shareapi_restrict_user_enumeration_full_match_email_setting').toggleClass('hidden', !this.checked)
$('#shareapi_restrict_user_enumeration_full_match_ignore_second_display_name_setting').toggleClass('hidden', !this.checked)
})
diff --git a/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue b/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue
index 2f11f493207..ed5d6f8b5d7 100644
--- a/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue
+++ b/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue
@@ -152,7 +152,7 @@ export default {
color: var(--color-main-text);
border: 1px solid var(--color-border-dark);
border-radius: var(--border-radius);
- background: var(--icon-triangle-s-000) no-repeat right 4px center;
+ background: var(--icon-triangle-s-dark) no-repeat right 4px center;
font-family: var(--font-face);
appearance: none;
cursor: pointer;
diff --git a/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue b/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue
index ef12d511fb9..afd85269720 100644
--- a/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue
+++ b/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue
@@ -162,7 +162,7 @@ export default {
height: 70px;
border-radius: var(--border-radius-large) var(--border-radius-large) 0 0;
background-color: var(--color-primary);
- background-image: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-element-light) 100%);
+ background-image: var(--gradient-primary-background);
span {
bottom: 0;
diff --git a/apps/settings/templates/settings/admin/sharing.php b/apps/settings/templates/settings/admin/sharing.php
index 04c7f1aa3ae..67a846bcc0c 100644
--- a/apps/settings/templates/settings/admin/sharing.php
+++ b/apps/settings/templates/settings/admin/sharing.php
@@ -247,24 +247,6 @@
} ?> />
<label for="shareapi_restrict_user_enumeration_full_match"><?php p($l->t('Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)'));?></label><br />
</p>
- <p id="shareapi_restrict_user_enumeration_full_match_userid_setting" class="double-indent <?php if ($_['shareAPIEnabled'] === 'no' || $_['restrictUserEnumerationFullMatch'] === 'no') {
- p('hidden');
-}?>">
- <input type="checkbox" name="shareapi_restrict_user_enumeration_full_match_userid" value="1" id="shareapi_restrict_user_enumeration_full_match_userid" class="checkbox"
- <?php if ($_['restrictUserEnumerationFullMatchUserId'] === 'yes') {
- print_unescaped('checked="checked"');
-} ?> />
- <label for="shareapi_restrict_user_enumeration_full_match_userid"><?php p($l->t('Match username when restricting to full match'));?></label><br />
- </p>
- <p id="shareapi_restrict_user_enumeration_full_match_ignore_second_display_name_setting" class="double-indent <?php if ($_['shareAPIEnabled'] === 'no' || $_['restrictUserEnumerationFullMatch'] === 'no') {
- p('hidden');
-}?>">
- <input type="checkbox" name="shareapi_restrict_user_enumeration_full_match_ignore_second_display_name" value="1" id="shareapi_restrict_user_enumeration_full_match_ignore_second_display_name" class="checkbox"
- <?php if ($_['restrictUserEnumerationFullMatchIgnoreSecondDisplayName'] === 'yes') {
- print_unescaped('checked="checked"');
-} ?> />
- <label for="shareapi_restrict_user_enumeration_full_match_ignore_second_display_name"><?php p($l->t('Ignore second display name in parentheses if any (example: "First display name (second ignored display name)")'));?></label><br />
- </p>
<p>
<input type="checkbox" id="publicShareDisclaimer" class="checkbox noJSAutoUpdate"
diff --git a/apps/settings/tests/Settings/Admin/SharingTest.php b/apps/settings/tests/Settings/Admin/SharingTest.php
index e0693b4f963..4cb94632f02 100644
--- a/apps/settings/tests/Settings/Admin/SharingTest.php
+++ b/apps/settings/tests/Settings/Admin/SharingTest.php
@@ -84,6 +84,7 @@ class SharingTest extends TestCase {
['core', 'shareapi_restrict_user_enumeration_to_phone', 'no', 'no'],
['core', 'shareapi_restrict_user_enumeration_full_match', 'yes', 'yes'],
['core', 'shareapi_restrict_user_enumeration_full_match_userid', 'yes', 'yes'],
+ ['core', 'shareapi_restrict_user_enumeration_full_match_email', 'yes', 'yes'],
['core', 'shareapi_restrict_user_enumeration_full_match_ignore_second_display_name', 'no', 'no'],
['core', 'shareapi_enabled', 'yes', 'yes'],
['core', 'shareapi_default_expire_date', 'no', 'no'],
@@ -119,6 +120,7 @@ class SharingTest extends TestCase {
'restrictUserEnumerationToPhone' => 'no',
'restrictUserEnumerationFullMatch' => 'yes',
'restrictUserEnumerationFullMatchUserId' => 'yes',
+ 'restrictUserEnumerationFullMatchEmail' => 'yes',
'restrictUserEnumerationFullMatchIgnoreSecondDisplayName' => 'no',
'enforceLinkPassword' => false,
'onlyShareWithGroupMembers' => false,
@@ -163,6 +165,7 @@ class SharingTest extends TestCase {
['core', 'shareapi_restrict_user_enumeration_to_phone', 'no', 'no'],
['core', 'shareapi_restrict_user_enumeration_full_match', 'yes', 'yes'],
['core', 'shareapi_restrict_user_enumeration_full_match_userid', 'yes', 'yes'],
+ ['core', 'shareapi_restrict_user_enumeration_full_match_email', 'yes', 'yes'],
['core', 'shareapi_restrict_user_enumeration_full_match_ignore_second_display_name', 'no', 'no'],
['core', 'shareapi_enabled', 'yes', 'yes'],
['core', 'shareapi_default_expire_date', 'no', 'no'],
@@ -198,6 +201,7 @@ class SharingTest extends TestCase {
'restrictUserEnumerationToPhone' => 'no',
'restrictUserEnumerationFullMatch' => 'yes',
'restrictUserEnumerationFullMatchUserId' => 'yes',
+ 'restrictUserEnumerationFullMatchEmail' => 'yes',
'restrictUserEnumerationFullMatchIgnoreSecondDisplayName' => 'no',
'enforceLinkPassword' => false,
'onlyShareWithGroupMembers' => false,
diff --git a/apps/sharebymail/l10n/es.js b/apps/sharebymail/l10n/es.js
index 3d3c771746a..5fe224e57a7 100644
--- a/apps/sharebymail/l10n/es.js
+++ b/apps/sharebymail/l10n/es.js
@@ -27,7 +27,7 @@ OC.L10N.register(
"Share by mail" : "Enviado por correo electrónico",
"Sharing %1$s failed, because this item is already shared with user %2$s" : "Fallo al compartir %1$s porque este objeto ya está compartido con el usuario %2$s",
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No te podemos enviar la contraseña auto generada. Por favor, indica una dirección de email válida en tu configuración personal e inténtalo de nuevo.",
- "Failed to send share by email. Got an invalid email address" : "No se ha podido enviar la acción por correo electrónico. La dirección de correo electrónico no es válida",
+ "Failed to send share by email. Got an invalid email address" : "No se ha podido enviar el vínculo por correo electrónico. La dirección de correo electrónico no es válida",
"Failed to send share by email" : "Fallo al enviar compartido por correo electrónico",
"%1$s shared »%2$s« with you" : "%1$s ha compartido «%2$s» contigo",
"%1$s shared »%2$s« with you." : "%1$s ha compartido «%2$s» contigo.",
diff --git a/apps/sharebymail/l10n/es.json b/apps/sharebymail/l10n/es.json
index f2cd4a28f81..ff7b42306da 100644
--- a/apps/sharebymail/l10n/es.json
+++ b/apps/sharebymail/l10n/es.json
@@ -25,7 +25,7 @@
"Share by mail" : "Enviado por correo electrónico",
"Sharing %1$s failed, because this item is already shared with user %2$s" : "Fallo al compartir %1$s porque este objeto ya está compartido con el usuario %2$s",
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No te podemos enviar la contraseña auto generada. Por favor, indica una dirección de email válida en tu configuración personal e inténtalo de nuevo.",
- "Failed to send share by email. Got an invalid email address" : "No se ha podido enviar la acción por correo electrónico. La dirección de correo electrónico no es válida",
+ "Failed to send share by email. Got an invalid email address" : "No se ha podido enviar el vínculo por correo electrónico. La dirección de correo electrónico no es válida",
"Failed to send share by email" : "Fallo al enviar compartido por correo electrónico",
"%1$s shared »%2$s« with you" : "%1$s ha compartido «%2$s» contigo",
"%1$s shared »%2$s« with you." : "%1$s ha compartido «%2$s» contigo.",
diff --git a/apps/testing/lib/Locking/FakeDBLockingProvider.php b/apps/testing/lib/Locking/FakeDBLockingProvider.php
index 5f8ea399477..2556ba29a64 100644
--- a/apps/testing/lib/Locking/FakeDBLockingProvider.php
+++ b/apps/testing/lib/Locking/FakeDBLockingProvider.php
@@ -26,32 +26,27 @@ namespace OCA\Testing\Locking;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IDBConnection;
use Psr\Log\LoggerInterface;
+use OC\Lock\DBLockingProvider;
-class FakeDBLockingProvider extends \OC\Lock\DBLockingProvider {
+class FakeDBLockingProvider extends DBLockingProvider {
// Lock for 10 hours just to be sure
public const TTL = 36000;
/**
* Need a new child, because parent::connection is private instead of protected...
- * @var IDBConnection
*/
- protected $db;
+ protected IDBConnection $db;
public function __construct(
IDBConnection $connection,
- LoggerInterface $logger,
ITimeFactory $timeFactory
) {
- parent::__construct($connection, $logger, $timeFactory);
+ parent::__construct($connection, $timeFactory);
$this->db = $connection;
}
-
- /**
- * @param string $path
- * @param int $type self::LOCK_SHARED or self::LOCK_EXCLUSIVE
- */
- public function releaseLock(string $path, int $type) {
+ /** @inheritDoc */
+ public function releaseLock(string $path, int $type): void {
// we DONT keep shared locks till the end of the request
if ($type === self::LOCK_SHARED) {
$this->db->executeUpdate(
diff --git a/apps/theming/css/default.css b/apps/theming/css/default.css
index a2b4b4c7b60..e2d641f530e 100644
--- a/apps/theming/css/default.css
+++ b/apps/theming/css/default.css
@@ -13,12 +13,13 @@
--color-primary-hover: #329bd3;
--color-primary-light: #e5f2f9;
--color-primary-light-text: #0082c9;
- --color-primary-light-hover: #1e2b32;
+ --color-primary-light-hover: #dbe7ee;
--color-primary-text-dark: #ededed;
--color-primary-element: #0082c9;
--color-primary-element-hover: #198ece;
--color-primary-element-light: #17adff;
--color-primary-element-lighter: #d8ecf6;
+ --gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-element-light) 100%);
--color-main-text: #222222;
--color-text-maxcontrast: #767676;
--color-text-light: #222222;
diff --git a/apps/theming/css/settings-admin.css b/apps/theming/css/settings-admin.css
new file mode 100644
index 00000000000..96be6dd862b
--- /dev/null
+++ b/apps/theming/css/settings-admin.css
@@ -0,0 +1,132 @@
+#theming input {
+ width: 230px;
+}
+#theming input:focus,
+#theming input:active {
+ padding-right: 30px;
+}
+#theming .fileupload {
+ display: none;
+}
+#theming div > label {
+ position: relative;
+}
+#theming .theme-undo {
+ position: absolute;
+ top: -7px;
+ right: 4px;
+ cursor: pointer;
+ opacity: 0.3;
+ padding: 7px;
+ vertical-align: top;
+ display: inline-block;
+ visibility: hidden;
+ height: 32px;
+ width: 32px;
+}
+#theming form.uploadButton {
+ width: 411px;
+}
+#theming form .theme-undo,
+#theming .theme-remove-bg {
+ cursor: pointer;
+ opacity: 0.3;
+ padding: 7px;
+ vertical-align: top;
+ display: inline-block;
+ float: right;
+ position: relative;
+ top: 4px;
+ right: 0px;
+ visibility: visible;
+ height: 32px;
+ width: 32px;
+}
+#theming input[type=text]:hover + .theme-undo,
+#theming input[type=text] + .theme-undo:hover,
+#theming input[type=text]:focus + .theme-undo,
+#theming input[type=text]:active + .theme-undo,
+#theming input[type=url]:hover + .theme-undo,
+#theming input[type=url] + .theme-undo:hover,
+#theming input[type=url]:focus + .theme-undo,
+#theming input[type=url]:active + .theme-undo {
+ visibility: visible;
+}
+#theming label span {
+ display: inline-block;
+ min-width: 175px;
+ padding: 8px 0px;
+ vertical-align: top;
+}
+#theming .icon-upload,
+#theming .uploadButton .icon-loading-small {
+ padding: 8px 20px;
+ width: 20px;
+ margin: 2px 0px;
+ min-height: 32px;
+ display: inline-block;
+}
+#theming #theming_settings_status {
+ height: 26px;
+ margin: 10px;
+}
+#theming #theming_settings_loading {
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 10px;
+}
+#theming #theming_settings_msg {
+ vertical-align: middle;
+ border-radius: 3px;
+}
+#theming #theming-preview {
+ width: 230px;
+ height: 140px;
+ background-size: cover;
+ background-position: center center;
+ text-align: center;
+ margin-left: 178px;
+ margin-top: 10px;
+ margin-bottom: 20px;
+ cursor: pointer;
+ background-color: var(--color-primary);
+ background-image: var(--image-background, var(--image-background-plain, url("../../../core/img/background.svg"), linear-gradient(40deg, #0082c9 0%, #30b6ff 100%)));
+}
+#theming #theming-preview #theming-preview-logo {
+ cursor: pointer;
+ width: 20%;
+ height: 20%;
+ margin-top: 20px;
+ display: inline-block;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-image: var(--image-logo, url("../../../core/img/logo/logo.svg"));
+}
+#theming .theming-hints {
+ margin-top: 20px;
+}
+#theming .image-preview {
+ display: inline-block;
+ width: 80px;
+ height: 36px;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: contain;
+}
+#theming #theming-preview-logoheader {
+ background-image: var(--image-logoheader);
+}
+#theming #theming-preview-favicon {
+ background-image: var(--image-favicon);
+}
+
+/* transition effects for theming value changes */
+#header {
+ transition: background-color 500ms linear;
+}
+#header svg, #header img {
+ transition: 500ms filter linear;
+}
+
+/*# sourceMappingURL=settings-admin.css.map */
diff --git a/apps/theming/css/settings-admin.css.map b/apps/theming/css/settings-admin.css.map
new file mode 100644
index 00000000000..b5e657a4e30
--- /dev/null
+++ b/apps/theming/css/settings-admin.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["settings-admin.scss"],"names":[],"mappings":"AACI;EACI;;AAGJ;AAAA;EAEI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQI;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGP;EAEO;;AAGP;EACO;;;AAIR;AACA;EACI;;AACA;EACI","file":"settings-admin.css"} \ No newline at end of file
diff --git a/apps/theming/css/theming.css b/apps/theming/css/theming.css
new file mode 100644
index 00000000000..2d43b528a95
--- /dev/null
+++ b/apps/theming/css/theming.css
@@ -0,0 +1,17 @@
+/* Error: Undefined variable.
+ * ,
+ * 38 | $invert: luma($color-primary) > 0.6;
+ * | ^^^^^^^^^^^^^^
+ * '
+ * apps/theming/css/theming.scss 38:15 root stylesheet */
+
+body::before {
+ font-family: "Source Code Pro", "SF Mono", Monaco, Inconsolata, "Fira Mono",
+ "Droid Sans Mono", monospace, monospace;
+ white-space: pre;
+ display: block;
+ padding: 1em;
+ margin-bottom: 1em;
+ border-bottom: 2px solid black;
+ content: "Error: Undefined variable.\a \2577 \a 38 \2502 $invert: luma($color-primary) > 0.6;\a \2502 ^^^^^^^^^^^^^^\a \2575 \a apps/theming/css/theming.scss 38:15 root stylesheet";
+}
diff --git a/apps/theming/css/theming.scss b/apps/theming/css/theming.scss
deleted file mode 100644
index a5b55a5a738..00000000000
--- a/apps/theming/css/theming.scss
+++ /dev/null
@@ -1,285 +0,0 @@
-/** Calculate luma as it is also used in OCA\Theming\Util::calculateLuma */
-@function luma($c) {
- $-local-red: red(rgba($c, 1.0));
- $-local-green: green(rgba($c, 1.0));
- $-local-blue: blue(rgba($c, 1.0));
-
- @return (0.2126 * $-local-red + 0.7152 * $-local-green + 0.0722 * $-local-blue) / 255;
-}
-
-@mixin faded-background {
- background-color: $color-primary;
-
- @if ($color-primary == #0082C9) {
- background-image: linear-gradient(40deg, $color-primary 0%, lighten($color-primary, 20%) 100%);
- } @else {
- /** This will be overwritten by the faded-background-image mixin if needed */
- background-image: none;
- }
-}
-
-@mixin faded-background-image {
- @include faded-background;
- background-size: contain;
-
- @if ($color-primary == #0082C9) {
- background-image: $image-login-background, linear-gradient(40deg, $color-primary 0%, lighten($color-primary, 20%) 100%);
- }
-
- @if($has-custom-background == true) {
- background-size: cover;
- background-repeat: no-repeat;
- background-image: $image-login-background;
- }
-}
-
-$has-custom-background: variable_exists('theming-background-mime') and $theming-background-mime != '';
-$has-custom-logo: variable_exists('theming-logo-mime') and $theming-logo-mime != '';
-$invert: luma($color-primary) > 0.6;
-
-@if ($has-custom-logo == false) {
- @if ($invert) {
- $image-logo: url(icon-color-path('logo', 'logo', #000000, 1, true));
- } @else {
- $image-logo: url(icon-color-path('logo', 'logo', #ffffff, 1, true));
- }
-}
-
-@if ($invert) {
- // too bright, use dark text to mix the primary
- $color-primary-light: mix($color-primary, $color-main-text, 10%);
-
- #appmenu:not(.inverted) svg {
- filter: invert(1);
- }
- #appmenu.inverted svg {
- filter: none;
- }
- .searchbox input[type="search"] {
- background-repeat: no-repeat;
- background-position: 6px center;
- background-color: transparent;
- @include icon-color('search', 'actions', $color-black, 1, true);
- }
- #contactsmenu .icon-contacts {
- @include icon-color('contacts', 'places', $color-black, 1, true);
- }
- #settings .icon-settings-white {
- @include icon-color('settings', 'actions', $color-black, 1, true);
- }
- #appmenu .icon-more-white {
- @include icon-color('more', 'actions', $color-black, 1, true);
- }
-} @else {
- #appmenu:not(.inverted) svg {
- filter: none;
- }
- #appmenu.inverted svg {
- filter: invert(1);
- }
-}
-
-/* Colorized svg images */
-.icon-file, .icon-filetype-text {
- background-image: url(./img/core/filetypes/text.svg?v=#{$theming-cachebuster});
-}
-
-.icon-folder, .icon-filetype-folder {
- background-image: url(./img/core/filetypes/folder.svg?v=#{$theming-cachebuster});
-}
-
-.icon-filetype-folder-drag-accept {
- background-image: url(./img/core/filetypes/folder-drag-accept.svg?v=#{$theming-cachebuster}) !important;
-}
-
-#theming-preview-logo,
-#header .logo {
- background-image: $image-logo;
-}
-
-#body-user,
-#body-settings,
-#body-public {
- #header,
- .profile__header,
- .preview-card__header {
- @include faded-background;
- }
-}
-
-#body-login,
-#firstrunwizard .firstrunwizard-header,
-#theming-preview {
- @include faded-background-image;
-}
-
-/* override styles for login screen in guest.css */
-@if ($has-custom-logo) {
- // custom logo
- #theming-preview-logo,
- #header .logo {
- background-size: contain;
- }
-
- #body-login #header .logo {
- margin-bottom: 22px;
- }
-} @else {
- // default logo
- @if ($invert) {
- #theming-preview-logo,
- #header .logo {
- opacity: .6;
- }
- }
-}
-
-@if variable_exists('theming-logoheader-mime') and $theming-logoheader-mime != '' {
- #theming .advanced-option-logoheader .image-preview,
- body:not(#body-login) #header .logo {
- background-image: $image-logoheader;
- }
-} @else {
- #theming .advanced-option-favicon .image-preview {
- background-image: none;
- }
-}
-
-input.primary {
- background-color: $color-primary-element;
- border: 1px solid $color-primary-text;
- color: $color-primary-text;
-}
-
-#body-login {
- input.primary:enabled:hover,
- input.primary:enabled:focus,
- button.primary:enabled:hover,
- button.primary:enabled:focus,
- a.primary:enabled:hover,
- a.primary:enabled:focus {
- color: $color-primary-text;
- background-image: linear-gradient(40deg, $color-primary 0%, lighten($color-primary, 20%) 100%);
- }
-}
-
-@if ($invert) {
- #body-login {
- .body-login-container {
- background-color: transparentize(nc-lighten($color-primary, 30%), 0.2);
- color: $color-primary-text !important;
-
- h2 {
- color: $color-primary-text;
- }
- .icon-search.icon-white {
- // CSS variable is not used here since it is on the public page layout,
- // where the dark theme doesn't apply at the moment
- background-image: url('../../../core/img/actions/search.svg');
- }
- }
-
- input {
- border: 1px solid nc-lighten($color-primary-text, 50%);
- }
- input.primary,
- button.primary {
- background-color: $color-primary;
- color: $color-primary-text;
- }
- :not(div.alternative-logins) > a,
- label,
- footer p,
- .alternative-logins legend,
- .lost-password-container #lost-password,
- .warning, .update, .error {
- color: $color-primary-text !important;
- }
- input[type='checkbox'].checkbox--white + label:before {
- border-color: nc-darken($color-primary-element, 40%) !important;
- }
- input[type='checkbox'].checkbox--white:not(:disabled):not(:checked) + label:hover:before,
- input[type='checkbox'].checkbox--white:focus + label:before {
- border-color: nc-darken($color-primary-element, 30%) !important;
- }
- input[type='checkbox'].checkbox--white:checked + label:before {
- border-color: nc-darken($color-primary-element, 30%) !important;
- background-color: nc-darken($color-primary-element, 30%) !important;
- @include icon-color('checkbox-mark', 'actions', $color-white, 1, true);
- }
- #submit-wrapper .icon-confirm-white {
- background-image: url('../../../core/img/actions/confirm.svg');
- }
-
- .two-factor-provider {
- &:hover, &:focus {
- border-color: $color-primary-text;
- }
- img {
- filter: invert(1);
- }
- }
- }
- #body-public #header .icon-more-white {
- background-image: var(--icon-more-000);
- }
-}
-
-// plain background color for login page
-@if $image-login-plain == 'true' {
- #body-login, #firstrunwizard .firstrunwizard-header, #theming-preview {
- background-image: none !important;
- }
- #body-login {
-
- :not(.alternative-logins) a, label, p {
- color: $color-primary-text;
- }
-
- }
-}
-
-/** Handle primary buttons for bright colors */
-@if (luma($color-primary) > 0.8) {
- :root {
- --color-primary-light-text: var(--color-primary-text);
- }
- select,
- button, .button,
- input:not([type='range']),
- textarea,
- div[contenteditable=true],
- .pager li a {
- &.primary:not(:disabled) {
- background-color: var(--color-background-dark);
- color: var(--color-main-text);
- border-color: var(--color-text-lighter);
-
- &:hover, &:focus, &:active {
- background-color: var(--color-background-darker);
- color: var(--color-main-text);
- border-color: var(--color-text);
- }
- }
- }
-}
-
-@if ($color-primary == #ffffff) {
- /* show grey border below header */
- #body-user #header,
- #body-settings #header,
- #body-public #header {
- border-bottom: 1px solid #ebebeb;
- }
-
- /* show triangle in header in grey */
- #appmenu li a.active:before,
- .header-right #settings #expand:before {
- border-bottom-color:#ebebeb;
- }
-
- /* show border around quota bar in files app */
- .app-files #quota .quota-container {
- border: 1px solid #ebebeb;
- }
-}
diff --git a/apps/theming/l10n/af.js b/apps/theming/l10n/af.js
index d4579669802..0081070fa77 100644
--- a/apps/theming/l10n/af.js
+++ b/apps/theming/l10n/af.js
@@ -21,7 +21,6 @@ OC.L10N.register(
"A PHP extension stopped the file upload" : "’n PHP-uitbreiding het die oplaai gestaak",
"No file uploaded" : "Geen lêer opgelaai",
"Dark theme" : "Donker Tema",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "’n Donker tema om u oë ’n ruskans te gee deur die algehele ligsterkte en helderheid te verminder. Dit word nog ontwikkel; rapporteer asb. enige probleme wat u ervaar.",
"Dyslexia font" : "Disleksie-font",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is ’n gratis lettertipe/font wat ontwerp is om sommige van die algemene leesfoute wat deur disleksie veroorsaak word, te versag.",
"High contrast mode" : "Hoëkontrasmodus",
diff --git a/apps/theming/l10n/af.json b/apps/theming/l10n/af.json
index 8afe6254778..f7a2676dc9e 100644
--- a/apps/theming/l10n/af.json
+++ b/apps/theming/l10n/af.json
@@ -19,7 +19,6 @@
"A PHP extension stopped the file upload" : "’n PHP-uitbreiding het die oplaai gestaak",
"No file uploaded" : "Geen lêer opgelaai",
"Dark theme" : "Donker Tema",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "’n Donker tema om u oë ’n ruskans te gee deur die algehele ligsterkte en helderheid te verminder. Dit word nog ontwikkel; rapporteer asb. enige probleme wat u ervaar.",
"Dyslexia font" : "Disleksie-font",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is ’n gratis lettertipe/font wat ontwerp is om sommige van die algemene leesfoute wat deur disleksie veroorsaak word, te versag.",
"High contrast mode" : "Hoëkontrasmodus",
diff --git a/apps/theming/l10n/ar.js b/apps/theming/l10n/ar.js
index ae11305c99c..c4b08519beb 100644
--- a/apps/theming/l10n/ar.js
+++ b/apps/theming/l10n/ar.js
@@ -21,7 +21,6 @@ OC.L10N.register(
"Theming" : "تخصيص القالب",
"Dark theme" : "مظهر داكن",
"Enable dark theme" : "تفعيل المظهر الداكن",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "المظهر الداكن يخفف من الإرهاق على عينيك، وذلك بتخفيض حدّة الإضاءة والسطوع. هذه الميزة لا تزال تحت التطوير، لهذا نود منكم الإبلاغ عن أي مشكلة قد تصادفكم.",
"Dyslexia font" : "خط خاص بالمصابين بعسر القراءة",
"Enable dyslexia font" : "تفعيل الخط الخاص بالمصابين بعسر القراءة",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic خط مجاني مصمم للمساعدة على تفادي الأخطاء لمن يعانون من عسر القراءة.",
diff --git a/apps/theming/l10n/ar.json b/apps/theming/l10n/ar.json
index f4731cb8265..714ea008e4c 100644
--- a/apps/theming/l10n/ar.json
+++ b/apps/theming/l10n/ar.json
@@ -19,7 +19,6 @@
"Theming" : "تخصيص القالب",
"Dark theme" : "مظهر داكن",
"Enable dark theme" : "تفعيل المظهر الداكن",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "المظهر الداكن يخفف من الإرهاق على عينيك، وذلك بتخفيض حدّة الإضاءة والسطوع. هذه الميزة لا تزال تحت التطوير، لهذا نود منكم الإبلاغ عن أي مشكلة قد تصادفكم.",
"Dyslexia font" : "خط خاص بالمصابين بعسر القراءة",
"Enable dyslexia font" : "تفعيل الخط الخاص بالمصابين بعسر القراءة",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic خط مجاني مصمم للمساعدة على تفادي الأخطاء لمن يعانون من عسر القراءة.",
diff --git a/apps/theming/l10n/bg.js b/apps/theming/l10n/bg.js
index cbb75f66af4..6e26a2e3439 100644
--- a/apps/theming/l10n/bg.js
+++ b/apps/theming/l10n/bg.js
@@ -32,7 +32,6 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "Подобно на режима с висок контраст, но с тъмни цветове.",
"Dark theme" : "Tъмна Tема",
"Enable dark theme" : "Активиране на тъмна тема",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Тъмна тема, която облекчава очите ви, като намалява яркостта. Все още е в процес на разработка, затова, моля, докладвайте за всички проблеми, които откриете.",
"Dyslexia font" : "Шрифт за дислексия",
"Enable dyslexia font" : "Активирай шрифт за дислексия",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic е безплатен шрифт, предназначен за смекчаване на някои от често срещаните грешки при четенето, причинени от дислексия.",
diff --git a/apps/theming/l10n/bg.json b/apps/theming/l10n/bg.json
index 81bf9dba945..a8125cd1cd3 100644
--- a/apps/theming/l10n/bg.json
+++ b/apps/theming/l10n/bg.json
@@ -30,7 +30,6 @@
"Similar to the high contrast mode, but with dark colours." : "Подобно на режима с висок контраст, но с тъмни цветове.",
"Dark theme" : "Tъмна Tема",
"Enable dark theme" : "Активиране на тъмна тема",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Тъмна тема, която облекчава очите ви, като намалява яркостта. Все още е в процес на разработка, затова, моля, докладвайте за всички проблеми, които откриете.",
"Dyslexia font" : "Шрифт за дислексия",
"Enable dyslexia font" : "Активирай шрифт за дислексия",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic е безплатен шрифт, предназначен за смекчаване на някои от често срещаните грешки при четенето, причинени от дислексия.",
diff --git a/apps/theming/l10n/ca.js b/apps/theming/l10n/ca.js
index cdb8c19bbcc..c065eb4fc11 100644
--- a/apps/theming/l10n/ca.js
+++ b/apps/theming/l10n/ca.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Aparença",
"Dark theme" : "Tema fosc",
"Enable dark theme" : "Habilita el tema fosc",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema fosc que ajuda els ulls reduint la lluminositat i la brillantor general. Com que encara es troba en desenvolupament, agrairem que informeu de les errades que hi pugueu trobar.",
"Dyslexia font" : "Tipus de lletra per a la dislèxia",
"Enable dyslexia font" : "Habilita el tipus de lletra per a la dislèxia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic és un tipus de lletra gratuït dissenyat per a mitigar alguns dels errors de lectura habituals causats per la dislèxia.",
diff --git a/apps/theming/l10n/ca.json b/apps/theming/l10n/ca.json
index 40fdc065bdc..8325998e01b 100644
--- a/apps/theming/l10n/ca.json
+++ b/apps/theming/l10n/ca.json
@@ -26,7 +26,6 @@
"Theming" : "Aparença",
"Dark theme" : "Tema fosc",
"Enable dark theme" : "Habilita el tema fosc",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema fosc que ajuda els ulls reduint la lluminositat i la brillantor general. Com que encara es troba en desenvolupament, agrairem que informeu de les errades que hi pugueu trobar.",
"Dyslexia font" : "Tipus de lletra per a la dislèxia",
"Enable dyslexia font" : "Habilita el tipus de lletra per a la dislèxia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic és un tipus de lletra gratuït dissenyat per a mitigar alguns dels errors de lectura habituals causats per la dislèxia.",
diff --git a/apps/theming/l10n/cs.js b/apps/theming/l10n/cs.js
index fbac6d62636..0ece6b6eb96 100644
--- a/apps/theming/l10n/cs.js
+++ b/apps/theming/l10n/cs.js
@@ -32,9 +32,10 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "Podobné režimu s vysokým kontrastem, ale s tmavými barvami.",
"Dark theme" : "Tmavý motiv vzhledu",
"Enable dark theme" : "Používat tmavý motiv vzhledu",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tmavý motiv vzhledu pro ulevení vašim očím snížením celkové svítivosti a jasu. Jeho vývoj zatím ještě není zcela dokončen, proto prosíme hlaste jakékoli problémy, se kterými se setkáte.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Tmavý motiv vzhledu pro ulevení vašim očím pomocí omezení celkové svítivosti a jasu.",
"System default theme" : "Výchozí systémový vzhled",
"Enable the system default" : "Použít systémový výchozí",
+ "Using the default system appearance." : "Používá se výchozí systémový vzhled.",
"Dyslexia font" : "Písmo pro dyslektiky",
"Enable dyslexia font" : "Používat písmo pro dyslektiky",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je bezplatné písmo (font) navržené tak, aby odpomáhalo od některých běžných chybování při čtení, způsobených dyslexií.",
@@ -49,6 +50,7 @@ OC.L10N.register(
"Adjust the Nextcloud theme" : "Upravit motiv vzhledu Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Přístupnost pro všechny je pro nás velmi důležitá. Splňujeme webové standardy a zajišťujeme, aby všechno bylo použitelné i bez myši a s asistenčním software, jako například čtečkami obrazovky. Máme za cíl být v souladu s doporučeními {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na úrovni AA, při použití motivu vzhledu s vysokým kontrastem dokonce na úrovni AAA.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Pokud naleznete jakékoli problémy, neváhejte s jejich nahlášením do {issuetracker}našeho systému pro správu hlášení{linkend}. A pokud se chcete zapojit, přidejte se k {designteam}týmu našich designérů{linkend}!",
+ "Theme selection is enforced" : "Výběr motivu vzhledu je vynucen",
"Open documentation" : "Otevřít dokumentaci",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motivy umožňují jednoduše přizpůsobit vzhled a dojem z vaší instance a podporovaných klientů. Projeví se všem uživatelům.",
"Name" : "Název",
diff --git a/apps/theming/l10n/cs.json b/apps/theming/l10n/cs.json
index 34dfac4ef9d..062c56d6cc8 100644
--- a/apps/theming/l10n/cs.json
+++ b/apps/theming/l10n/cs.json
@@ -30,9 +30,10 @@
"Similar to the high contrast mode, but with dark colours." : "Podobné režimu s vysokým kontrastem, ale s tmavými barvami.",
"Dark theme" : "Tmavý motiv vzhledu",
"Enable dark theme" : "Používat tmavý motiv vzhledu",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tmavý motiv vzhledu pro ulevení vašim očím snížením celkové svítivosti a jasu. Jeho vývoj zatím ještě není zcela dokončen, proto prosíme hlaste jakékoli problémy, se kterými se setkáte.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Tmavý motiv vzhledu pro ulevení vašim očím pomocí omezení celkové svítivosti a jasu.",
"System default theme" : "Výchozí systémový vzhled",
"Enable the system default" : "Použít systémový výchozí",
+ "Using the default system appearance." : "Používá se výchozí systémový vzhled.",
"Dyslexia font" : "Písmo pro dyslektiky",
"Enable dyslexia font" : "Používat písmo pro dyslektiky",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je bezplatné písmo (font) navržené tak, aby odpomáhalo od některých běžných chybování při čtení, způsobených dyslexií.",
@@ -47,6 +48,7 @@
"Adjust the Nextcloud theme" : "Upravit motiv vzhledu Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Přístupnost pro všechny je pro nás velmi důležitá. Splňujeme webové standardy a zajišťujeme, aby všechno bylo použitelné i bez myši a s asistenčním software, jako například čtečkami obrazovky. Máme za cíl být v souladu s doporučeními {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na úrovni AA, při použití motivu vzhledu s vysokým kontrastem dokonce na úrovni AAA.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Pokud naleznete jakékoli problémy, neváhejte s jejich nahlášením do {issuetracker}našeho systému pro správu hlášení{linkend}. A pokud se chcete zapojit, přidejte se k {designteam}týmu našich designérů{linkend}!",
+ "Theme selection is enforced" : "Výběr motivu vzhledu je vynucen",
"Open documentation" : "Otevřít dokumentaci",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motivy umožňují jednoduše přizpůsobit vzhled a dojem z vaší instance a podporovaných klientů. Projeví se všem uživatelům.",
"Name" : "Název",
diff --git a/apps/theming/l10n/da.js b/apps/theming/l10n/da.js
index 9ec333ceb33..497076a70c6 100644
--- a/apps/theming/l10n/da.js
+++ b/apps/theming/l10n/da.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Temaer",
"Dark theme" : "Mørkt tema",
"Enable dark theme" : "Aktiver Mørkt tema",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Et mørk tema, venligere for øjnene ved at dæmpe lysstyrken. Det er stadig under udvikling så indberet venligst alle problemer du måtte finde.",
"Dyslexia font" : "Skrifftype for ordblinde",
"Enable dyslexia font" : "aktiver skrifftype for ordblinde",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic er en gratis skrifttype designet til at undgå læsefejl pga. ordblindhed",
diff --git a/apps/theming/l10n/da.json b/apps/theming/l10n/da.json
index 245036ca797..dc86620cae5 100644
--- a/apps/theming/l10n/da.json
+++ b/apps/theming/l10n/da.json
@@ -26,7 +26,6 @@
"Theming" : "Temaer",
"Dark theme" : "Mørkt tema",
"Enable dark theme" : "Aktiver Mørkt tema",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Et mørk tema, venligere for øjnene ved at dæmpe lysstyrken. Det er stadig under udvikling så indberet venligst alle problemer du måtte finde.",
"Dyslexia font" : "Skrifftype for ordblinde",
"Enable dyslexia font" : "aktiver skrifftype for ordblinde",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic er en gratis skrifttype designet til at undgå læsefejl pga. ordblindhed",
diff --git a/apps/theming/l10n/de.js b/apps/theming/l10n/de.js
index 93cbafbeb93..eb3a7d22640 100644
--- a/apps/theming/l10n/de.js
+++ b/apps/theming/l10n/de.js
@@ -32,7 +32,6 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "Ähnlich wie der Hochkontrastmodus, aber mit dunklen Farben",
"Dark theme" : "Dunkles Design",
"Enable dark theme" : "Dunkles Design aktivieren",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ein dunkles Design, das die Augen entspannt, indem es die allgemeine Lichtstärke und Helligkeit reduziert. Es befindet sich noch in der Entwicklung, also melde bitte alle Probleme, die Du findest.",
"Dyslexia font" : "Legasthenie-Schriftart",
"Enable dyslexia font" : "Legasthenie-Schriftart aktivieren",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic ist eine freie Schriftart, die entwickelt wurde, um einige der häufigsten Lesefehler, die durch Legasthenie verursacht werden, zu reduzieren.",
diff --git a/apps/theming/l10n/de.json b/apps/theming/l10n/de.json
index 6b0f4118e58..ae9c00482d1 100644
--- a/apps/theming/l10n/de.json
+++ b/apps/theming/l10n/de.json
@@ -30,7 +30,6 @@
"Similar to the high contrast mode, but with dark colours." : "Ähnlich wie der Hochkontrastmodus, aber mit dunklen Farben",
"Dark theme" : "Dunkles Design",
"Enable dark theme" : "Dunkles Design aktivieren",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ein dunkles Design, das die Augen entspannt, indem es die allgemeine Lichtstärke und Helligkeit reduziert. Es befindet sich noch in der Entwicklung, also melde bitte alle Probleme, die Du findest.",
"Dyslexia font" : "Legasthenie-Schriftart",
"Enable dyslexia font" : "Legasthenie-Schriftart aktivieren",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic ist eine freie Schriftart, die entwickelt wurde, um einige der häufigsten Lesefehler, die durch Legasthenie verursacht werden, zu reduzieren.",
diff --git a/apps/theming/l10n/de_DE.js b/apps/theming/l10n/de_DE.js
index ad3e1c0e3a3..c39211a5d10 100644
--- a/apps/theming/l10n/de_DE.js
+++ b/apps/theming/l10n/de_DE.js
@@ -32,7 +32,7 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "Ähnlich wie der Hochkontrastmodus, aber mit dunklen Farben.",
"Dark theme" : "Dunkles Design",
"Enable dark theme" : "Dunkles Design aktivieren",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ein dunkles Design, das die Augen entspannt, indem es die Gesamthelligkeit und -helligkeit reduziert. Es befindet sich noch in der Entwicklung, also melden Sie bitte alle Probleme, die Sie finden.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ein dunkles Design zur Entlastung der Augen durch Verringerung der Gesamtleuchtkraft und -helligkeit.",
"System default theme" : "Standard-System-Design",
"Enable the system default" : "Systemstandard aktivieren",
"Using the default system appearance." : "Das Standard-System-Erscheinungsbild verwenden.",
diff --git a/apps/theming/l10n/de_DE.json b/apps/theming/l10n/de_DE.json
index d1c468aa1be..f7ef63531cf 100644
--- a/apps/theming/l10n/de_DE.json
+++ b/apps/theming/l10n/de_DE.json
@@ -30,7 +30,7 @@
"Similar to the high contrast mode, but with dark colours." : "Ähnlich wie der Hochkontrastmodus, aber mit dunklen Farben.",
"Dark theme" : "Dunkles Design",
"Enable dark theme" : "Dunkles Design aktivieren",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ein dunkles Design, das die Augen entspannt, indem es die Gesamthelligkeit und -helligkeit reduziert. Es befindet sich noch in der Entwicklung, also melden Sie bitte alle Probleme, die Sie finden.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ein dunkles Design zur Entlastung der Augen durch Verringerung der Gesamtleuchtkraft und -helligkeit.",
"System default theme" : "Standard-System-Design",
"Enable the system default" : "Systemstandard aktivieren",
"Using the default system appearance." : "Das Standard-System-Erscheinungsbild verwenden.",
diff --git a/apps/theming/l10n/el.js b/apps/theming/l10n/el.js
index 73948540224..cf3337b4f1c 100644
--- a/apps/theming/l10n/el.js
+++ b/apps/theming/l10n/el.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Προσαρμογή θέματος",
"Dark theme" : "Σκούρο θέμα",
"Enable dark theme" : "Ενεργοποίηση σκούρου θέματος",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ένα σκούρο θέμα που διευκολύνει τα μάτια σας μειώνοντας την συνολική ακτινοβολία και φωτεινότητα. Είναι ακόμη υπό δοκιμή, οπότε θα σας παρακαλούσαμε να αναφέρετε οποιαδήποτε προβλήματα παρατηρηθούν.",
"Dyslexia font" : "Γραμματοσειρά για δυσλεκτικούς",
"Enable dyslexia font" : "Ενεργοποίηση γραμματοσειράς για δυσλεκτικούς",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Η OpenDyslexic είναι μία δωρεάν γραμματοσειρά σχεδιασμένη ώστε να περιορίζει ορισμένα από τα πιο συνήθη λάθη που προκαλεί η δυσλεξία στην ανάγνωση",
diff --git a/apps/theming/l10n/el.json b/apps/theming/l10n/el.json
index 24cfcbc3ffd..a72c7ee85b1 100644
--- a/apps/theming/l10n/el.json
+++ b/apps/theming/l10n/el.json
@@ -26,7 +26,6 @@
"Theming" : "Προσαρμογή θέματος",
"Dark theme" : "Σκούρο θέμα",
"Enable dark theme" : "Ενεργοποίηση σκούρου θέματος",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ένα σκούρο θέμα που διευκολύνει τα μάτια σας μειώνοντας την συνολική ακτινοβολία και φωτεινότητα. Είναι ακόμη υπό δοκιμή, οπότε θα σας παρακαλούσαμε να αναφέρετε οποιαδήποτε προβλήματα παρατηρηθούν.",
"Dyslexia font" : "Γραμματοσειρά για δυσλεκτικούς",
"Enable dyslexia font" : "Ενεργοποίηση γραμματοσειράς για δυσλεκτικούς",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Η OpenDyslexic είναι μία δωρεάν γραμματοσειρά σχεδιασμένη ώστε να περιορίζει ορισμένα από τα πιο συνήθη λάθη που προκαλεί η δυσλεξία στην ανάγνωση",
diff --git a/apps/theming/l10n/en_GB.js b/apps/theming/l10n/en_GB.js
index f81364a25f4..6c1dddb0c48 100644
--- a/apps/theming/l10n/en_GB.js
+++ b/apps/theming/l10n/en_GB.js
@@ -28,7 +28,7 @@ OC.L10N.register(
"Theming" : "Theming",
"Dark theme" : "Dark theme",
"Enable dark theme" : "Enable dark theme",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "A dark theme that is soothing for your eyes (by reducing the overall luminosity and brightness).",
"Dyslexia font" : "Dyslexia font",
"Enable dyslexia font" : "Enable dyslexia font",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.",
diff --git a/apps/theming/l10n/en_GB.json b/apps/theming/l10n/en_GB.json
index 63bd97d247f..ee874ff09b5 100644
--- a/apps/theming/l10n/en_GB.json
+++ b/apps/theming/l10n/en_GB.json
@@ -26,7 +26,7 @@
"Theming" : "Theming",
"Dark theme" : "Dark theme",
"Enable dark theme" : "Enable dark theme",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "A dark theme that is soothing for your eyes (by reducing the overall luminosity and brightness).",
"Dyslexia font" : "Dyslexia font",
"Enable dyslexia font" : "Enable dyslexia font",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.",
diff --git a/apps/theming/l10n/eo.js b/apps/theming/l10n/eo.js
index 23d4a0fb7f0..e37027eb81c 100644
--- a/apps/theming/l10n/eo.js
+++ b/apps/theming/l10n/eo.js
@@ -27,7 +27,6 @@ OC.L10N.register(
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Vi jam uzas propran etoson. Agordoj de la aplikaĵo „Etosoj“ povus esti anstataŭigitaj de ĝi.",
"Theming" : "Etosoj",
"Dark theme" : "Malhela etoso",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Malhela etoso, kiu helpas viajn okulojn per limigo de heleco kaj brileco. Ĝi ankoraŭ ellaboriĝas, do ne hezitu raporti problemon.",
"Dyslexia font" : "Tiparo por limigi vortblindecon",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic estas tiparo kreita por malpliigi legajn erarojn kaŭzitajn de vortblindeco (medicine „disleksio“).",
"High contrast mode" : "Altkontrasta reĝimo",
diff --git a/apps/theming/l10n/eo.json b/apps/theming/l10n/eo.json
index 4e2060c051e..9c1f41fedf6 100644
--- a/apps/theming/l10n/eo.json
+++ b/apps/theming/l10n/eo.json
@@ -25,7 +25,6 @@
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Vi jam uzas propran etoson. Agordoj de la aplikaĵo „Etosoj“ povus esti anstataŭigitaj de ĝi.",
"Theming" : "Etosoj",
"Dark theme" : "Malhela etoso",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Malhela etoso, kiu helpas viajn okulojn per limigo de heleco kaj brileco. Ĝi ankoraŭ ellaboriĝas, do ne hezitu raporti problemon.",
"Dyslexia font" : "Tiparo por limigi vortblindecon",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic estas tiparo kreita por malpliigi legajn erarojn kaŭzitajn de vortblindeco (medicine „disleksio“).",
"High contrast mode" : "Altkontrasta reĝimo",
diff --git a/apps/theming/l10n/es.js b/apps/theming/l10n/es.js
index d12cd941960..0ebfd61b698 100644
--- a/apps/theming/l10n/es.js
+++ b/apps/theming/l10n/es.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Tema",
"Dark theme" : "Tema oscuro",
"Enable dark theme" : "Activar tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema oscuro para facilitar la navegación, reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que, por favor, comunique cualquier problema que encuentre.",
"Dyslexia font" : "Tipo de letra para dislexia",
"Enable dyslexia font" : "Activa tipo de letra para dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra libre diseñada para reducir algunos de los errores de lectura comunes causados por la dislexia.",
diff --git a/apps/theming/l10n/es.json b/apps/theming/l10n/es.json
index 471ff3c4b9d..639ea37bcb4 100644
--- a/apps/theming/l10n/es.json
+++ b/apps/theming/l10n/es.json
@@ -26,7 +26,6 @@
"Theming" : "Tema",
"Dark theme" : "Tema oscuro",
"Enable dark theme" : "Activar tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema oscuro para facilitar la navegación, reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que, por favor, comunique cualquier problema que encuentre.",
"Dyslexia font" : "Tipo de letra para dislexia",
"Enable dyslexia font" : "Activa tipo de letra para dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra libre diseñada para reducir algunos de los errores de lectura comunes causados por la dislexia.",
diff --git a/apps/theming/l10n/es_AR.js b/apps/theming/l10n/es_AR.js
index 0a789140682..eeb3a05cf57 100644
--- a/apps/theming/l10n/es_AR.js
+++ b/apps/theming/l10n/es_AR.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"Theming" : "Tematizar",
"Dark theme" : "Tema oscuro",
"Enable dark theme" : "Habilitar tema nocturno",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema oscuro para facilitar la vista al reducir la luminosidad y el brillo general. Todavía está en desarrollo, por lo tanto, informe cualquier problema que pueda encontrar.",
"Dyslexia font" : "Dislexia fuente",
"Enable dyslexia font" : "Habilitar la fuente para personas con dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra/fuente gratuita diseñada para mitigar algunos de los errores comunes de lectura causados ​​por la dislexia.",
diff --git a/apps/theming/l10n/es_AR.json b/apps/theming/l10n/es_AR.json
index d484014020a..d43843dca3d 100644
--- a/apps/theming/l10n/es_AR.json
+++ b/apps/theming/l10n/es_AR.json
@@ -14,7 +14,6 @@
"Theming" : "Tematizar",
"Dark theme" : "Tema oscuro",
"Enable dark theme" : "Habilitar tema nocturno",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema oscuro para facilitar la vista al reducir la luminosidad y el brillo general. Todavía está en desarrollo, por lo tanto, informe cualquier problema que pueda encontrar.",
"Dyslexia font" : "Dislexia fuente",
"Enable dyslexia font" : "Habilitar la fuente para personas con dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra/fuente gratuita diseñada para mitigar algunos de los errores comunes de lectura causados ​​por la dislexia.",
diff --git a/apps/theming/l10n/es_CL.js b/apps/theming/l10n/es_CL.js
index f6d786b4d46..7e78c8483e2 100644
--- a/apps/theming/l10n/es_CL.js
+++ b/apps/theming/l10n/es_CL.js
@@ -24,7 +24,6 @@ OC.L10N.register(
"Theming" : "Tematizar",
"Dark theme" : "Tema Oscuro",
"Enable dark theme" : "Habilitar el tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema oscuro facilita la navegación, reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que, por favor, comunique cualquier problema que encuentre.",
"Dyslexia font" : "Fuente para las personas con dislexia",
"Enable dyslexia font" : "Habilita la fuente para personas con dislexia",
"High contrast mode" : "Modo de alto contraste",
diff --git a/apps/theming/l10n/es_CL.json b/apps/theming/l10n/es_CL.json
index 1b737b2f832..dcf9015f8d2 100644
--- a/apps/theming/l10n/es_CL.json
+++ b/apps/theming/l10n/es_CL.json
@@ -22,7 +22,6 @@
"Theming" : "Tematizar",
"Dark theme" : "Tema Oscuro",
"Enable dark theme" : "Habilitar el tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema oscuro facilita la navegación, reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que, por favor, comunique cualquier problema que encuentre.",
"Dyslexia font" : "Fuente para las personas con dislexia",
"Enable dyslexia font" : "Habilita la fuente para personas con dislexia",
"High contrast mode" : "Modo de alto contraste",
diff --git a/apps/theming/l10n/es_CO.js b/apps/theming/l10n/es_CO.js
index cab8435f820..145ce8ddbcd 100644
--- a/apps/theming/l10n/es_CO.js
+++ b/apps/theming/l10n/es_CO.js
@@ -24,7 +24,6 @@ OC.L10N.register(
"Theming" : "Tematizar",
"Dark theme" : "Tema oscuro",
"Enable dark theme" : "Habilitar tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "El tema oscuro se usa para aliviar sus ojos al reducir la luminosidad y el brillo general. Todavía está en desarrollo, así que informa cualquier problema que puedas encontrar.",
"Dyslexia font" : "Ayuda para disléxicos",
"Enable dyslexia font" : "Habilitar ayuda para disléxicos",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDislexic es una herramienta libre diseñada para mitigar algunos de los errores más comunes causados por la dislexia.",
diff --git a/apps/theming/l10n/es_CO.json b/apps/theming/l10n/es_CO.json
index 8f8409f7e1a..c6ebcf7074a 100644
--- a/apps/theming/l10n/es_CO.json
+++ b/apps/theming/l10n/es_CO.json
@@ -22,7 +22,6 @@
"Theming" : "Tematizar",
"Dark theme" : "Tema oscuro",
"Enable dark theme" : "Habilitar tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "El tema oscuro se usa para aliviar sus ojos al reducir la luminosidad y el brillo general. Todavía está en desarrollo, así que informa cualquier problema que puedas encontrar.",
"Dyslexia font" : "Ayuda para disléxicos",
"Enable dyslexia font" : "Habilitar ayuda para disléxicos",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDislexic es una herramienta libre diseñada para mitigar algunos de los errores más comunes causados por la dislexia.",
diff --git a/apps/theming/l10n/es_DO.js b/apps/theming/l10n/es_DO.js
index d7aa8be5957..6b39c25c531 100644
--- a/apps/theming/l10n/es_DO.js
+++ b/apps/theming/l10n/es_DO.js
@@ -24,7 +24,6 @@ OC.L10N.register(
"Theming" : "Tematizar",
"Dark theme" : "Tema Oscuro",
"Enable dark theme" : "Habilita el tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Usa el tema oscuro para ayudar a tus ojos reduciendo el brillo en general. Todavía esta en desarrollo, entonces reporta cualquier problemas que encuentres",
"Dyslexia font" : "Fuente para las personas con dislexia",
"Enable dyslexia font" : "Habilita la fuente de dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra o fuente gratuito diseñado para mitigar algunos de los errores de lectura comunes causados ​​por la dislexia.",
diff --git a/apps/theming/l10n/es_DO.json b/apps/theming/l10n/es_DO.json
index df25b4e6e55..17e50633e5e 100644
--- a/apps/theming/l10n/es_DO.json
+++ b/apps/theming/l10n/es_DO.json
@@ -22,7 +22,6 @@
"Theming" : "Tematizar",
"Dark theme" : "Tema Oscuro",
"Enable dark theme" : "Habilita el tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Usa el tema oscuro para ayudar a tus ojos reduciendo el brillo en general. Todavía esta en desarrollo, entonces reporta cualquier problemas que encuentres",
"Dyslexia font" : "Fuente para las personas con dislexia",
"Enable dyslexia font" : "Habilita la fuente de dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra o fuente gratuito diseñado para mitigar algunos de los errores de lectura comunes causados ​​por la dislexia.",
diff --git a/apps/theming/l10n/es_EC.js b/apps/theming/l10n/es_EC.js
index 7dbd4f2437a..377f14ba208 100644
--- a/apps/theming/l10n/es_EC.js
+++ b/apps/theming/l10n/es_EC.js
@@ -24,7 +24,6 @@ OC.L10N.register(
"Theming" : "Tematizar",
"Dark theme" : "Tema Oscuro",
"Enable dark theme" : "Activar Tema Oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema oscuro para aliviar sus ojos al reducir la luminosidad y el brillo general. Todavía está en desarrollo, así que informe cualquier problema que pueda encontrar.",
"Dyslexia font" : "Fuente dislexia",
"Enable dyslexia font" : "Habilitar Fuente dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra / fuente gratuito diseñado para mitigar algunos de los errores de lectura comunes causados por la dislexia.",
diff --git a/apps/theming/l10n/es_EC.json b/apps/theming/l10n/es_EC.json
index 48b32379fcc..17eabda9a35 100644
--- a/apps/theming/l10n/es_EC.json
+++ b/apps/theming/l10n/es_EC.json
@@ -22,7 +22,6 @@
"Theming" : "Tematizar",
"Dark theme" : "Tema Oscuro",
"Enable dark theme" : "Activar Tema Oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema oscuro para aliviar sus ojos al reducir la luminosidad y el brillo general. Todavía está en desarrollo, así que informe cualquier problema que pueda encontrar.",
"Dyslexia font" : "Fuente dislexia",
"Enable dyslexia font" : "Habilitar Fuente dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra / fuente gratuito diseñado para mitigar algunos de los errores de lectura comunes causados por la dislexia.",
diff --git a/apps/theming/l10n/es_GT.js b/apps/theming/l10n/es_GT.js
index c4932b58adb..ad318b6a5c9 100644
--- a/apps/theming/l10n/es_GT.js
+++ b/apps/theming/l10n/es_GT.js
@@ -24,7 +24,6 @@ OC.L10N.register(
"Theming" : "Tematizar",
"Dark theme" : "Tema Oscuro",
"Enable dark theme" : "Habilitar el tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema oscuro facilita la navegación, reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que, por favor, comunique cualquier problema que encuentre.",
"Dyslexia font" : "Fuente para las personas con dislexia",
"Enable dyslexia font" : "Habilita la fuente para personas con dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra libre diseñada para reducir algunos de los errores de lectura comunes causados por la dislexia.",
diff --git a/apps/theming/l10n/es_GT.json b/apps/theming/l10n/es_GT.json
index a2f897274dd..dcab814362f 100644
--- a/apps/theming/l10n/es_GT.json
+++ b/apps/theming/l10n/es_GT.json
@@ -22,7 +22,6 @@
"Theming" : "Tematizar",
"Dark theme" : "Tema Oscuro",
"Enable dark theme" : "Habilitar el tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema oscuro facilita la navegación, reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que, por favor, comunique cualquier problema que encuentre.",
"Dyslexia font" : "Fuente para las personas con dislexia",
"Enable dyslexia font" : "Habilita la fuente para personas con dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra libre diseñada para reducir algunos de los errores de lectura comunes causados por la dislexia.",
diff --git a/apps/theming/l10n/es_MX.js b/apps/theming/l10n/es_MX.js
index a61dec7884a..f57d64837b9 100644
--- a/apps/theming/l10n/es_MX.js
+++ b/apps/theming/l10n/es_MX.js
@@ -25,7 +25,6 @@ OC.L10N.register(
"Theming" : "Tematizar",
"Dark theme" : "Tema Oscuro",
"Enable dark theme" : "Habilitar tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema oscuro para ayudar a tus ojos al reducir el brillo y luminosidad en general. Todavía está bajo desarrollo, así que por favor reporta cualquier problema que pudieras encontrar.",
"Dyslexia font" : "Fuente para dislexia",
"Enable dyslexia font" : "Habilitar fuente para dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es una tipografía/fuente diseñada para mitigar algunos de los errores comunes de lectura causados por dislexia.",
diff --git a/apps/theming/l10n/es_MX.json b/apps/theming/l10n/es_MX.json
index 93b9e108e67..7353b2f6bf9 100644
--- a/apps/theming/l10n/es_MX.json
+++ b/apps/theming/l10n/es_MX.json
@@ -23,7 +23,6 @@
"Theming" : "Tematizar",
"Dark theme" : "Tema Oscuro",
"Enable dark theme" : "Habilitar tema oscuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema oscuro para ayudar a tus ojos al reducir el brillo y luminosidad en general. Todavía está bajo desarrollo, así que por favor reporta cualquier problema que pudieras encontrar.",
"Dyslexia font" : "Fuente para dislexia",
"Enable dyslexia font" : "Habilitar fuente para dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es una tipografía/fuente diseñada para mitigar algunos de los errores comunes de lectura causados por dislexia.",
diff --git a/apps/theming/l10n/eu.js b/apps/theming/l10n/eu.js
index f516f08fd97..8d6e436d00f 100644
--- a/apps/theming/l10n/eu.js
+++ b/apps/theming/l10n/eu.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Itxura",
"Dark theme" : "Gai iluna",
"Enable dark theme" : "Gaitu gai iluna",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Arindu begietako kaltea gai ilunaz argitasuna eta distira murriztuz. Garapenean dagoen aukera da, beraz, eman aurkitu zenezakeen edozein arazoren berri mesedez.",
"Dyslexia font" : "Dislexia letra-tipoa",
"Enable dyslexia font" : "Gaitu dislexia letra-tipoa",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic letra-tipo librea da, dislexiak eragindako ohiko irakurketa akats batzuk leuntzeko diseinatua.",
diff --git a/apps/theming/l10n/eu.json b/apps/theming/l10n/eu.json
index 5d040f6347e..5b769e48650 100644
--- a/apps/theming/l10n/eu.json
+++ b/apps/theming/l10n/eu.json
@@ -26,7 +26,6 @@
"Theming" : "Itxura",
"Dark theme" : "Gai iluna",
"Enable dark theme" : "Gaitu gai iluna",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Arindu begietako kaltea gai ilunaz argitasuna eta distira murriztuz. Garapenean dagoen aukera da, beraz, eman aurkitu zenezakeen edozein arazoren berri mesedez.",
"Dyslexia font" : "Dislexia letra-tipoa",
"Enable dyslexia font" : "Gaitu dislexia letra-tipoa",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic letra-tipo librea da, dislexiak eragindako ohiko irakurketa akats batzuk leuntzeko diseinatua.",
diff --git a/apps/theming/l10n/fi.js b/apps/theming/l10n/fi.js
index 6123acdb863..3cd1477730e 100644
--- a/apps/theming/l10n/fi.js
+++ b/apps/theming/l10n/fi.js
@@ -32,7 +32,10 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "Samankaltainen korkean kontrastin tilan kanssa, mutta tummien värien kera.",
"Dark theme" : "Tumma teema",
"Enable dark theme" : "Käytä tummaa teemaa",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tumma teema helpottaa silmien rasitusta vähentämällä kokonaiskirkkautta. Teemaa kehitetään edelleen, joten ilmoitathan mahdollisesti kohtaamasi ongelmat.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Tumma teema, joka estää silmien rasittumista vähentämällä kirkkautta.",
+ "System default theme" : "Järjestelmän oletusteema",
+ "Enable the system default" : "Käytä järjestelmän oletusta",
+ "Using the default system appearance." : "Käytetään järjestelmän oletusarvoista ulkoasua.",
"Dyslexia font" : "Lukihäiriökirjasin",
"Enable dyslexia font" : "Käytä lukihäiriökirjasinta",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic on vapaa kirjasin, joka on suunniteltu lieventämään lukihäiriön aiheuttamia lukuvirheitä.",
@@ -47,6 +50,7 @@ OC.L10N.register(
"Adjust the Nextcloud theme" : "Mukauta Nextcloudin teemaa",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Saavutettavuus on erittäin tärkeää meille. Seuraamme verkkostandardeja ja varmistamme, että kaikki on käytettävissä ilman hiirtä sekä avustavien ohjelmistojen kuten ruudunlukijoiden avulla. Pyrimme olemaan yhteensopivia {guidelines}Web Content Accessibility Guidelines{linkend} -ohjeistuksen version 2.1 AA-tason kanssa, suuren kontrastin teemalla pyrimme jopa AAA-tasoon.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Jos löydät ongelmia, älä epäröi ilmoittaa niistä {issuetracker}virheidenseurantajärjestelmäämme{linkend}. Jos haluat osallistua, liity {designteam}suunnitteluryhmäämme{linkend}!",
+ "Theme selection is enforced" : "Teemavalinta on pakotettu",
"Open documentation" : "Avaa dokumentaatio",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teeman avulla voit helposti kustomoida web-käyttöliittymän ja tuettujen sovelluksien ulkonäköä ja tuntumaa. Teema näkyy kaikille käyttäjille.",
"Name" : "Nimi",
diff --git a/apps/theming/l10n/fi.json b/apps/theming/l10n/fi.json
index e3d5015e4f8..de4329e1ec1 100644
--- a/apps/theming/l10n/fi.json
+++ b/apps/theming/l10n/fi.json
@@ -30,7 +30,10 @@
"Similar to the high contrast mode, but with dark colours." : "Samankaltainen korkean kontrastin tilan kanssa, mutta tummien värien kera.",
"Dark theme" : "Tumma teema",
"Enable dark theme" : "Käytä tummaa teemaa",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tumma teema helpottaa silmien rasitusta vähentämällä kokonaiskirkkautta. Teemaa kehitetään edelleen, joten ilmoitathan mahdollisesti kohtaamasi ongelmat.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Tumma teema, joka estää silmien rasittumista vähentämällä kirkkautta.",
+ "System default theme" : "Järjestelmän oletusteema",
+ "Enable the system default" : "Käytä järjestelmän oletusta",
+ "Using the default system appearance." : "Käytetään järjestelmän oletusarvoista ulkoasua.",
"Dyslexia font" : "Lukihäiriökirjasin",
"Enable dyslexia font" : "Käytä lukihäiriökirjasinta",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic on vapaa kirjasin, joka on suunniteltu lieventämään lukihäiriön aiheuttamia lukuvirheitä.",
@@ -45,6 +48,7 @@
"Adjust the Nextcloud theme" : "Mukauta Nextcloudin teemaa",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Saavutettavuus on erittäin tärkeää meille. Seuraamme verkkostandardeja ja varmistamme, että kaikki on käytettävissä ilman hiirtä sekä avustavien ohjelmistojen kuten ruudunlukijoiden avulla. Pyrimme olemaan yhteensopivia {guidelines}Web Content Accessibility Guidelines{linkend} -ohjeistuksen version 2.1 AA-tason kanssa, suuren kontrastin teemalla pyrimme jopa AAA-tasoon.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Jos löydät ongelmia, älä epäröi ilmoittaa niistä {issuetracker}virheidenseurantajärjestelmäämme{linkend}. Jos haluat osallistua, liity {designteam}suunnitteluryhmäämme{linkend}!",
+ "Theme selection is enforced" : "Teemavalinta on pakotettu",
"Open documentation" : "Avaa dokumentaatio",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teeman avulla voit helposti kustomoida web-käyttöliittymän ja tuettujen sovelluksien ulkonäköä ja tuntumaa. Teema näkyy kaikille käyttäjille.",
"Name" : "Nimi",
diff --git a/apps/theming/l10n/fr.js b/apps/theming/l10n/fr.js
index a9a00cfaa9f..516f2095681 100644
--- a/apps/theming/l10n/fr.js
+++ b/apps/theming/l10n/fr.js
@@ -26,9 +26,9 @@ OC.L10N.register(
"No file uploaded" : "Aucun fichier téléversé",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Vous utilisez déjà un thème personnalisé. Les paramètres de l'application Theming peuvent être remplacés par ceux-ci.",
"Theming" : "Personnaliser l'apparence",
+ "Appearance and accessibility" : "Apparence et accessibilité",
"Dark theme" : "Thème sombre",
"Enable dark theme" : "Activer le thème sombre",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un thème sombre pour soulager vos yeux en réduisant la luminosité générale. Il est encore en cours de développement, veuillez donc nous signaler les problèmes que vous pourriez rencontrer.",
"Dyslexia font" : "Police pour dyslexiques",
"Enable dyslexia font" : "Activer la police pour dyslexiques",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic est une police de caractères libre conçue pour atténuer certaines des erreurs de lecture courantes causées par la dyslexie.",
diff --git a/apps/theming/l10n/fr.json b/apps/theming/l10n/fr.json
index 1ea5d991a25..f002cf0fe6f 100644
--- a/apps/theming/l10n/fr.json
+++ b/apps/theming/l10n/fr.json
@@ -24,9 +24,9 @@
"No file uploaded" : "Aucun fichier téléversé",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Vous utilisez déjà un thème personnalisé. Les paramètres de l'application Theming peuvent être remplacés par ceux-ci.",
"Theming" : "Personnaliser l'apparence",
+ "Appearance and accessibility" : "Apparence et accessibilité",
"Dark theme" : "Thème sombre",
"Enable dark theme" : "Activer le thème sombre",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un thème sombre pour soulager vos yeux en réduisant la luminosité générale. Il est encore en cours de développement, veuillez donc nous signaler les problèmes que vous pourriez rencontrer.",
"Dyslexia font" : "Police pour dyslexiques",
"Enable dyslexia font" : "Activer la police pour dyslexiques",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic est une police de caractères libre conçue pour atténuer certaines des erreurs de lecture courantes causées par la dyslexie.",
diff --git a/apps/theming/l10n/gl.js b/apps/theming/l10n/gl.js
index bcbc8c274be..05332bba771 100644
--- a/apps/theming/l10n/gl.js
+++ b/apps/theming/l10n/gl.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Temas",
"Dark theme" : "Tema escuro",
"Enable dark theme" : "Activar o tema escuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema escuro para descansar a vista reducindo a luminosidade e o brillo. Aínda está en desenvolvemento, así que informe de calquera incidencia que poida atopar.",
"Dyslexia font" : "Tipo de letra para disléxicos",
"Enable dyslexia font" : "Activar o tipo de letra para disléxicos",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic é un tipo de letra libre deseñada para mitigar algúns dos erros comúns de lectura causados pola dislexia.",
diff --git a/apps/theming/l10n/gl.json b/apps/theming/l10n/gl.json
index b13df4aa29a..3f7af2a3e80 100644
--- a/apps/theming/l10n/gl.json
+++ b/apps/theming/l10n/gl.json
@@ -26,7 +26,6 @@
"Theming" : "Temas",
"Dark theme" : "Tema escuro",
"Enable dark theme" : "Activar o tema escuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema escuro para descansar a vista reducindo a luminosidade e o brillo. Aínda está en desenvolvemento, así que informe de calquera incidencia que poida atopar.",
"Dyslexia font" : "Tipo de letra para disléxicos",
"Enable dyslexia font" : "Activar o tipo de letra para disléxicos",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic é un tipo de letra libre deseñada para mitigar algúns dos erros comúns de lectura causados pola dislexia.",
diff --git a/apps/theming/l10n/he.js b/apps/theming/l10n/he.js
index a4f14c4761c..dd14e2fd23f 100644
--- a/apps/theming/l10n/he.js
+++ b/apps/theming/l10n/he.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "ערכות נושא",
"Dark theme" : "ערכת עיצוב כהה",
"Enable dark theme" : "הפעלת ערכת עיצוב כהה",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "ערכת נושא כהה מפחיתה את התאורה והבהירות. ערכה זו עדיין בהליכי פיתוח, לכן מומלץ לדווח על תקלות אם יש כאלו.",
"Dyslexia font" : "גופן דיסלקציה",
"Enable dyslexia font" : "הפעלת גופן דיסלקציה",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic הוא גופן חופשי שתוכנן לפתור חלק משגיאות הקריאה הנפוצות שנגרמות עקב דיסלקציה.",
diff --git a/apps/theming/l10n/he.json b/apps/theming/l10n/he.json
index 2513f1e7be0..f4548bff876 100644
--- a/apps/theming/l10n/he.json
+++ b/apps/theming/l10n/he.json
@@ -26,7 +26,6 @@
"Theming" : "ערכות נושא",
"Dark theme" : "ערכת עיצוב כהה",
"Enable dark theme" : "הפעלת ערכת עיצוב כהה",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "ערכת נושא כהה מפחיתה את התאורה והבהירות. ערכה זו עדיין בהליכי פיתוח, לכן מומלץ לדווח על תקלות אם יש כאלו.",
"Dyslexia font" : "גופן דיסלקציה",
"Enable dyslexia font" : "הפעלת גופן דיסלקציה",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic הוא גופן חופשי שתוכנן לפתור חלק משגיאות הקריאה הנפוצות שנגרמות עקב דיסלקציה.",
diff --git a/apps/theming/l10n/hr.js b/apps/theming/l10n/hr.js
index e191b46811f..3459d3d2c7a 100644
--- a/apps/theming/l10n/hr.js
+++ b/apps/theming/l10n/hr.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Upravljanje temama",
"Dark theme" : "Tamna tema",
"Enable dark theme" : "Omogući tamnu temu",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tamna tema ublažava naprezanje očiju smanjujući ukupnu luminoznost i svjetlinu. Tema je i dalje u izradi pa nam prijavite bilo kakve probleme s korištenjem.",
"Dyslexia font" : "Font za osobe s disleksijom",
"Enable dyslexia font" : "Omogući font za osobe s disleksijom",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je besplatan font/izgled slova posebno osmišljen za ublažavanje nekih uobičajenih pogrešaka pri čitanju uzrokovanih disleksijom.",
diff --git a/apps/theming/l10n/hr.json b/apps/theming/l10n/hr.json
index 71a76797e2c..1901cf7ce3a 100644
--- a/apps/theming/l10n/hr.json
+++ b/apps/theming/l10n/hr.json
@@ -26,7 +26,6 @@
"Theming" : "Upravljanje temama",
"Dark theme" : "Tamna tema",
"Enable dark theme" : "Omogući tamnu temu",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tamna tema ublažava naprezanje očiju smanjujući ukupnu luminoznost i svjetlinu. Tema je i dalje u izradi pa nam prijavite bilo kakve probleme s korištenjem.",
"Dyslexia font" : "Font za osobe s disleksijom",
"Enable dyslexia font" : "Omogući font za osobe s disleksijom",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je besplatan font/izgled slova posebno osmišljen za ublažavanje nekih uobičajenih pogrešaka pri čitanju uzrokovanih disleksijom.",
diff --git a/apps/theming/l10n/hu.js b/apps/theming/l10n/hu.js
index 4086d01a8c7..2d4a488a0e0 100644
--- a/apps/theming/l10n/hu.js
+++ b/apps/theming/l10n/hu.js
@@ -32,7 +32,10 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "Hasonló a magas kontrasztú módhoz, de sötét színekkel.",
"Dark theme" : "Sötét téma",
"Enable dark theme" : "Sötét téma engedélyezése",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "A sötét téma csökkenti a szemek terhelését az átlagos fényesség és fényerő csökkentésével. Még mindig fejlesztés alatt áll, így jelentse ha problémát talál.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Egy szemkímélő sötét téma, amely csökkenti az átlagos fényességet és fényerőt.",
+ "System default theme" : "Rendszer alapértelmezett témája",
+ "Enable the system default" : "Rendszer alapértelmezésének engedélyezése",
+ "Using the default system appearance." : "Az alapértelmezett rendszermegjelenés használata.",
"Dyslexia font" : "Diszlexia betűkészlet",
"Enable dyslexia font" : "Diszlexia betűkészlet engedélyezése",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Az OpenDyslexic egy szabad betűkészlet, amely egyes, diszlexia által okozott, gyakori olvasási hibák csökkentésére lett tervezve.",
@@ -47,6 +50,7 @@ OC.L10N.register(
"Adjust the Nextcloud theme" : "A Nextcloud téma módosítása",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Az akadálymentesítés fontos számunka. A webes szabványokat követjük, és ellenőrizzük, hogy minden használható egér nélkül, illetve akadálymentesítési technológiákkal, például képernyőolvasókkal. Arra törekszünk, hogy a {guidelines}Webes tartalomra vonatkozó akadálymentesítési irányelvek{linkend} 2.1-es változatának AA szinten, a magas kontrasztú témával pedig AAA szinten megfeleljünk.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ha problémákat tapasztal, jelentse a {issuetracker}hibakövetőnkben{linkend}. És ha segíteni szeretne, csatlakozzon a {designteam}dizájn csapatunkhoz{linkend}!",
+ "Theme selection is enforced" : "A témaválasztás kényszerített",
"Open documentation" : "Dokumentáció megnyitása",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A témák lehetővé teszik, hogy könnyedén személyre szabja a példány és a támogatott kliensek megjelenését. Ez minden felhasználó számára látható lesz.",
"Name" : "Név",
diff --git a/apps/theming/l10n/hu.json b/apps/theming/l10n/hu.json
index 701283d1132..ff61b997bc4 100644
--- a/apps/theming/l10n/hu.json
+++ b/apps/theming/l10n/hu.json
@@ -30,7 +30,10 @@
"Similar to the high contrast mode, but with dark colours." : "Hasonló a magas kontrasztú módhoz, de sötét színekkel.",
"Dark theme" : "Sötét téma",
"Enable dark theme" : "Sötét téma engedélyezése",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "A sötét téma csökkenti a szemek terhelését az átlagos fényesség és fényerő csökkentésével. Még mindig fejlesztés alatt áll, így jelentse ha problémát talál.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Egy szemkímélő sötét téma, amely csökkenti az átlagos fényességet és fényerőt.",
+ "System default theme" : "Rendszer alapértelmezett témája",
+ "Enable the system default" : "Rendszer alapértelmezésének engedélyezése",
+ "Using the default system appearance." : "Az alapértelmezett rendszermegjelenés használata.",
"Dyslexia font" : "Diszlexia betűkészlet",
"Enable dyslexia font" : "Diszlexia betűkészlet engedélyezése",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Az OpenDyslexic egy szabad betűkészlet, amely egyes, diszlexia által okozott, gyakori olvasási hibák csökkentésére lett tervezve.",
@@ -45,6 +48,7 @@
"Adjust the Nextcloud theme" : "A Nextcloud téma módosítása",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Az akadálymentesítés fontos számunka. A webes szabványokat követjük, és ellenőrizzük, hogy minden használható egér nélkül, illetve akadálymentesítési technológiákkal, például képernyőolvasókkal. Arra törekszünk, hogy a {guidelines}Webes tartalomra vonatkozó akadálymentesítési irányelvek{linkend} 2.1-es változatának AA szinten, a magas kontrasztú témával pedig AAA szinten megfeleljünk.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ha problémákat tapasztal, jelentse a {issuetracker}hibakövetőnkben{linkend}. És ha segíteni szeretne, csatlakozzon a {designteam}dizájn csapatunkhoz{linkend}!",
+ "Theme selection is enforced" : "A témaválasztás kényszerített",
"Open documentation" : "Dokumentáció megnyitása",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A témák lehetővé teszik, hogy könnyedén személyre szabja a példány és a támogatott kliensek megjelenését. Ez minden felhasználó számára látható lesz.",
"Name" : "Név",
diff --git a/apps/theming/l10n/is.js b/apps/theming/l10n/is.js
index 2afba056bcc..7a322e7d0c6 100644
--- a/apps/theming/l10n/is.js
+++ b/apps/theming/l10n/is.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Þemu",
"Dark theme" : "Dökkt þema",
"Enable dark theme" : "Virkja dökkt þema",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Dökkt þema til að minnka álag á augun meðal annars með því að minnka heildarljósmagn og birtustig. Þetta er enn í þróun þannig að gott væri ef þú tilkynntir alla galla sem þú rekst á.",
"Dyslexia font" : "Dyslexia letur",
"Enable dyslexia font" : "Virkja letur fyrir lesblinda",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic eru frjálsar leturgerðir sem eru hannaðar til að ráða bug á eða minnka vægi ýmissa villna sem stafa af lesblindu (dyslexia).",
diff --git a/apps/theming/l10n/is.json b/apps/theming/l10n/is.json
index 146071e2b36..cfd15a6bf8a 100644
--- a/apps/theming/l10n/is.json
+++ b/apps/theming/l10n/is.json
@@ -26,7 +26,6 @@
"Theming" : "Þemu",
"Dark theme" : "Dökkt þema",
"Enable dark theme" : "Virkja dökkt þema",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Dökkt þema til að minnka álag á augun meðal annars með því að minnka heildarljósmagn og birtustig. Þetta er enn í þróun þannig að gott væri ef þú tilkynntir alla galla sem þú rekst á.",
"Dyslexia font" : "Dyslexia letur",
"Enable dyslexia font" : "Virkja letur fyrir lesblinda",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic eru frjálsar leturgerðir sem eru hannaðar til að ráða bug á eða minnka vægi ýmissa villna sem stafa af lesblindu (dyslexia).",
diff --git a/apps/theming/l10n/it.js b/apps/theming/l10n/it.js
index 969955a7252..9e3ac242148 100644
--- a/apps/theming/l10n/it.js
+++ b/apps/theming/l10n/it.js
@@ -32,7 +32,6 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "Simile alla modalità a contrasto elevato, ma con colori scuri.",
"Dark theme" : "Tema scuro",
"Enable dark theme" : "Abilita il tema scuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema scuro per facilitare i tuoi occhi riducendo la luminosità complessiva. È ancora in fase di sviluppo, per cui ti chiediamo di segnalare qualsiasi problema tu possa trovare.",
"Dyslexia font" : "Carattere per dislessici",
"Enable dyslexia font" : "Abilita il carattere per dislessici",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic è un carattere libero progettato per mitigare alcuni dei comuni errori di lettura causati dalla dislessia.",
diff --git a/apps/theming/l10n/it.json b/apps/theming/l10n/it.json
index 3c163941076..17f1bb47765 100644
--- a/apps/theming/l10n/it.json
+++ b/apps/theming/l10n/it.json
@@ -30,7 +30,6 @@
"Similar to the high contrast mode, but with dark colours." : "Simile alla modalità a contrasto elevato, ma con colori scuri.",
"Dark theme" : "Tema scuro",
"Enable dark theme" : "Abilita il tema scuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema scuro per facilitare i tuoi occhi riducendo la luminosità complessiva. È ancora in fase di sviluppo, per cui ti chiediamo di segnalare qualsiasi problema tu possa trovare.",
"Dyslexia font" : "Carattere per dislessici",
"Enable dyslexia font" : "Abilita il carattere per dislessici",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic è un carattere libero progettato per mitigare alcuni dei comuni errori di lettura causati dalla dislessia.",
diff --git a/apps/theming/l10n/ja.js b/apps/theming/l10n/ja.js
index f958143da65..244350ee2d0 100644
--- a/apps/theming/l10n/ja.js
+++ b/apps/theming/l10n/ja.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "テーマ",
"Dark theme" : "ダークテーマ",
"Enable dark theme" : "ダークテーマを有効にする",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "ダークテーマは画面全体のの明るさを減らすため、目の負担を和らげることができます。このテーマは開発中のためバグを見つけたら報告してください。",
"Dyslexia font" : "Dyslexia フォント",
"Enable dyslexia font" : "Dyslexia フォントを有効にする",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexicは、ディスレクシアによって引き起こされる一般的な読み間違いの一部を軽減するためにデザインされた、無料で利用できる書体/フォントです。",
diff --git a/apps/theming/l10n/ja.json b/apps/theming/l10n/ja.json
index 7065490496f..1c945a28864 100644
--- a/apps/theming/l10n/ja.json
+++ b/apps/theming/l10n/ja.json
@@ -26,7 +26,6 @@
"Theming" : "テーマ",
"Dark theme" : "ダークテーマ",
"Enable dark theme" : "ダークテーマを有効にする",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "ダークテーマは画面全体のの明るさを減らすため、目の負担を和らげることができます。このテーマは開発中のためバグを見つけたら報告してください。",
"Dyslexia font" : "Dyslexia フォント",
"Enable dyslexia font" : "Dyslexia フォントを有効にする",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexicは、ディスレクシアによって引き起こされる一般的な読み間違いの一部を軽減するためにデザインされた、無料で利用できる書体/フォントです。",
diff --git a/apps/theming/l10n/ka_GE.js b/apps/theming/l10n/ka_GE.js
index 4204b50f133..17456dc4f79 100644
--- a/apps/theming/l10n/ka_GE.js
+++ b/apps/theming/l10n/ka_GE.js
@@ -18,7 +18,6 @@ OC.L10N.register(
"Theming" : "ვიზუალური თემები",
"Dark theme" : "მუქი თემა",
"Enable dark theme" : "მუქი თემის გააქტიურება",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "მუქი თემა ამსუბუქებს თქვენი თვალების დატვირთვას, მთლიანი განათებულობის და სიმკვეთრის შემცირების ხარჯზე. იგი ჯერ კიდევ შემუშავების პროცესშია, ასე რომ, რაიმე შეუსაბამობის/პრობლემის აღმოჩენის შემთხვევაში, გთხოვთ, მოგვახსენოთ ამის შესახებ.",
"Dyslexia font" : "შრიფტი Dyslexia ",
"Enable dyslexia font" : "ჩართე დისლექსიის შრიფტი",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic-ი უფასო გარნიტურა/შრიფტია, რომელიც შექმნილია დისლექსიით გამოწვეული წაკითხვის ზოგიერთი პრობლემის აღმოსაფხვრელად.",
diff --git a/apps/theming/l10n/ka_GE.json b/apps/theming/l10n/ka_GE.json
index 3298394c611..27932887eb0 100644
--- a/apps/theming/l10n/ka_GE.json
+++ b/apps/theming/l10n/ka_GE.json
@@ -16,7 +16,6 @@
"Theming" : "ვიზუალური თემები",
"Dark theme" : "მუქი თემა",
"Enable dark theme" : "მუქი თემის გააქტიურება",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "მუქი თემა ამსუბუქებს თქვენი თვალების დატვირთვას, მთლიანი განათებულობის და სიმკვეთრის შემცირების ხარჯზე. იგი ჯერ კიდევ შემუშავების პროცესშია, ასე რომ, რაიმე შეუსაბამობის/პრობლემის აღმოჩენის შემთხვევაში, გთხოვთ, მოგვახსენოთ ამის შესახებ.",
"Dyslexia font" : "შრიფტი Dyslexia ",
"Enable dyslexia font" : "ჩართე დისლექსიის შრიფტი",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic-ი უფასო გარნიტურა/შრიფტია, რომელიც შექმნილია დისლექსიით გამოწვეული წაკითხვის ზოგიერთი პრობლემის აღმოსაფხვრელად.",
diff --git a/apps/theming/l10n/ko.js b/apps/theming/l10n/ko.js
index bfcfe5feeaf..9303c9c051e 100644
--- a/apps/theming/l10n/ko.js
+++ b/apps/theming/l10n/ko.js
@@ -25,7 +25,6 @@ OC.L10N.register(
"Theming" : "테마",
"Dark theme" : "어두운 테마",
"Enable dark theme" : "어두운 테마 활성화",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "어두운 테마는 전체적인 밝기를 낮춰 눈을 편안하게 해 줍니다. 아직 개발 중인 기능이니 문제가 있다면 보고해 주세요.",
"Dyslexia font" : "난독증용 글꼴",
"Enable dyslexia font" : "난독증용 글꼴 활성화",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic은 난독증 때문에 읽기에 문제가 있는 사람들을 위해 디자인된 자유 글꼴입니다.",
diff --git a/apps/theming/l10n/ko.json b/apps/theming/l10n/ko.json
index 9a345390854..7543058e17c 100644
--- a/apps/theming/l10n/ko.json
+++ b/apps/theming/l10n/ko.json
@@ -23,7 +23,6 @@
"Theming" : "테마",
"Dark theme" : "어두운 테마",
"Enable dark theme" : "어두운 테마 활성화",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "어두운 테마는 전체적인 밝기를 낮춰 눈을 편안하게 해 줍니다. 아직 개발 중인 기능이니 문제가 있다면 보고해 주세요.",
"Dyslexia font" : "난독증용 글꼴",
"Enable dyslexia font" : "난독증용 글꼴 활성화",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic은 난독증 때문에 읽기에 문제가 있는 사람들을 위해 디자인된 자유 글꼴입니다.",
diff --git a/apps/theming/l10n/lt_LT.js b/apps/theming/l10n/lt_LT.js
index e4d0413df5e..0931c44e5b8 100644
--- a/apps/theming/l10n/lt_LT.js
+++ b/apps/theming/l10n/lt_LT.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Apipavidalinimas",
"Dark theme" : "Tamsus apipavidalinimas",
"Enable dark theme" : "Įjungti tamsų apipavidalinimą",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tamsus apipavidalinimas, skirtas nuraminti jūsų akis, sumažinant bendrą šviesingumą ir skaistį. Jis yra vis dar kuriamas, todėl prašome pranešti apie bet kokias randamas klaidas.",
"Dyslexia font" : "Disleksijos šriftas",
"Enable dyslexia font" : "Įjungti disleksijos šriftą",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic yra laisvas šriftas, sukurtas sumažinti kai kurias dažniausias disleksijos sukeltas skaitymo klaidas.",
diff --git a/apps/theming/l10n/lt_LT.json b/apps/theming/l10n/lt_LT.json
index 40928261eb8..3c3d06c24c1 100644
--- a/apps/theming/l10n/lt_LT.json
+++ b/apps/theming/l10n/lt_LT.json
@@ -26,7 +26,6 @@
"Theming" : "Apipavidalinimas",
"Dark theme" : "Tamsus apipavidalinimas",
"Enable dark theme" : "Įjungti tamsų apipavidalinimą",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tamsus apipavidalinimas, skirtas nuraminti jūsų akis, sumažinant bendrą šviesingumą ir skaistį. Jis yra vis dar kuriamas, todėl prašome pranešti apie bet kokias randamas klaidas.",
"Dyslexia font" : "Disleksijos šriftas",
"Enable dyslexia font" : "Įjungti disleksijos šriftą",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic yra laisvas šriftas, sukurtas sumažinti kai kurias dažniausias disleksijos sukeltas skaitymo klaidas.",
diff --git a/apps/theming/l10n/mk.js b/apps/theming/l10n/mk.js
index b077a8e6cf5..ffaf6c8a8de 100644
--- a/apps/theming/l10n/mk.js
+++ b/apps/theming/l10n/mk.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Теми",
"Dark theme" : "Темна тема",
"Enable dark theme" : "Овозможи темна тема",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Темна тема за да ви го олесни гледањето преку намалување на вкупната осветленост. Сеуште е во развој, затоа ве молиме пријавете ги сите проблеми кои ќе ги најдете.",
"Dyslexia font" : "Фонт за дислексија",
"Enable dyslexia font" : "Овозможи фонт за дислексија",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic е бесплатен фонт дизајниран за ублажување на некои од честите грешки во читањето предизвикани од дислексија.",
diff --git a/apps/theming/l10n/mk.json b/apps/theming/l10n/mk.json
index d2b8984d561..1bbc06f5ec1 100644
--- a/apps/theming/l10n/mk.json
+++ b/apps/theming/l10n/mk.json
@@ -26,7 +26,6 @@
"Theming" : "Теми",
"Dark theme" : "Темна тема",
"Enable dark theme" : "Овозможи темна тема",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Темна тема за да ви го олесни гледањето преку намалување на вкупната осветленост. Сеуште е во развој, затоа ве молиме пријавете ги сите проблеми кои ќе ги најдете.",
"Dyslexia font" : "Фонт за дислексија",
"Enable dyslexia font" : "Овозможи фонт за дислексија",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic е бесплатен фонт дизајниран за ублажување на некои од честите грешки во читањето предизвикани од дислексија.",
diff --git a/apps/theming/l10n/nb.js b/apps/theming/l10n/nb.js
index 56f656b1a97..23cd0e1a32b 100644
--- a/apps/theming/l10n/nb.js
+++ b/apps/theming/l10n/nb.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Temavalg",
"Dark theme" : "Mørkt tema",
"Enable dark theme" : "Aktiver mørkt tema",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Et mørkt tema for å lette på øynene ved å redusere lysstyrken. Den er fortsatt under utvikling, vennligst rapporter feilene som du finner.",
"Dyslexia font" : "Dysleksi skrifttype",
"Enable dyslexia font" : "Aktiver dysleksi skrifttype",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic er en gratis skrifttype egnet for å minske de mest vanligste lesefeilene som dysleksi forårsaker.",
diff --git a/apps/theming/l10n/nb.json b/apps/theming/l10n/nb.json
index e7cffc1def5..33ea7727dfa 100644
--- a/apps/theming/l10n/nb.json
+++ b/apps/theming/l10n/nb.json
@@ -26,7 +26,6 @@
"Theming" : "Temavalg",
"Dark theme" : "Mørkt tema",
"Enable dark theme" : "Aktiver mørkt tema",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Et mørkt tema for å lette på øynene ved å redusere lysstyrken. Den er fortsatt under utvikling, vennligst rapporter feilene som du finner.",
"Dyslexia font" : "Dysleksi skrifttype",
"Enable dyslexia font" : "Aktiver dysleksi skrifttype",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic er en gratis skrifttype egnet for å minske de mest vanligste lesefeilene som dysleksi forårsaker.",
diff --git a/apps/theming/l10n/nl.js b/apps/theming/l10n/nl.js
index f940c4b8a54..bfb07a57734 100644
--- a/apps/theming/l10n/nl.js
+++ b/apps/theming/l10n/nl.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Uiterlijk",
"Dark theme" : "Donker thema",
"Enable dark theme" : "Donker thema inschakelen",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Een donker thema dat je ogen minder vermoeit door de lichtsterkte en helderheid te verminderen. Dit thema is nog in ontwikkeling, dus we horen graag als je fouten tegenkomt.",
"Dyslexia font" : "Dyslexie-lettertype",
"Enable dyslexia font" : "Dyslexie-lettertype inschakelen",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is een open source lettertype dat is ontwikkeld om de meest voorkomende leesfouten die worden veroorzaakt door dyslexie te voorkomen.",
diff --git a/apps/theming/l10n/nl.json b/apps/theming/l10n/nl.json
index 0431a642ffe..2dd213cdafa 100644
--- a/apps/theming/l10n/nl.json
+++ b/apps/theming/l10n/nl.json
@@ -26,7 +26,6 @@
"Theming" : "Uiterlijk",
"Dark theme" : "Donker thema",
"Enable dark theme" : "Donker thema inschakelen",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Een donker thema dat je ogen minder vermoeit door de lichtsterkte en helderheid te verminderen. Dit thema is nog in ontwikkeling, dus we horen graag als je fouten tegenkomt.",
"Dyslexia font" : "Dyslexie-lettertype",
"Enable dyslexia font" : "Dyslexie-lettertype inschakelen",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is een open source lettertype dat is ontwikkeld om de meest voorkomende leesfouten die worden veroorzaakt door dyslexie te voorkomen.",
diff --git a/apps/theming/l10n/pl.js b/apps/theming/l10n/pl.js
index 46f90a5266d..90f4cdfe754 100644
--- a/apps/theming/l10n/pl.js
+++ b/apps/theming/l10n/pl.js
@@ -32,7 +32,7 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "Podobny do trybu wysokiego kontrastu, ale z ciemnymi kolorami.",
"Dark theme" : "Ciemny motyw",
"Enable dark theme" : "Włącz ciemny motyw",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ciemny motyw, który łagodzi zmęczenie oczu, zmniejszając ogólną jasność. Nadal jest w fazie rozwoju, więc zgłaszaj wszelkie zauważone błędy.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ciemny motyw łagodny dla Twoich oczów, redukując ogólną luminancję i jasność.",
"System default theme" : "Domyślny motyw systemu",
"Enable the system default" : "Włącz domyślne ustawienia systemu",
"Using the default system appearance." : "Korzystanie z domyślnego wyglądu systemu.",
diff --git a/apps/theming/l10n/pl.json b/apps/theming/l10n/pl.json
index 4a03c1a9b5d..bc78f82c88a 100644
--- a/apps/theming/l10n/pl.json
+++ b/apps/theming/l10n/pl.json
@@ -30,7 +30,7 @@
"Similar to the high contrast mode, but with dark colours." : "Podobny do trybu wysokiego kontrastu, ale z ciemnymi kolorami.",
"Dark theme" : "Ciemny motyw",
"Enable dark theme" : "Włącz ciemny motyw",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ciemny motyw, który łagodzi zmęczenie oczu, zmniejszając ogólną jasność. Nadal jest w fazie rozwoju, więc zgłaszaj wszelkie zauważone błędy.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ciemny motyw łagodny dla Twoich oczów, redukując ogólną luminancję i jasność.",
"System default theme" : "Domyślny motyw systemu",
"Enable the system default" : "Włącz domyślne ustawienia systemu",
"Using the default system appearance." : "Korzystanie z domyślnego wyglądu systemu.",
diff --git a/apps/theming/l10n/pt_BR.js b/apps/theming/l10n/pt_BR.js
index f11b1befce1..d0e48386b13 100644
--- a/apps/theming/l10n/pt_BR.js
+++ b/apps/theming/l10n/pt_BR.js
@@ -26,20 +26,31 @@ OC.L10N.register(
"No file uploaded" : "Nenhum arquivo enviado",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Você já está usando um tema personalizado. As configurações do aplicativo Theming podem ser sobrescritas por isso.",
"Theming" : "Personalização",
+ "Appearance and accessibility" : "Aparência e acessibilidade",
+ "Dark theme with high contrast mode" : "Tema escuro com modo de alto contraste",
+ "Enable dark high contrast mode" : "Ative o modo escuro de alto contraste",
+ "Similar to the high contrast mode, but with dark colours." : "Semelhante ao modo de alto contraste, mas com cores escuras.",
"Dark theme" : "Tema escuro",
"Enable dark theme" : "Enable dark theme",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Um tema escuro para aliviar os olhos, reduzindo a luminosidade e brilho geral. Ainda está em desenvolvimento, por isso, informe qualquer problema encontrado.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Um tema escuro para aliviar seus olhos, reduzindo a luminosidade e o brilho gerais.",
+ "System default theme" : "Tema padrão do sistema",
+ "Enable the system default" : "Ativar o padrão do sistema",
+ "Using the default system appearance." : "Usando a aparência padrão do sistema.",
"Dyslexia font" : "Fonte de dislexia",
"Enable dyslexia font" : "Ativar fonte dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic é um tipo de letra/fonte grátis concebida para atenuar alguns dos erros comuns de leitura causados pela dislexia.",
"High contrast mode" : "Modo de alto contraste",
"Enable high contrast mode" : "Ativar modo de alto contraste",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "O modo de alto contraste facilita a navegação. A qualidade visual será reduzida, mas a clareza será aumentada.",
+ "Light theme" : "Tema claro",
+ "Enable the default light theme" : "Ative o tema de luz padrão",
+ "The default light appearance." : "A aparência de luz padrão.",
"Legal notice" : "Aviso legal",
"Privacy policy" : "Política de privacidade",
"Adjust the Nextcloud theme" : "Ajustar o tema do Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e nos certificamos de tornar tudo utilizável também sem mouse e software auxiliar, como leitores de tela. Nosso objetivo é estar em conformidade com as {guidelines}Diretrizes de Acessibilidade para Conteúdo da Web{linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Se você encontrar algum problema, não hesite em reportá-lo no {issuetracker}nosso rastreador de problemas{linkend}. E se você quiser se envolver, junte-se à {designteam}nossa equipe de design{linkend}!",
+ "Theme selection is enforced" : "A seleção do tema é aplicada",
"Open documentation" : "Abrir documentação",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Criar e alterar temas torna possível personalizar facilmente o Nextcloud e clientes suportados. Isso será visível para todos os usuários.",
"Name" : "Nome",
diff --git a/apps/theming/l10n/pt_BR.json b/apps/theming/l10n/pt_BR.json
index 6e34022da51..f9e09bd00a3 100644
--- a/apps/theming/l10n/pt_BR.json
+++ b/apps/theming/l10n/pt_BR.json
@@ -24,20 +24,31 @@
"No file uploaded" : "Nenhum arquivo enviado",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Você já está usando um tema personalizado. As configurações do aplicativo Theming podem ser sobrescritas por isso.",
"Theming" : "Personalização",
+ "Appearance and accessibility" : "Aparência e acessibilidade",
+ "Dark theme with high contrast mode" : "Tema escuro com modo de alto contraste",
+ "Enable dark high contrast mode" : "Ative o modo escuro de alto contraste",
+ "Similar to the high contrast mode, but with dark colours." : "Semelhante ao modo de alto contraste, mas com cores escuras.",
"Dark theme" : "Tema escuro",
"Enable dark theme" : "Enable dark theme",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Um tema escuro para aliviar os olhos, reduzindo a luminosidade e brilho geral. Ainda está em desenvolvimento, por isso, informe qualquer problema encontrado.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Um tema escuro para aliviar seus olhos, reduzindo a luminosidade e o brilho gerais.",
+ "System default theme" : "Tema padrão do sistema",
+ "Enable the system default" : "Ativar o padrão do sistema",
+ "Using the default system appearance." : "Usando a aparência padrão do sistema.",
"Dyslexia font" : "Fonte de dislexia",
"Enable dyslexia font" : "Ativar fonte dislexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic é um tipo de letra/fonte grátis concebida para atenuar alguns dos erros comuns de leitura causados pela dislexia.",
"High contrast mode" : "Modo de alto contraste",
"Enable high contrast mode" : "Ativar modo de alto contraste",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "O modo de alto contraste facilita a navegação. A qualidade visual será reduzida, mas a clareza será aumentada.",
+ "Light theme" : "Tema claro",
+ "Enable the default light theme" : "Ative o tema de luz padrão",
+ "The default light appearance." : "A aparência de luz padrão.",
"Legal notice" : "Aviso legal",
"Privacy policy" : "Política de privacidade",
"Adjust the Nextcloud theme" : "Ajustar o tema do Nextcloud",
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e nos certificamos de tornar tudo utilizável também sem mouse e software auxiliar, como leitores de tela. Nosso objetivo é estar em conformidade com as {guidelines}Diretrizes de Acessibilidade para Conteúdo da Web{linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Se você encontrar algum problema, não hesite em reportá-lo no {issuetracker}nosso rastreador de problemas{linkend}. E se você quiser se envolver, junte-se à {designteam}nossa equipe de design{linkend}!",
+ "Theme selection is enforced" : "A seleção do tema é aplicada",
"Open documentation" : "Abrir documentação",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Criar e alterar temas torna possível personalizar facilmente o Nextcloud e clientes suportados. Isso será visível para todos os usuários.",
"Name" : "Nome",
diff --git a/apps/theming/l10n/pt_PT.js b/apps/theming/l10n/pt_PT.js
index ae76d63530a..1f4ab39368d 100644
--- a/apps/theming/l10n/pt_PT.js
+++ b/apps/theming/l10n/pt_PT.js
@@ -26,7 +26,6 @@ OC.L10N.register(
"Theming" : "Temática",
"Dark theme" : "Tema escuro",
"Enable dark theme" : "Ativar tema escuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Um tema escuro para descansar os olhos reduzindo a luminosidade e o brilho. Ainda está em desenvolvimento, pelo que por favor reporte quaisquer erros que encontre.",
"Dyslexia font" : "Tipo de letra \"Dyslexia\"",
"Enable dyslexia font" : "Ativar tipo de letra \"Dyslexia\"",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic é um tipo de letra gratuito, desenhado para mitigar alguns dos problemas causados pela dislexia.",
diff --git a/apps/theming/l10n/pt_PT.json b/apps/theming/l10n/pt_PT.json
index 8875670ca67..df5cba16e0b 100644
--- a/apps/theming/l10n/pt_PT.json
+++ b/apps/theming/l10n/pt_PT.json
@@ -24,7 +24,6 @@
"Theming" : "Temática",
"Dark theme" : "Tema escuro",
"Enable dark theme" : "Ativar tema escuro",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Um tema escuro para descansar os olhos reduzindo a luminosidade e o brilho. Ainda está em desenvolvimento, pelo que por favor reporte quaisquer erros que encontre.",
"Dyslexia font" : "Tipo de letra \"Dyslexia\"",
"Enable dyslexia font" : "Ativar tipo de letra \"Dyslexia\"",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic é um tipo de letra gratuito, desenhado para mitigar alguns dos problemas causados pela dislexia.",
diff --git a/apps/theming/l10n/ru.js b/apps/theming/l10n/ru.js
index 87276e67bf1..a686be8f722 100644
--- a/apps/theming/l10n/ru.js
+++ b/apps/theming/l10n/ru.js
@@ -26,9 +26,9 @@ OC.L10N.register(
"No file uploaded" : "Нет загруженных файлов",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Вы уже используете настраиваемое оформление, которое может быть перезаписано этим приложением.",
"Theming" : "Внешний вид",
+ "Appearance and accessibility" : "Внешний вид и доступность",
"Dark theme" : "Тёмное оформление",
"Enable dark theme" : "Использовать тёмное оформление",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Тёмное оформление снижает напряжение глаз за счёт уменьшения общей яркости. Тема находится в разработке. Сообщайте о всех найденных ошибках и недочётах.",
"Dyslexia font" : "Шрифт Dyslexia",
"Enable dyslexia font" : "Использовать шрифт Dyslexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic — бесплатный шрифт, который смягчает некоторые распространённые ошибки чтения, вызываемые дислексией.",
@@ -55,7 +55,7 @@ OC.L10N.register(
"Remove background image" : "Убрать фоновое изображение ",
"Advanced options" : "Дополнительные параметры",
"Legal notice link" : "Ссылка на официальное уведомление",
- "Privacy policy link" : "Ссылка на политику конфеденциальности",
+ "Privacy policy link" : "Ссылка на политику конфиденциальности",
"Header logo" : "Логотип заголовка",
"Upload new header logo" : "Загрузить логотип заголовка",
"Favicon" : "Favicon (значок сайта)",
diff --git a/apps/theming/l10n/ru.json b/apps/theming/l10n/ru.json
index 7770b050fa0..f2b84652f2e 100644
--- a/apps/theming/l10n/ru.json
+++ b/apps/theming/l10n/ru.json
@@ -24,9 +24,9 @@
"No file uploaded" : "Нет загруженных файлов",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Вы уже используете настраиваемое оформление, которое может быть перезаписано этим приложением.",
"Theming" : "Внешний вид",
+ "Appearance and accessibility" : "Внешний вид и доступность",
"Dark theme" : "Тёмное оформление",
"Enable dark theme" : "Использовать тёмное оформление",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Тёмное оформление снижает напряжение глаз за счёт уменьшения общей яркости. Тема находится в разработке. Сообщайте о всех найденных ошибках и недочётах.",
"Dyslexia font" : "Шрифт Dyslexia",
"Enable dyslexia font" : "Использовать шрифт Dyslexia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic — бесплатный шрифт, который смягчает некоторые распространённые ошибки чтения, вызываемые дислексией.",
@@ -53,7 +53,7 @@
"Remove background image" : "Убрать фоновое изображение ",
"Advanced options" : "Дополнительные параметры",
"Legal notice link" : "Ссылка на официальное уведомление",
- "Privacy policy link" : "Ссылка на политику конфеденциальности",
+ "Privacy policy link" : "Ссылка на политику конфиденциальности",
"Header logo" : "Логотип заголовка",
"Upload new header logo" : "Загрузить логотип заголовка",
"Favicon" : "Favicon (значок сайта)",
diff --git a/apps/theming/l10n/sc.js b/apps/theming/l10n/sc.js
index c0f2a10dcfe..5f1cb4bae98 100644
--- a/apps/theming/l10n/sc.js
+++ b/apps/theming/l10n/sc.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Tema",
"Dark theme" : "Tema iscuru ",
"Enable dark theme" : "Ativa su tema iscuru ",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Unu tema iscuru pro agiudare is ogros tuos menguende sa luminosidade e su lugore generale. Est ancora in fase de isvilupu, duncas sinnala cale si siat problema.",
"Dyslexia font" : "Font pro dislessia",
"Enable dyslexia font" : "Ativa su font pro dislessia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic est unu font lìberu pensadu pro illebiare unos cantos isbàllios comunes de leghidura causados dae sa dislessia.",
diff --git a/apps/theming/l10n/sc.json b/apps/theming/l10n/sc.json
index b704e46732a..63cf52cbf6e 100644
--- a/apps/theming/l10n/sc.json
+++ b/apps/theming/l10n/sc.json
@@ -26,7 +26,6 @@
"Theming" : "Tema",
"Dark theme" : "Tema iscuru ",
"Enable dark theme" : "Ativa su tema iscuru ",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Unu tema iscuru pro agiudare is ogros tuos menguende sa luminosidade e su lugore generale. Est ancora in fase de isvilupu, duncas sinnala cale si siat problema.",
"Dyslexia font" : "Font pro dislessia",
"Enable dyslexia font" : "Ativa su font pro dislessia",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic est unu font lìberu pensadu pro illebiare unos cantos isbàllios comunes de leghidura causados dae sa dislessia.",
diff --git a/apps/theming/l10n/sk.js b/apps/theming/l10n/sk.js
index 1842d678ded..f34e4eee2e8 100644
--- a/apps/theming/l10n/sk.js
+++ b/apps/theming/l10n/sk.js
@@ -26,9 +26,13 @@ OC.L10N.register(
"No file uploaded" : "Žiadny súbor nebol nahraný",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Už používate vlastný motív vzhľadu. Predošlé nastavenia tým môžu byť prepísané.",
"Theming" : "Zmena vzhľadu",
+ "Appearance and accessibility" : "Vzhľad a správanie",
+ "Dark theme with high contrast mode" : "Tmavá téma s vysokým kontrastom",
+ "Enable dark high contrast mode" : "Zapnúť režim vysokého kontrastu",
"Dark theme" : "Tmavý motív vzhľadu",
"Enable dark theme" : "Zapnúť tmavý motív vzhľadu",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tmavý motív vzhľadu pre úľavu vašim očiam znížením celkovej svietivosti a jasu. Je ešte stále vo vývoji, ak náhodou narazíte na nejaký problém, tak nám ho prosím nahláste.",
+ "System default theme" : "Predvolený vzhľad systému",
+ "Enable the system default" : "Povoliť systémové nastavenia",
"Dyslexia font" : "Písmo pre dyslektikov",
"Enable dyslexia font" : "Povoliť písmo pre dyslektikov",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je slobodný typ písma navrhnutý priamo pre obmedzenie vplyvu niektorých bežných porúch čítania spôsobených dyslexiou.",
diff --git a/apps/theming/l10n/sk.json b/apps/theming/l10n/sk.json
index d9197db8bf3..c570c177ec2 100644
--- a/apps/theming/l10n/sk.json
+++ b/apps/theming/l10n/sk.json
@@ -24,9 +24,13 @@
"No file uploaded" : "Žiadny súbor nebol nahraný",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Už používate vlastný motív vzhľadu. Predošlé nastavenia tým môžu byť prepísané.",
"Theming" : "Zmena vzhľadu",
+ "Appearance and accessibility" : "Vzhľad a správanie",
+ "Dark theme with high contrast mode" : "Tmavá téma s vysokým kontrastom",
+ "Enable dark high contrast mode" : "Zapnúť režim vysokého kontrastu",
"Dark theme" : "Tmavý motív vzhľadu",
"Enable dark theme" : "Zapnúť tmavý motív vzhľadu",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tmavý motív vzhľadu pre úľavu vašim očiam znížením celkovej svietivosti a jasu. Je ešte stále vo vývoji, ak náhodou narazíte na nejaký problém, tak nám ho prosím nahláste.",
+ "System default theme" : "Predvolený vzhľad systému",
+ "Enable the system default" : "Povoliť systémové nastavenia",
"Dyslexia font" : "Písmo pre dyslektikov",
"Enable dyslexia font" : "Povoliť písmo pre dyslektikov",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je slobodný typ písma navrhnutý priamo pre obmedzenie vplyvu niektorých bežných porúch čítania spôsobených dyslexiou.",
diff --git a/apps/theming/l10n/sl.js b/apps/theming/l10n/sl.js
index 402555ec3f7..4b3072cb0b6 100644
--- a/apps/theming/l10n/sl.js
+++ b/apps/theming/l10n/sl.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Teme",
"Dark theme" : "Temna tema",
"Enable dark theme" : "Omogoči temno temo",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Temna tema zmanjša splošno svetlost vmesnika. Tema je še v razvoju, zato je priporočljivo poslati tudi poročila o napakah, ki jih opazite.",
"Dyslexia font" : "Pisava za posameznike z disleksijo",
"Enable dyslexia font" : "Omogoči pisavo za posameznike z disleksijo",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Pisava OpenDyslexic je brezplačna pisava, zasnovana in oblikovana po priporočilih za posameznike z disleksijo. Zmanjša nekatere splošne težave pri branju.",
diff --git a/apps/theming/l10n/sl.json b/apps/theming/l10n/sl.json
index 1ad29f3eede..1891ca4c659 100644
--- a/apps/theming/l10n/sl.json
+++ b/apps/theming/l10n/sl.json
@@ -26,7 +26,6 @@
"Theming" : "Teme",
"Dark theme" : "Temna tema",
"Enable dark theme" : "Omogoči temno temo",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Temna tema zmanjša splošno svetlost vmesnika. Tema je še v razvoju, zato je priporočljivo poslati tudi poročila o napakah, ki jih opazite.",
"Dyslexia font" : "Pisava za posameznike z disleksijo",
"Enable dyslexia font" : "Omogoči pisavo za posameznike z disleksijo",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Pisava OpenDyslexic je brezplačna pisava, zasnovana in oblikovana po priporočilih za posameznike z disleksijo. Zmanjša nekatere splošne težave pri branju.",
diff --git a/apps/theming/l10n/sq.js b/apps/theming/l10n/sq.js
index 1b1f761dfcf..f388d6dd3b5 100644
--- a/apps/theming/l10n/sq.js
+++ b/apps/theming/l10n/sq.js
@@ -17,7 +17,6 @@ OC.L10N.register(
"Theming" : "Duke vendosur theme-n",
"Dark theme" : "Temë e errët",
"Enable dark theme" : "Aktivizo temën e errët",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Një temë e errët për të lehtësuar sytë duke ulur shkëlqimin dhe ndritshmërinë e përgjithshme. Është ende në zhvillim, prandaj ju lutemi raportoni çdo çështje që mund të gjeni.",
"Dyslexia font" : "Fonti Dyslexia",
"Enable dyslexia font" : "Aktivizo fontin e disleksisë",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic është një font / karakter tipografik i lirë i dizajnuar për të zbutur disa nga gabimet e zakonshme të leximit të shkaktuara nga disleksija.",
diff --git a/apps/theming/l10n/sq.json b/apps/theming/l10n/sq.json
index cc2a129693b..7fa7b58ad25 100644
--- a/apps/theming/l10n/sq.json
+++ b/apps/theming/l10n/sq.json
@@ -15,7 +15,6 @@
"Theming" : "Duke vendosur theme-n",
"Dark theme" : "Temë e errët",
"Enable dark theme" : "Aktivizo temën e errët",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Një temë e errët për të lehtësuar sytë duke ulur shkëlqimin dhe ndritshmërinë e përgjithshme. Është ende në zhvillim, prandaj ju lutemi raportoni çdo çështje që mund të gjeni.",
"Dyslexia font" : "Fonti Dyslexia",
"Enable dyslexia font" : "Aktivizo fontin e disleksisë",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic është një font / karakter tipografik i lirë i dizajnuar për të zbutur disa nga gabimet e zakonshme të leximit të shkaktuara nga disleksija.",
diff --git a/apps/theming/l10n/sr.js b/apps/theming/l10n/sr.js
index f7265ff0f9c..dade2ee058d 100644
--- a/apps/theming/l10n/sr.js
+++ b/apps/theming/l10n/sr.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Изглед",
"Dark theme" : "Тамна тема",
"Enable dark theme" : "укључи тамну тему",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Тамна тема олакшава очима смањујући укупну осветљеност. Још је у развоју, па пријавите све грешке, уколико их нађете.",
"Dyslexia font" : "Фонт Дислексија",
"Enable dyslexia font" : "укључи фонт Дислексија",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "„OpenDyslexic“ је бесплатни фонт дизајниран да умањи честе грешке у читању изазване дислексијом.",
diff --git a/apps/theming/l10n/sr.json b/apps/theming/l10n/sr.json
index 9c324e5aeb8..1ae8b6f3ce8 100644
--- a/apps/theming/l10n/sr.json
+++ b/apps/theming/l10n/sr.json
@@ -26,7 +26,6 @@
"Theming" : "Изглед",
"Dark theme" : "Тамна тема",
"Enable dark theme" : "укључи тамну тему",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Тамна тема олакшава очима смањујући укупну осветљеност. Још је у развоју, па пријавите све грешке, уколико их нађете.",
"Dyslexia font" : "Фонт Дислексија",
"Enable dyslexia font" : "укључи фонт Дислексија",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "„OpenDyslexic“ је бесплатни фонт дизајниран да умањи честе грешке у читању изазване дислексијом.",
diff --git a/apps/theming/l10n/sv.js b/apps/theming/l10n/sv.js
index 83a193ff8fb..c04f87fd263 100644
--- a/apps/theming/l10n/sv.js
+++ b/apps/theming/l10n/sv.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Teman",
"Dark theme" : "Mörkt tema",
"Enable dark theme" : "Aktivera mörkt tema",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ett mörkt tema för att lätta dina ögon genom att minska den allmänna ljusstyrkan. Det är fortfarande under utveckling, så rapportera gärna eventuella problem ni hittar.",
"Dyslexia font" : "Teckensnitt för dyslektiker",
"Enable dyslexia font" : "Aktivera teckensnitt för dyslektiker",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic är ett fritt teckensnitt/font som är utformat för att mildra några av de vanligaste lässvårigheterna som orsakas av dyslexi.",
diff --git a/apps/theming/l10n/sv.json b/apps/theming/l10n/sv.json
index 4f0dd6c3a59..ffe09afaa60 100644
--- a/apps/theming/l10n/sv.json
+++ b/apps/theming/l10n/sv.json
@@ -26,7 +26,6 @@
"Theming" : "Teman",
"Dark theme" : "Mörkt tema",
"Enable dark theme" : "Aktivera mörkt tema",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ett mörkt tema för att lätta dina ögon genom att minska den allmänna ljusstyrkan. Det är fortfarande under utveckling, så rapportera gärna eventuella problem ni hittar.",
"Dyslexia font" : "Teckensnitt för dyslektiker",
"Enable dyslexia font" : "Aktivera teckensnitt för dyslektiker",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic är ett fritt teckensnitt/font som är utformat för att mildra några av de vanligaste lässvårigheterna som orsakas av dyslexi.",
diff --git a/apps/theming/l10n/tr.js b/apps/theming/l10n/tr.js
index d56a3d272d4..973d73b74d2 100644
--- a/apps/theming/l10n/tr.js
+++ b/apps/theming/l10n/tr.js
@@ -18,7 +18,7 @@ OC.L10N.register(
"The file was uploaded" : "Dosya yüklendi",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Yüklenen dosya php.ini dosyasındaki yüklenebilecek dosya boyutunu belirten upload_max_filesize değişkeninin değerini aşıyor",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Yüklenen dosya HTML formundaki yüklenebilecek dosya boyutunu belirten MAX_FILE_SIZE değişkeninin değerini aşıyor",
- "The file was only partially uploaded" : "Dosyanın yalnız bir bölümü yüklendi",
+ "The file was only partially uploaded" : "Dosyanın yalnızca bir bölümü yüklendi",
"No file was uploaded" : "Herhangi bir dosya yüklenmedi",
"Missing a temporary folder" : "Geçici klasör bulunamadı",
"Could not write file to disk" : "Dosya diske yazılamadı",
@@ -32,7 +32,7 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "Yüksek renk karşıtlığı kipine benzer ancak koyu renkleri kullanır.",
"Dark theme" : "Koyu tema",
"Enable dark theme" : "Koyu tema kullanılsın",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Koyu tema genel parlaklık ve canlılığı zayıflatarak göz yorgunluğunu azaltır. Bu tema henüz geliştirme aşamasında olduğundan karşılaşabileceğiniz sorunları bize iletmenizi rica ediyoruz.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Koyu tema genel aydınlık ve parlaklığı azaltarak gözlerinizi dinlendirir.",
"System default theme" : "Varsayılan sistem teması",
"Enable the system default" : "Sistem varsayılanı kullanılsın",
"Using the default system appearance." : "Varsayılan sistem görünümü kullanılıyor.",
diff --git a/apps/theming/l10n/tr.json b/apps/theming/l10n/tr.json
index 0a360110aa4..1bc038de986 100644
--- a/apps/theming/l10n/tr.json
+++ b/apps/theming/l10n/tr.json
@@ -16,7 +16,7 @@
"The file was uploaded" : "Dosya yüklendi",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Yüklenen dosya php.ini dosyasındaki yüklenebilecek dosya boyutunu belirten upload_max_filesize değişkeninin değerini aşıyor",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Yüklenen dosya HTML formundaki yüklenebilecek dosya boyutunu belirten MAX_FILE_SIZE değişkeninin değerini aşıyor",
- "The file was only partially uploaded" : "Dosyanın yalnız bir bölümü yüklendi",
+ "The file was only partially uploaded" : "Dosyanın yalnızca bir bölümü yüklendi",
"No file was uploaded" : "Herhangi bir dosya yüklenmedi",
"Missing a temporary folder" : "Geçici klasör bulunamadı",
"Could not write file to disk" : "Dosya diske yazılamadı",
@@ -30,7 +30,7 @@
"Similar to the high contrast mode, but with dark colours." : "Yüksek renk karşıtlığı kipine benzer ancak koyu renkleri kullanır.",
"Dark theme" : "Koyu tema",
"Enable dark theme" : "Koyu tema kullanılsın",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Koyu tema genel parlaklık ve canlılığı zayıflatarak göz yorgunluğunu azaltır. Bu tema henüz geliştirme aşamasında olduğundan karşılaşabileceğiniz sorunları bize iletmenizi rica ediyoruz.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Koyu tema genel aydınlık ve parlaklığı azaltarak gözlerinizi dinlendirir.",
"System default theme" : "Varsayılan sistem teması",
"Enable the system default" : "Sistem varsayılanı kullanılsın",
"Using the default system appearance." : "Varsayılan sistem görünümü kullanılıyor.",
diff --git a/apps/theming/l10n/uk.js b/apps/theming/l10n/uk.js
index 656744deee8..d685c5a53b9 100644
--- a/apps/theming/l10n/uk.js
+++ b/apps/theming/l10n/uk.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Оформлення",
"Dark theme" : "Темна тема",
"Enable dark theme" : "Увімкнути темну тему",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Темна тема зменшує навантаження на очі завдяки зменшенню освітлення та яскравості. Вона ще в процесі розробки, тож повідомляйте, будь-ласка, про будь-які проблеми, з якими ви можете зіткнутись.",
"Dyslexia font" : "Шрифт для людей, які страждають від дислексії",
"Enable dyslexia font" : "Увімкнути шрифт для людей, які страждають від дислексії",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic - це вільно доступний шрифт, що було розроблено для уникнення деяких загальних помилок, що спричинені дизлексією.",
diff --git a/apps/theming/l10n/uk.json b/apps/theming/l10n/uk.json
index 6d577acc87b..783e3afeedb 100644
--- a/apps/theming/l10n/uk.json
+++ b/apps/theming/l10n/uk.json
@@ -26,7 +26,6 @@
"Theming" : "Оформлення",
"Dark theme" : "Темна тема",
"Enable dark theme" : "Увімкнути темну тему",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Темна тема зменшує навантаження на очі завдяки зменшенню освітлення та яскравості. Вона ще в процесі розробки, тож повідомляйте, будь-ласка, про будь-які проблеми, з якими ви можете зіткнутись.",
"Dyslexia font" : "Шрифт для людей, які страждають від дислексії",
"Enable dyslexia font" : "Увімкнути шрифт для людей, які страждають від дислексії",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic - це вільно доступний шрифт, що було розроблено для уникнення деяких загальних помилок, що спричинені дизлексією.",
diff --git a/apps/theming/l10n/vi.js b/apps/theming/l10n/vi.js
index 0f4facf04bd..12bd5ac5417 100644
--- a/apps/theming/l10n/vi.js
+++ b/apps/theming/l10n/vi.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "Điều chỉnh giao diện",
"Dark theme" : "Chế độ ban đêm",
"Enable dark theme" : "Bật chế độ ban đêm",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Chế độ ban đêm giúp giảm mỏi mắt bằng cách giảm tương phản ở các màu chói và giảm độ sáng. Chế độ này đang được phát triển, vì vậy, xin hãy báo cáo nếu bạn gặp bất kỳ vấn đề nào trong lúc sử dụng.",
"Dyslexia font" : "Chứng khó đọc",
"Enable dyslexia font" : "Bật chế độ dành cho người gặp chứng khó đọc",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic là một kiểu chữ / phông chữ miễn phí được thiết kế để giảm thiểu một số lỗi đọc phổ biến do chứng khó đọc gây ra.",
diff --git a/apps/theming/l10n/vi.json b/apps/theming/l10n/vi.json
index dc430b62f9a..9aeb04396c4 100644
--- a/apps/theming/l10n/vi.json
+++ b/apps/theming/l10n/vi.json
@@ -26,7 +26,6 @@
"Theming" : "Điều chỉnh giao diện",
"Dark theme" : "Chế độ ban đêm",
"Enable dark theme" : "Bật chế độ ban đêm",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Chế độ ban đêm giúp giảm mỏi mắt bằng cách giảm tương phản ở các màu chói và giảm độ sáng. Chế độ này đang được phát triển, vì vậy, xin hãy báo cáo nếu bạn gặp bất kỳ vấn đề nào trong lúc sử dụng.",
"Dyslexia font" : "Chứng khó đọc",
"Enable dyslexia font" : "Bật chế độ dành cho người gặp chứng khó đọc",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic là một kiểu chữ / phông chữ miễn phí được thiết kế để giảm thiểu một số lỗi đọc phổ biến do chứng khó đọc gây ra.",
diff --git a/apps/theming/l10n/zh_CN.js b/apps/theming/l10n/zh_CN.js
index f26cb984e2e..4aa15a7e8e6 100644
--- a/apps/theming/l10n/zh_CN.js
+++ b/apps/theming/l10n/zh_CN.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Theming" : "主题",
"Dark theme" : "深色主题",
"Enable dark theme" : "启用深色主题",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "深色主题通过降低色彩的明度和亮度来使您的眼睛保持舒适。这个功能还在完善中,所以请您随时向我们反馈所发现的问题。",
"Dyslexia font" : "阅读障碍字体",
"Enable dyslexia font" : "启用阅读障碍字体",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic是一款免费的字样/字体,这款字体的设计目的是缓解由阅读障碍引起的一些常见阅读错误。",
diff --git a/apps/theming/l10n/zh_CN.json b/apps/theming/l10n/zh_CN.json
index cfe2e6c548f..9c3c6c973a4 100644
--- a/apps/theming/l10n/zh_CN.json
+++ b/apps/theming/l10n/zh_CN.json
@@ -26,7 +26,6 @@
"Theming" : "主题",
"Dark theme" : "深色主题",
"Enable dark theme" : "启用深色主题",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "深色主题通过降低色彩的明度和亮度来使您的眼睛保持舒适。这个功能还在完善中,所以请您随时向我们反馈所发现的问题。",
"Dyslexia font" : "阅读障碍字体",
"Enable dyslexia font" : "启用阅读障碍字体",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic是一款免费的字样/字体,这款字体的设计目的是缓解由阅读障碍引起的一些常见阅读错误。",
diff --git a/apps/theming/l10n/zh_HK.js b/apps/theming/l10n/zh_HK.js
index 2b49e5ef65c..fab91dd782b 100644
--- a/apps/theming/l10n/zh_HK.js
+++ b/apps/theming/l10n/zh_HK.js
@@ -32,7 +32,7 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "類似於高對比度模式,但顏色較深。",
"Dark theme" : "深色主題",
"Enable dark theme" : "啟用深色主題",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "深色主題將降低整體光度與亮度,以舒緩眼睛疲勞。此功能仍在發展當中,請報告任何您遇上的問題。",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "通過降低整體亮度和亮度來舒緩您的眼睛的黑暗主題。",
"System default theme" : "系統默認主題",
"Enable the system default" : "啟用系統默認值",
"Using the default system appearance." : "使用默認系統外觀。",
diff --git a/apps/theming/l10n/zh_HK.json b/apps/theming/l10n/zh_HK.json
index 3abe7d0a618..82d452d2423 100644
--- a/apps/theming/l10n/zh_HK.json
+++ b/apps/theming/l10n/zh_HK.json
@@ -30,7 +30,7 @@
"Similar to the high contrast mode, but with dark colours." : "類似於高對比度模式,但顏色較深。",
"Dark theme" : "深色主題",
"Enable dark theme" : "啟用深色主題",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "深色主題將降低整體光度與亮度,以舒緩眼睛疲勞。此功能仍在發展當中,請報告任何您遇上的問題。",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "通過降低整體亮度和亮度來舒緩您的眼睛的黑暗主題。",
"System default theme" : "系統默認主題",
"Enable the system default" : "啟用系統默認值",
"Using the default system appearance." : "使用默認系統外觀。",
diff --git a/apps/theming/l10n/zh_TW.js b/apps/theming/l10n/zh_TW.js
index 007c2496ab9..66d5873ae97 100644
--- a/apps/theming/l10n/zh_TW.js
+++ b/apps/theming/l10n/zh_TW.js
@@ -32,7 +32,7 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "類似於高對比模式,但顏色較深。",
"Dark theme" : "深色主題",
"Enable dark theme" : "啟用深色主題",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "黑暗風格的主題,通過降低整體亮度來舒緩對您眼睛的刺激。深色主題仍在開發中,如發現任何問題,煩請報告。",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "透過降低整體光度與亮度來舒緩您的眼睛的深色主題。",
"System default theme" : "系統預設佈景主題",
"Enable the system default" : "啟用系統預設值",
"Using the default system appearance." : "使用預設的系統外觀。",
diff --git a/apps/theming/l10n/zh_TW.json b/apps/theming/l10n/zh_TW.json
index 3755d63b29f..ecccb34ac8c 100644
--- a/apps/theming/l10n/zh_TW.json
+++ b/apps/theming/l10n/zh_TW.json
@@ -30,7 +30,7 @@
"Similar to the high contrast mode, but with dark colours." : "類似於高對比模式,但顏色較深。",
"Dark theme" : "深色主題",
"Enable dark theme" : "啟用深色主題",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "黑暗風格的主題,通過降低整體亮度來舒緩對您眼睛的刺激。深色主題仍在開發中,如發現任何問題,煩請報告。",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "透過降低整體光度與亮度來舒緩您的眼睛的深色主題。",
"System default theme" : "系統預設佈景主題",
"Enable the system default" : "啟用系統預設值",
"Using the default system appearance." : "使用預設的系統外觀。",
diff --git a/apps/theming/lib/Themes/DefaultTheme.php b/apps/theming/lib/Themes/DefaultTheme.php
index a98d9099d95..58983d29df1 100644
--- a/apps/theming/lib/Themes/DefaultTheme.php
+++ b/apps/theming/lib/Themes/DefaultTheme.php
@@ -88,6 +88,7 @@ class DefaultTheme implements ITheme {
$colorMainBackgroundRGB = join(',', $this->util->hexToRGB($colorMainBackground));
$colorBoxShadow = $this->util->darken($colorMainBackground, 70);
$colorBoxShadowRGB = join(',', $this->util->hexToRGB($colorBoxShadow));
+ $colorPrimaryLight = $this->util->mix($this->primaryColor, $colorMainBackground, -80);
$hasCustomLogoHeader = $this->imageManager->hasImage('logo') || $this->imageManager->hasImage('logoheader');
@@ -111,15 +112,17 @@ class DefaultTheme implements ITheme {
'--color-primary' => $this->primaryColor,
'--color-primary-text' => $this->util->invertTextColor($this->primaryColor) ? '#000000' : '#ffffff',
'--color-primary-hover' => $this->util->mix($this->primaryColor, $colorMainBackground, 60),
- '--color-primary-light' => $this->util->mix($this->primaryColor, $colorMainBackground, -80),
+ '--color-primary-light' => $colorPrimaryLight,
'--color-primary-light-text' => $this->primaryColor,
- '--color-primary-light-hover' => $this->util->mix($this->primaryColor, $colorMainText, -80),
+ '--color-primary-light-hover' => $this->util->mix($colorPrimaryLight, $colorMainText, 90),
'--color-primary-text-dark' => $this->util->darken($this->util->invertTextColor($this->primaryColor) ? '#000000' : '#ffffff', 7),
// used for buttons, inputs...
'--color-primary-element' => $this->util->elementColor($this->primaryColor),
'--color-primary-element-hover' => $this->util->mix($this->util->elementColor($this->primaryColor), $colorMainBackground, 80),
'--color-primary-element-light' => $this->util->lighten($this->util->elementColor($this->primaryColor), 15),
'--color-primary-element-lighter' => $this->util->mix($this->util->elementColor($this->primaryColor), $colorMainBackground, -70),
+ // to use like this: background-image: var(--gradient-primary-background);
+ '--gradient-primary-background' => 'linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-element-light) 100%)',
// max contrast for WCAG compliance
'--color-main-text' => $colorMainText,
diff --git a/apps/theming/src/UserThemes.vue b/apps/theming/src/UserThemes.vue
index 5128e2c6c8d..ee514f049a5 100644
--- a/apps/theming/src/UserThemes.vue
+++ b/apps/theming/src/UserThemes.vue
@@ -100,13 +100,12 @@ export default {
this.themes.forEach(theme => {
if (theme.id === id && enabled) {
theme.enabled = true
- document.body.setAttribute(`data-theme-${theme.id}`, true)
return
}
theme.enabled = false
- document.body.removeAttribute(`data-theme-${theme.id}`)
})
+ this.updateBodyAttributes()
this.selectItem(enabled, id)
},
changeFont({ enabled, id }) {
@@ -114,16 +113,24 @@ export default {
this.fonts.forEach(font => {
if (font.id === id && enabled) {
font.enabled = true
- document.body.setAttribute(`data-theme-${font.id}`, true)
return
}
font.enabled = false
- document.body.removeAttribute(`data-theme-${font.id}`)
})
+ this.updateBodyAttributes()
this.selectItem(enabled, id)
},
+ updateBodyAttributes() {
+ const enabledThemesIDs = this.themes.filter(theme => theme.enabled === true).map(theme => theme.id)
+ this.themes.forEach(theme => {
+ document.body.toggleAttribute(`data-theme-${theme.id}`, theme.enabled)
+ })
+
+ document.body.setAttribute('data-themes', enabledThemesIDs.join(','))
+ },
+
/**
* Commit a change and force reload css
* Fetching the file again will trigger the server update
diff --git a/apps/updatenotification/l10n/fr.js b/apps/updatenotification/l10n/fr.js
index 1d94b8e76b7..4a51cb05801 100644
--- a/apps/updatenotification/l10n/fr.js
+++ b/apps/updatenotification/l10n/fr.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Apps missing compatible version" : "Applications n'ayant pas de version compatible",
"View in store" : "Afficher dans le magasin d'applications",
"Apps with compatible version" : "Applications compatible",
+ "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Veuillez noter que la mise à jour par le navigateur n'est pas recommandée si votre instance comporte plus de 100 utilisateurs ! Veuillez utiliser l'interface en ligne de commandes. ",
"Open updater" : "Ouvrir le système de mise à jour",
"Download now" : "Télécharger maintenant",
"Please use the command line updater to update." : "Veuillez utiliser le programme de mise à jour en ligne de commande pour mettre à jour. ",
@@ -23,6 +24,7 @@ OC.L10N.register(
"The update check is not yet finished. Please refresh the page." : "La vérification de la mise-à-jour n'est pas encore terminée. Veuillez rafraîchir la page.",
"Your version is up to date." : "Votre version est à jour.",
"A non-default update server is in use to be checked for updates:" : "Un serveur spécifique est actuellement configuré pour la vérification des mises-à-jour :",
+ "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Vous pouvez modifier le canal de distribution ci-dessous mais ceci changera aussi le canal pour les applications. Par exemple, après avoir choisi le canal Beta, les applications en version Beta seront aussi proposées dans les mises à jour.",
"Update channel:" : "Canal de mise à jour :",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "Vous pouvez à tout moment mettre à jour votre instance Nextcloud vers une version plus récente. Vous ne pourrez cependant jamais revenir à une version antérieure en sélectionnant un canal plus stable.",
"Notify members of the following groups about available updates:" : "Notifier les membres des groupes suivants des mises à jours disponibles :",
@@ -35,6 +37,7 @@ OC.L10N.register(
"Checking apps for compatible versions" : "Vérification de la compatibilité des applications",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Veuillez vous assurer que le paramètre <samp>appstoreenabled</samp> n'est pas défini à false dans votre config.php.",
"Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Impossible de se connecter au magasin d'applications ou aucune mise à jour n'est disponible. Recherchez manuellement les mises à jour ou assurez-vous que votre serveur a accès à Internet et peut se connecter au magasin d'applications.",
+ "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>Toutes</strong> les applications ont une version compatible avec cette version de Nextcloud.",
"View changelog" : "Voir le journal des modifications",
"Enterprise" : "Entreprise",
"For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Pour les entreprises. Fournit toujours le correctif le plus récent, mais ne mettra pas à jour dans la version majeure suivante immédiatement. Cette mise à jour sera effectuée une fois que Nextcloud GmbH aura effectué les renforcements et tests pour permettre un déploiement en production et à grande échelle. Ce canal de mise à jour est seulement disponible pour les clients et fournit le paquet Nextcloud Entreprise.",
diff --git a/apps/updatenotification/l10n/fr.json b/apps/updatenotification/l10n/fr.json
index cf6ab31078a..476b11b1f8d 100644
--- a/apps/updatenotification/l10n/fr.json
+++ b/apps/updatenotification/l10n/fr.json
@@ -14,6 +14,7 @@
"Apps missing compatible version" : "Applications n'ayant pas de version compatible",
"View in store" : "Afficher dans le magasin d'applications",
"Apps with compatible version" : "Applications compatible",
+ "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Veuillez noter que la mise à jour par le navigateur n'est pas recommandée si votre instance comporte plus de 100 utilisateurs ! Veuillez utiliser l'interface en ligne de commandes. ",
"Open updater" : "Ouvrir le système de mise à jour",
"Download now" : "Télécharger maintenant",
"Please use the command line updater to update." : "Veuillez utiliser le programme de mise à jour en ligne de commande pour mettre à jour. ",
@@ -21,6 +22,7 @@
"The update check is not yet finished. Please refresh the page." : "La vérification de la mise-à-jour n'est pas encore terminée. Veuillez rafraîchir la page.",
"Your version is up to date." : "Votre version est à jour.",
"A non-default update server is in use to be checked for updates:" : "Un serveur spécifique est actuellement configuré pour la vérification des mises-à-jour :",
+ "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Vous pouvez modifier le canal de distribution ci-dessous mais ceci changera aussi le canal pour les applications. Par exemple, après avoir choisi le canal Beta, les applications en version Beta seront aussi proposées dans les mises à jour.",
"Update channel:" : "Canal de mise à jour :",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "Vous pouvez à tout moment mettre à jour votre instance Nextcloud vers une version plus récente. Vous ne pourrez cependant jamais revenir à une version antérieure en sélectionnant un canal plus stable.",
"Notify members of the following groups about available updates:" : "Notifier les membres des groupes suivants des mises à jours disponibles :",
@@ -33,6 +35,7 @@
"Checking apps for compatible versions" : "Vérification de la compatibilité des applications",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Veuillez vous assurer que le paramètre <samp>appstoreenabled</samp> n'est pas défini à false dans votre config.php.",
"Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Impossible de se connecter au magasin d'applications ou aucune mise à jour n'est disponible. Recherchez manuellement les mises à jour ou assurez-vous que votre serveur a accès à Internet et peut se connecter au magasin d'applications.",
+ "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>Toutes</strong> les applications ont une version compatible avec cette version de Nextcloud.",
"View changelog" : "Voir le journal des modifications",
"Enterprise" : "Entreprise",
"For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Pour les entreprises. Fournit toujours le correctif le plus récent, mais ne mettra pas à jour dans la version majeure suivante immédiatement. Cette mise à jour sera effectuée une fois que Nextcloud GmbH aura effectué les renforcements et tests pour permettre un déploiement en production et à grande échelle. Ce canal de mise à jour est seulement disponible pour les clients et fournit le paquet Nextcloud Entreprise.",
diff --git a/apps/updatenotification/l10n/tr.js b/apps/updatenotification/l10n/tr.js
index 614077e378d..1e9d2f41014 100644
--- a/apps/updatenotification/l10n/tr.js
+++ b/apps/updatenotification/l10n/tr.js
@@ -28,11 +28,11 @@ OC.L10N.register(
"Update channel:" : "Güncelleme kanalı:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "Her zaman bir üst sürüme güncelleyebilirsiniz ancak asla daha kararlı bir eski sürüme dönemezsiniz.",
"Notify members of the following groups about available updates:" : "Yayınlanan güncellemeler şu grupların üyelerine bildirilsin:",
- "Only notifications for app updates are available." : "Yalnız uygulama güncelleme bildirimleri kullanılabilir.",
+ "Only notifications for app updates are available." : "Yalnızca uygulama güncelleme bildirimleri kullanılabilir.",
"The selected update channel makes dedicated notifications for the server obsolete." : "Seçilmiş güncelleme kanalı kullanımdan kalkmış sunucu bildirimleri için kullanılıyor.",
"The selected update channel does not support updates of the server." : "Seçilmiş güncelleme kanalı sunucunun güncellemelerini desteklemiyor.",
"A new version is available: <strong>{newVersionString}</strong>" : "Yeni bir sürüm yayınlanmış: <strong>{newVersionString}</strong>",
- "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "Yeni bir sürümden sonra güncellemenin yalnız ilk yeni küçük sürüm ya da daha sonraki sürümler yayınlandığında görüntüleneceğini unutmayın. Yeni sürümleri kullanıcılarımıza zamanla dağıtıyoruz ve bazen sorunlarla karşılaştığımızda bir sürümü atlayabiliyoruz. Güncellemeler ve yayın kanalları hakkında ayrıntılı bilgi almak için {link} adresine bakabilirsiniz.",
+ "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "Yeni bir sürümden sonra güncellemenin yalnızca ilk yeni küçük sürüm ya da daha sonraki sürümler yayınlandığında görüntüleneceğini unutmayın. Yeni sürümleri kullanıcılarımıza zamanla dağıtıyoruz ve bazen sorunlarla karşılaştığımızda bir sürümü atlayabiliyoruz. Güncellemeler ve yayın kanalları hakkında ayrıntılı bilgi almak için {link} adresine bakabilirsiniz.",
"Checked on {lastCheckedDate}" : "Son denetim: {lastCheckedDate}",
"Checking apps for compatible versions" : "Uygulamalar uyumlu sürümler için denetleniyor",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Lütfen config.php dosyasındaki <samp>appstoreenabled</samp> seçeneğinin false olarak ayarlanmadığından emin olun.",
@@ -40,7 +40,7 @@ OC.L10N.register(
"<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>Tüm</strong> uygulamaların bu Nextcloud sürümü ile uyumlu bir sürümü var.",
"View changelog" : "Değişiklik günlüğünü görüntüle",
"Enterprise" : "Kurumsal",
- "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Kurumsal kullanım için her zaman en son yayınlanmış yama düzeyi sunulur ancak sonraki ana sürüme hemen geçilmez. Bu güncellemeye Nextcloud GmbH tarafından büyük ölçekli ve görev kritik dağıtımlar için ek düzenlemeler ve sınamalar yapıldıktan sonra geçilir. Bu kanalı yalnız müşteriler kullanabilir ve Nextcloud Enterprise paketi sunulur.",
+ "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Kurumsal kullanım için her zaman en son yayınlanmış yama düzeyi sunulur ancak sonraki ana sürüme hemen geçilmez. Bu güncellemeye Nextcloud GmbH tarafından büyük ölçekli ve görev kritik dağıtımlar için ek düzenlemeler ve sınamalar yapıldıktan sonra geçilir. Bu kanalı yalnızca müşteriler kullanabilir ve Nextcloud Enterprise paketi sunulur.",
"Stable" : "Kararlı",
"The most recent stable version. It is suited for regular use and will always update to the latest major version." : "Son kararlı sürüm. Normal kullanıma uygundur ve her zaman son büyük sürümü kullanır.",
"Beta" : "Beta",
diff --git a/apps/updatenotification/l10n/tr.json b/apps/updatenotification/l10n/tr.json
index df280047622..326d0419970 100644
--- a/apps/updatenotification/l10n/tr.json
+++ b/apps/updatenotification/l10n/tr.json
@@ -26,11 +26,11 @@
"Update channel:" : "Güncelleme kanalı:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "Her zaman bir üst sürüme güncelleyebilirsiniz ancak asla daha kararlı bir eski sürüme dönemezsiniz.",
"Notify members of the following groups about available updates:" : "Yayınlanan güncellemeler şu grupların üyelerine bildirilsin:",
- "Only notifications for app updates are available." : "Yalnız uygulama güncelleme bildirimleri kullanılabilir.",
+ "Only notifications for app updates are available." : "Yalnızca uygulama güncelleme bildirimleri kullanılabilir.",
"The selected update channel makes dedicated notifications for the server obsolete." : "Seçilmiş güncelleme kanalı kullanımdan kalkmış sunucu bildirimleri için kullanılıyor.",
"The selected update channel does not support updates of the server." : "Seçilmiş güncelleme kanalı sunucunun güncellemelerini desteklemiyor.",
"A new version is available: <strong>{newVersionString}</strong>" : "Yeni bir sürüm yayınlanmış: <strong>{newVersionString}</strong>",
- "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "Yeni bir sürümden sonra güncellemenin yalnız ilk yeni küçük sürüm ya da daha sonraki sürümler yayınlandığında görüntüleneceğini unutmayın. Yeni sürümleri kullanıcılarımıza zamanla dağıtıyoruz ve bazen sorunlarla karşılaştığımızda bir sürümü atlayabiliyoruz. Güncellemeler ve yayın kanalları hakkında ayrıntılı bilgi almak için {link} adresine bakabilirsiniz.",
+ "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "Yeni bir sürümden sonra güncellemenin yalnızca ilk yeni küçük sürüm ya da daha sonraki sürümler yayınlandığında görüntüleneceğini unutmayın. Yeni sürümleri kullanıcılarımıza zamanla dağıtıyoruz ve bazen sorunlarla karşılaştığımızda bir sürümü atlayabiliyoruz. Güncellemeler ve yayın kanalları hakkında ayrıntılı bilgi almak için {link} adresine bakabilirsiniz.",
"Checked on {lastCheckedDate}" : "Son denetim: {lastCheckedDate}",
"Checking apps for compatible versions" : "Uygulamalar uyumlu sürümler için denetleniyor",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Lütfen config.php dosyasındaki <samp>appstoreenabled</samp> seçeneğinin false olarak ayarlanmadığından emin olun.",
@@ -38,7 +38,7 @@
"<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>Tüm</strong> uygulamaların bu Nextcloud sürümü ile uyumlu bir sürümü var.",
"View changelog" : "Değişiklik günlüğünü görüntüle",
"Enterprise" : "Kurumsal",
- "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Kurumsal kullanım için her zaman en son yayınlanmış yama düzeyi sunulur ancak sonraki ana sürüme hemen geçilmez. Bu güncellemeye Nextcloud GmbH tarafından büyük ölçekli ve görev kritik dağıtımlar için ek düzenlemeler ve sınamalar yapıldıktan sonra geçilir. Bu kanalı yalnız müşteriler kullanabilir ve Nextcloud Enterprise paketi sunulur.",
+ "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Kurumsal kullanım için her zaman en son yayınlanmış yama düzeyi sunulur ancak sonraki ana sürüme hemen geçilmez. Bu güncellemeye Nextcloud GmbH tarafından büyük ölçekli ve görev kritik dağıtımlar için ek düzenlemeler ve sınamalar yapıldıktan sonra geçilir. Bu kanalı yalnızca müşteriler kullanabilir ve Nextcloud Enterprise paketi sunulur.",
"Stable" : "Kararlı",
"The most recent stable version. It is suited for regular use and will always update to the latest major version." : "Son kararlı sürüm. Normal kullanıma uygundur ve her zaman son büyük sürümü kullanır.",
"Beta" : "Beta",
diff --git a/apps/updatenotification/src/components/UpdateNotification.vue b/apps/updatenotification/src/components/UpdateNotification.vue
index 6fc48978852..5039ac22bb7 100644
--- a/apps/updatenotification/src/components/UpdateNotification.vue
+++ b/apps/updatenotification/src/components/UpdateNotification.vue
@@ -539,7 +539,7 @@ export default {
/* override needed to replace yellow hover state with a dark one */
#updatenotification .update-menu .icon-star:hover,
#updatenotification .update-menu .icon-star:focus {
- background-image: var(--icon-star-000);
+ background-image: var(--icon-starred);
}
#updatenotification .topMargin {
margin-top: 15px;
diff --git a/apps/user_ldap/l10n/bg.js b/apps/user_ldap/l10n/bg.js
index 2bf776e3e03..a1b8c4906c2 100644
--- a/apps/user_ldap/l10n/bg.js
+++ b/apps/user_ldap/l10n/bg.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "„$home“ Заместващо поле",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home в конфигурация за външно хранилище ще бъде заменен със стойността на посочения атрибут",
"Internal Username" : "Вътрешно потребителско име",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "По подразбиране вътрешното име на потребител ще бъде създадено от атрибута UUID. Той гарантира, че името на потребител е уникално и знаците не трябва да се преобразуват. Вътрешното име на потребител има ограничението, че са позволени само тези знаци: [a-zA-Z0-9_.@-]. Други знаци се заменят с тяхното ASCII съответствие или просто се пропускат. При сблъсъци числото ще бъде добавено/увеличено. Вътрешното име на потребител се използва за вътрешно идентифициране на потребител. Това също е името по подразбиране за домашната папка на потребителя. Той също така е част от отдалечени URL адреси, например за всички *DAV услуги. С тази настройка поведението по подразбиране може да бъде отменено. Промените ще имат ефект само върху ново съпоставени (добавени) потребители на LDAP. Оставете го празно за поведение по подразбиране. ",
"Internal Username Attribute:" : "Атрибут на вътрешното потребителско име:",
"Override UUID detection" : "Промени UUID откриването",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Обикновено UUID атрибутът ще бъде намерен автоматично. UUID атрибута се използва, за да се идентифицират еднозначно LDAP потребители и групи. Освен това ще бъде генерирано вътрешното име базирано на UUID-то, ако такова не е посочено по-горе. Можете да промените настройката и да използвате атрибут по свой избор. Наложително е атрибутът да бъде уникален както за потребителите така и за групите. Промените ще се отразят само за новодобавени (map-нати) LDAP потребители.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Име на потребител-LDAP Потребителско съпоставяне ",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Потребителските имена се използват за съхраняване и присвояване на метаданни. С цел точно идентифициране и разпознаване на потребителите, всеки потребител на LDAP ще има вътрешно име на потребител. Това изисква съпоставяне от име на потребител към потребител на LDAP. Създаденото име на потребител се съпоставя с UUID на потребителя на LDAP. Освен това DN се кешира, за да се намали взаимодействието с LDAP, но не се използва за идентификация. Ако DN се промени, промените ще бъдат намерени. Вътрешното име на потребител се използва навсякъде. Изчистването на съпоставянията ще има остатъци навсякъде. Изчистването на съпоставянията не е чувствително към конфигурацията, засяга всички LDAP конфигурации! Никога не изчиствайте съпоставянията в производствена среда, само в тестов или експериментален етап.",
"Clear Username-LDAP User Mapping" : "Изчистване на име на потребител-LDAP Потребителско съпоставяне ",
- "Clear Groupname-LDAP Group Mapping" : "Изчистване на име на група-LDAP Потребителско съпоставяне "
+ "Clear Groupname-LDAP Group Mapping" : "Изчистване на име на група-LDAP Потребителско съпоставяне ",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "По подразбиране вътрешното име на потребител ще бъде създадено от атрибута UUID. Той гарантира, че името на потребител е уникално и знаците не трябва да се преобразуват. Вътрешното име на потребител има ограничението, че са позволени само тези знаци: [a-zA-Z0-9_.@-]. Други знаци се заменят с тяхното ASCII съответствие или просто се пропускат. При сблъсъци числото ще бъде добавено/увеличено. Вътрешното име на потребител се използва за вътрешно идентифициране на потребител. Това също е името по подразбиране за домашната папка на потребителя. Той също така е част от отдалечени URL адреси, например за всички *DAV услуги. С тази настройка поведението по подразбиране може да бъде отменено. Промените ще имат ефект само върху ново съпоставени (добавени) потребители на LDAP. Оставете го празно за поведение по подразбиране. "
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/bg.json b/apps/user_ldap/l10n/bg.json
index 7124cf0b171..12cf955c14c 100644
--- a/apps/user_ldap/l10n/bg.json
+++ b/apps/user_ldap/l10n/bg.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "„$home“ Заместващо поле",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home в конфигурация за външно хранилище ще бъде заменен със стойността на посочения атрибут",
"Internal Username" : "Вътрешно потребителско име",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "По подразбиране вътрешното име на потребител ще бъде създадено от атрибута UUID. Той гарантира, че името на потребител е уникално и знаците не трябва да се преобразуват. Вътрешното име на потребител има ограничението, че са позволени само тези знаци: [a-zA-Z0-9_.@-]. Други знаци се заменят с тяхното ASCII съответствие или просто се пропускат. При сблъсъци числото ще бъде добавено/увеличено. Вътрешното име на потребител се използва за вътрешно идентифициране на потребител. Това също е името по подразбиране за домашната папка на потребителя. Той също така е част от отдалечени URL адреси, например за всички *DAV услуги. С тази настройка поведението по подразбиране може да бъде отменено. Промените ще имат ефект само върху ново съпоставени (добавени) потребители на LDAP. Оставете го празно за поведение по подразбиране. ",
"Internal Username Attribute:" : "Атрибут на вътрешното потребителско име:",
"Override UUID detection" : "Промени UUID откриването",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Обикновено UUID атрибутът ще бъде намерен автоматично. UUID атрибута се използва, за да се идентифицират еднозначно LDAP потребители и групи. Освен това ще бъде генерирано вътрешното име базирано на UUID-то, ако такова не е посочено по-горе. Можете да промените настройката и да използвате атрибут по свой избор. Наложително е атрибутът да бъде уникален както за потребителите така и за групите. Промените ще се отразят само за новодобавени (map-нати) LDAP потребители.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Име на потребител-LDAP Потребителско съпоставяне ",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Потребителските имена се използват за съхраняване и присвояване на метаданни. С цел точно идентифициране и разпознаване на потребителите, всеки потребител на LDAP ще има вътрешно име на потребител. Това изисква съпоставяне от име на потребител към потребител на LDAP. Създаденото име на потребител се съпоставя с UUID на потребителя на LDAP. Освен това DN се кешира, за да се намали взаимодействието с LDAP, но не се използва за идентификация. Ако DN се промени, промените ще бъдат намерени. Вътрешното име на потребител се използва навсякъде. Изчистването на съпоставянията ще има остатъци навсякъде. Изчистването на съпоставянията не е чувствително към конфигурацията, засяга всички LDAP конфигурации! Никога не изчиствайте съпоставянията в производствена среда, само в тестов или експериментален етап.",
"Clear Username-LDAP User Mapping" : "Изчистване на име на потребител-LDAP Потребителско съпоставяне ",
- "Clear Groupname-LDAP Group Mapping" : "Изчистване на име на група-LDAP Потребителско съпоставяне "
+ "Clear Groupname-LDAP Group Mapping" : "Изчистване на име на група-LDAP Потребителско съпоставяне ",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "По подразбиране вътрешното име на потребител ще бъде създадено от атрибута UUID. Той гарантира, че името на потребител е уникално и знаците не трябва да се преобразуват. Вътрешното име на потребител има ограничението, че са позволени само тези знаци: [a-zA-Z0-9_.@-]. Други знаци се заменят с тяхното ASCII съответствие или просто се пропускат. При сблъсъци числото ще бъде добавено/увеличено. Вътрешното име на потребител се използва за вътрешно идентифициране на потребител. Това също е името по подразбиране за домашната папка на потребителя. Той също така е част от отдалечени URL адреси, например за всички *DAV услуги. С тази настройка поведението по подразбиране може да бъде отменено. Промените ще имат ефект само върху ново съпоставени (добавени) потребители на LDAP. Оставете го празно за поведение по подразбиране. "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/cs.js b/apps/user_ldap/l10n/cs.js
index e36af01cfc4..4d13522f8a4 100644
--- a/apps/user_ldap/l10n/cs.js
+++ b/apps/user_ldap/l10n/cs.js
@@ -180,7 +180,7 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "Výplňová kolonka „$home“",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home bude v nastavení externího úložiště nahrazeno hodnotou zadaného atributu",
"Internal Username" : "Interní uživatelské jméno",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Ve výchozím nastavení bude interní uživatelské jméno vytvořeno z atributu UUID. To zajišťuje, že je uživatelské jméno unikátní a znaky nemusí být převáděny. Interní uživatelské jméno má omezení, podle kterého jsou povoleny jen následující znaky [ a-zA-Z0-9_.@- ]. Ostatní znaky jsou nahrazeny jejich protějšky z ASCII nebo prostě vynechány. Při konfliktech bude přidáno/zvýšeno číslo. Interní uživatelské jméno slouží pro interní identifikaci uživatele. Je také výchozím názvem domovského adresáře uživatele. Je také součástí URL, např. pro služby *DAV. Tímto nastavením může být výchozí chování změněno. Změny se projeví pouze u nově namapovaných (přidaných) uživatelů LDAP. Ponechte ho prázdné, pokud chcete zachovat výchozí nastavení. ",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Ve výchozím nastavení bude interní uživatelské jméno vytvořeno z atributu UUID. To zajišťuje, že je uživatelské jméno unikátní a znaky nemusí být převáděny. Interní uživatelské jméno má omezení, podle kterého jsou povoleny jen následující znaky [ a-zA-Z0-9_.@- ]. Ostatní znaky jsou nahrazeny jejich protějšky z ASCII nebo prostě vynechány. Při konfliktech bude přidáno/zvýšeno číslo. Interní uživatelské jméno slouží pro interní identifikaci uživatele. Je také výchozím názvem domovského adresáře uživatele. Je také součástí URL, např. pro služby *DAV. Tímto nastavením může být výchozí chování změněno. Změny se projeví pouze u nově namapovaných (přidaných) uživatelů LDAP. Ponechte ho prázdné, pokud chcete zachovat výchozí nastavení. ",
"Internal Username Attribute:" : "Atribut interního uživatelského jména:",
"Override UUID detection" : "Nastavit ručně UUID atribut",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Ve výchozím nastavení je UUID atribut nalezen automaticky. UUID atribut je používán pro nezpochybnitelnou identifikaci uživatelů a skupin z LDAP. Navíc je na základě UUID tvořeno také interní uživatelské jméno, pokud není nastaveno jinak. Můžete výchozí nastavení přepsat a použít atribut, který sami zvolíte. Musíte se ale ujistit, že atribut, který vyberete, bude uveden jak u uživatelů, tak i u skupin a je unikátní. Ponechte prázdné pro výchozí chování. Změna bude mít vliv jen na nově namapované (přidané) uživatele a skupiny z LDAP.",
@@ -189,6 +189,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Mapování uživatelských jmen z LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Uživatelská jména slouží k ukládání a přiřazování metadat. Pro přesnou identifikaci a rozpoznávání uživatelů, každý LDAP uživatel má vnitřní uživatelské jméno. Toto vyžaduje mapování uživatelského jména na LDAP uživatele. Krom toho je uložen do mezipaměti rozlišený název aby se omezila interakce s LDAP, ale není používáno pro identifikaci. Pokud se DN změní, změny budou nalezeny. Vnitřní uživatelské jméno bude použito nade všechno. Čištění mapování bude mít pozůstatky všude. Čištění mapování není citlivé na nastavení, postihuje všechny LDAP nastavení. Nikdy nečistěte mapování v produkčním prostředí, pouze v testovací nebo experimentální fázi.",
"Clear Username-LDAP User Mapping" : "Zrušit mapování uživatelských jmen LDAPu",
- "Clear Groupname-LDAP Group Mapping" : "Zrušit mapování názvů skupin LDAPu"
+ "Clear Groupname-LDAP Group Mapping" : "Zrušit mapování názvů skupin LDAPu",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Ve výchozím nastavení bude interní uživatelské jméno vytvořeno z atributu UUID. To zajišťuje, že je uživatelské jméno unikátní a znaky nemusí být převáděny. Interní uživatelské jméno má omezení, podle kterého jsou povoleny jen následující znaky [ a-zA-Z0-9_.@- ]. Ostatní znaky jsou nahrazeny jejich protějšky z ASCII nebo prostě vynechány. Při konfliktech bude přidáno/zvýšeno číslo. Interní uživatelské jméno slouží pro interní identifikaci uživatele. Je také výchozím názvem domovského adresáře uživatele. Je také součástí URL, např. pro služby *DAV. Tímto nastavením může být výchozí chování změněno. Změny se projeví pouze u nově namapovaných (přidaných) uživatelů LDAP. Ponechte ho prázdné, pokud chcete zachovat výchozí nastavení. "
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
diff --git a/apps/user_ldap/l10n/cs.json b/apps/user_ldap/l10n/cs.json
index b5191689c99..635e76669b5 100644
--- a/apps/user_ldap/l10n/cs.json
+++ b/apps/user_ldap/l10n/cs.json
@@ -178,7 +178,7 @@
"\"$home\" Placeholder Field" : "Výplňová kolonka „$home“",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home bude v nastavení externího úložiště nahrazeno hodnotou zadaného atributu",
"Internal Username" : "Interní uživatelské jméno",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Ve výchozím nastavení bude interní uživatelské jméno vytvořeno z atributu UUID. To zajišťuje, že je uživatelské jméno unikátní a znaky nemusí být převáděny. Interní uživatelské jméno má omezení, podle kterého jsou povoleny jen následující znaky [ a-zA-Z0-9_.@- ]. Ostatní znaky jsou nahrazeny jejich protějšky z ASCII nebo prostě vynechány. Při konfliktech bude přidáno/zvýšeno číslo. Interní uživatelské jméno slouží pro interní identifikaci uživatele. Je také výchozím názvem domovského adresáře uživatele. Je také součástí URL, např. pro služby *DAV. Tímto nastavením může být výchozí chování změněno. Změny se projeví pouze u nově namapovaných (přidaných) uživatelů LDAP. Ponechte ho prázdné, pokud chcete zachovat výchozí nastavení. ",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Ve výchozím nastavení bude interní uživatelské jméno vytvořeno z atributu UUID. To zajišťuje, že je uživatelské jméno unikátní a znaky nemusí být převáděny. Interní uživatelské jméno má omezení, podle kterého jsou povoleny jen následující znaky [ a-zA-Z0-9_.@- ]. Ostatní znaky jsou nahrazeny jejich protějšky z ASCII nebo prostě vynechány. Při konfliktech bude přidáno/zvýšeno číslo. Interní uživatelské jméno slouží pro interní identifikaci uživatele. Je také výchozím názvem domovského adresáře uživatele. Je také součástí URL, např. pro služby *DAV. Tímto nastavením může být výchozí chování změněno. Změny se projeví pouze u nově namapovaných (přidaných) uživatelů LDAP. Ponechte ho prázdné, pokud chcete zachovat výchozí nastavení. ",
"Internal Username Attribute:" : "Atribut interního uživatelského jména:",
"Override UUID detection" : "Nastavit ručně UUID atribut",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Ve výchozím nastavení je UUID atribut nalezen automaticky. UUID atribut je používán pro nezpochybnitelnou identifikaci uživatelů a skupin z LDAP. Navíc je na základě UUID tvořeno také interní uživatelské jméno, pokud není nastaveno jinak. Můžete výchozí nastavení přepsat a použít atribut, který sami zvolíte. Musíte se ale ujistit, že atribut, který vyberete, bude uveden jak u uživatelů, tak i u skupin a je unikátní. Ponechte prázdné pro výchozí chování. Změna bude mít vliv jen na nově namapované (přidané) uživatele a skupiny z LDAP.",
@@ -187,6 +187,7 @@
"Username-LDAP User Mapping" : "Mapování uživatelských jmen z LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Uživatelská jména slouží k ukládání a přiřazování metadat. Pro přesnou identifikaci a rozpoznávání uživatelů, každý LDAP uživatel má vnitřní uživatelské jméno. Toto vyžaduje mapování uživatelského jména na LDAP uživatele. Krom toho je uložen do mezipaměti rozlišený název aby se omezila interakce s LDAP, ale není používáno pro identifikaci. Pokud se DN změní, změny budou nalezeny. Vnitřní uživatelské jméno bude použito nade všechno. Čištění mapování bude mít pozůstatky všude. Čištění mapování není citlivé na nastavení, postihuje všechny LDAP nastavení. Nikdy nečistěte mapování v produkčním prostředí, pouze v testovací nebo experimentální fázi.",
"Clear Username-LDAP User Mapping" : "Zrušit mapování uživatelských jmen LDAPu",
- "Clear Groupname-LDAP Group Mapping" : "Zrušit mapování názvů skupin LDAPu"
+ "Clear Groupname-LDAP Group Mapping" : "Zrušit mapování názvů skupin LDAPu",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Ve výchozím nastavení bude interní uživatelské jméno vytvořeno z atributu UUID. To zajišťuje, že je uživatelské jméno unikátní a znaky nemusí být převáděny. Interní uživatelské jméno má omezení, podle kterého jsou povoleny jen následující znaky [ a-zA-Z0-9_.@- ]. Ostatní znaky jsou nahrazeny jejich protějšky z ASCII nebo prostě vynechány. Při konfliktech bude přidáno/zvýšeno číslo. Interní uživatelské jméno slouží pro interní identifikaci uživatele. Je také výchozím názvem domovského adresáře uživatele. Je také součástí URL, např. pro služby *DAV. Tímto nastavením může být výchozí chování změněno. Změny se projeví pouze u nově namapovaných (přidaných) uživatelů LDAP. Ponechte ho prázdné, pokud chcete zachovat výchozí nastavení. "
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/de.js b/apps/user_ldap/l10n/de.js
index 9f62953bc83..083809ef2b3 100644
--- a/apps/user_ldap/l10n/de.js
+++ b/apps/user_ldap/l10n/de.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" Platzhalter-Feld",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in der Konfiguration eines extern angeschlossenen Speichers wird mit dem Wert des angegebenen Attributs ersetzt",
"Internal Username" : "Interner Benutzername",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standardmäßig wird der interne Benutzername aus dem UUID-Attribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [a-zA-Z0-9_.@-]. Andere Zeichen werden durch ihre ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um den Benutzer intern zu identifizieren. Er ist außerdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. Für die Standardeinstellung lasse das Eingabefeld leer.",
"Internal Username Attribute:" : "Attribut für interne Benutzernamen:",
"Override UUID detection" : "UUID-Erkennung überschreiben",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Standardmäßig wird die UUID-Eigenschaft automatisch erkannt. Die UUID-Eigenschaft wird genutzt, um einen LDAP-Benutzer und Gruppen einwandfrei zu identifizieren. Außerdem wird der interne Benutzername erzeugt, der auf Eigenschaften der UUID basiert, wenn es oben nicht anders angegeben wurde. Es muss allerdings sichergestellt werden, dass die gewählten Eigenschaften zur Identifikation der Benutzer und Gruppen eindeutig sind und zugeordnet werden können. Freilassen, um es beim Standardverhalten zu belassen. Änderungen wirken sich nur auf neu »gemappte« (hinzugefügte) LDAP-Benutzer und -Gruppen aus.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "LDAP-Benutzernamenzuordnung",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Die Benutzernamen werden genutzt, um Metadaten zuzuordnen und zu speichern. Um Benutzer eindeutig und präzise zu identifizieren, hat jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung des Benutzernamens zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzernamens zugeordnet. Zusätzlich wird der DN zwischengespeichert, um die Interaktion mit dem LDAP zu minimieren, was aber nicht der Identifikation dient. Ändert sich der DN, werden die Änderungen gefunden. Der interne Benutzername wird überall verwendet. Werden die Zuordnungen gelöscht, bleiben überall Reste zurück. Die Löschung der Zuordnungen kann nicht in der Konfiguration vorgenommen werden, beeinflusst aber die LDAP-Konfiguration! Lösche niemals die Zuordnungen in einer produktiven Umgebung. Lösche die Zuordnungen nur in einer Test- oder Experimentierumgebung.",
"Clear Username-LDAP User Mapping" : "LDAP-Benutzernamenzuordnung löschen",
- "Clear Groupname-LDAP Group Mapping" : "LDAP-Gruppennamenzuordnung löschen"
+ "Clear Groupname-LDAP Group Mapping" : "LDAP-Gruppennamenzuordnung löschen",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standardmäßig wird der interne Benutzername aus dem UUID-Attribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [a-zA-Z0-9_.@-]. Andere Zeichen werden durch ihre ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um den Benutzer intern zu identifizieren. Er ist außerdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. Für die Standardeinstellung lasse das Eingabefeld leer."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/de.json b/apps/user_ldap/l10n/de.json
index 69aff22b52e..bde16ec3667 100644
--- a/apps/user_ldap/l10n/de.json
+++ b/apps/user_ldap/l10n/de.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "\"$home\" Platzhalter-Feld",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in der Konfiguration eines extern angeschlossenen Speichers wird mit dem Wert des angegebenen Attributs ersetzt",
"Internal Username" : "Interner Benutzername",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standardmäßig wird der interne Benutzername aus dem UUID-Attribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [a-zA-Z0-9_.@-]. Andere Zeichen werden durch ihre ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um den Benutzer intern zu identifizieren. Er ist außerdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. Für die Standardeinstellung lasse das Eingabefeld leer.",
"Internal Username Attribute:" : "Attribut für interne Benutzernamen:",
"Override UUID detection" : "UUID-Erkennung überschreiben",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Standardmäßig wird die UUID-Eigenschaft automatisch erkannt. Die UUID-Eigenschaft wird genutzt, um einen LDAP-Benutzer und Gruppen einwandfrei zu identifizieren. Außerdem wird der interne Benutzername erzeugt, der auf Eigenschaften der UUID basiert, wenn es oben nicht anders angegeben wurde. Es muss allerdings sichergestellt werden, dass die gewählten Eigenschaften zur Identifikation der Benutzer und Gruppen eindeutig sind und zugeordnet werden können. Freilassen, um es beim Standardverhalten zu belassen. Änderungen wirken sich nur auf neu »gemappte« (hinzugefügte) LDAP-Benutzer und -Gruppen aus.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "LDAP-Benutzernamenzuordnung",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Die Benutzernamen werden genutzt, um Metadaten zuzuordnen und zu speichern. Um Benutzer eindeutig und präzise zu identifizieren, hat jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung des Benutzernamens zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzernamens zugeordnet. Zusätzlich wird der DN zwischengespeichert, um die Interaktion mit dem LDAP zu minimieren, was aber nicht der Identifikation dient. Ändert sich der DN, werden die Änderungen gefunden. Der interne Benutzername wird überall verwendet. Werden die Zuordnungen gelöscht, bleiben überall Reste zurück. Die Löschung der Zuordnungen kann nicht in der Konfiguration vorgenommen werden, beeinflusst aber die LDAP-Konfiguration! Lösche niemals die Zuordnungen in einer produktiven Umgebung. Lösche die Zuordnungen nur in einer Test- oder Experimentierumgebung.",
"Clear Username-LDAP User Mapping" : "LDAP-Benutzernamenzuordnung löschen",
- "Clear Groupname-LDAP Group Mapping" : "LDAP-Gruppennamenzuordnung löschen"
+ "Clear Groupname-LDAP Group Mapping" : "LDAP-Gruppennamenzuordnung löschen",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standardmäßig wird der interne Benutzername aus dem UUID-Attribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [a-zA-Z0-9_.@-]. Andere Zeichen werden durch ihre ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um den Benutzer intern zu identifizieren. Er ist außerdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. Für die Standardeinstellung lasse das Eingabefeld leer."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/de_DE.js b/apps/user_ldap/l10n/de_DE.js
index 0234a8bfd3a..e4ef5ddcbb5 100644
--- a/apps/user_ldap/l10n/de_DE.js
+++ b/apps/user_ldap/l10n/de_DE.js
@@ -180,7 +180,7 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" Platzhalter-Feld",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in der Konfiguration eines extern angeschlossenen Speichers wird mit dem Wert des angegebenen Attributs ersetzt",
"Internal Username" : "Interner Benutzername",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standardmäßig wird der interne Benutzername aus dem UUID-Attribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [a-zA-Z0-9_.@-]. Andere Zeichen werden durch ihre ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um den Benutzer intern zu identifizieren. Er ist außerdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. Für die Standardeinstellung lassen Sie das Eingabefeld leer.",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standardmäßig wird der interne Benutzername aus dem UUID-Attribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [a-zA-Z0-9_.@-]. Andere Zeichen werden durch ihre ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um den Benutzer intern zu identifizieren. Er ist außerdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. Für die Standardeinstellung lassen Sie das Eingabefeld leer.",
"Internal Username Attribute:" : "Interne Eigenschaften des Benutzers:",
"Override UUID detection" : "UUID-Erkennung überschreiben",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Standardmäßig wird die UUID-Eigenschaft automatisch erkannt. Die UUID-Eigenschaft wird genutzt, um einen LDAP-Benutzer und Gruppen einwandfrei zu identifizieren. Außerdem wird der interne Benutzername erzeugt, der auf Eigenschaften der UUID basiert, wenn es oben nicht anders angegeben wurde. Sie müssen allerdings sicherstellen, dass Ihre gewählten Eigenschaften zur Identifikation der Benutzer und Gruppen eindeutig sind und zugeordnet werden können. Lassen Sie es frei, um es beim Standardverhalten zu belassen. Änderungen wirken sich nur auf neu gemappte (hinzugefügte) LDAP-Benutzer und -Gruppen aus.",
@@ -189,6 +189,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "LDAP-Benutzernamenzuordnung",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Benutzernamen dienen zum Speichern und Zuweisen von Metadaten. Um Benutzer eindeutig zu identifizieren und zu erkennen, besitzt jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung des jeweiligen Benutzernamens zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzers zugeordnet. Darüber hinaus wird der DN auch zwischengespeichert, um die Interaktion über LDAP zu reduzieren, was aber nicht zur Identifikation dient. Ändert sich der DN, werden die Änderungen gefunden. Der interne Benutzername wird durchgängig verwendet. Ein Löschen der Zuordnungen führt zum systemweiten Verbleib von Restdaten. Es bleibt nicht auf eine einzelne Konfiguration beschränkt, sondern wirkt sich auf alle LDAP-Konfigurationen aus! Löschen Sie die Zuordnungen nie innerhalb einer Produktivumgebung, sondern nur in einer Test- oder Experimentierumgebung.",
"Clear Username-LDAP User Mapping" : "Lösche LDAP-Benutzernamenzuordnung",
- "Clear Groupname-LDAP Group Mapping" : "Lösche LDAP-Gruppennamenzuordnung"
+ "Clear Groupname-LDAP Group Mapping" : "Lösche LDAP-Gruppennamenzuordnung",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standardmäßig wird der interne Benutzername aus dem UUID-Attribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [a-zA-Z0-9_.@-]. Andere Zeichen werden durch ihre ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um den Benutzer intern zu identifizieren. Er ist außerdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. Für die Standardeinstellung lassen Sie das Eingabefeld leer."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/de_DE.json b/apps/user_ldap/l10n/de_DE.json
index 6d172cecc16..404b4b7e2c6 100644
--- a/apps/user_ldap/l10n/de_DE.json
+++ b/apps/user_ldap/l10n/de_DE.json
@@ -178,7 +178,7 @@
"\"$home\" Placeholder Field" : "\"$home\" Platzhalter-Feld",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in der Konfiguration eines extern angeschlossenen Speichers wird mit dem Wert des angegebenen Attributs ersetzt",
"Internal Username" : "Interner Benutzername",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standardmäßig wird der interne Benutzername aus dem UUID-Attribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [a-zA-Z0-9_.@-]. Andere Zeichen werden durch ihre ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um den Benutzer intern zu identifizieren. Er ist außerdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. Für die Standardeinstellung lassen Sie das Eingabefeld leer.",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standardmäßig wird der interne Benutzername aus dem UUID-Attribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [a-zA-Z0-9_.@-]. Andere Zeichen werden durch ihre ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um den Benutzer intern zu identifizieren. Er ist außerdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. Für die Standardeinstellung lassen Sie das Eingabefeld leer.",
"Internal Username Attribute:" : "Interne Eigenschaften des Benutzers:",
"Override UUID detection" : "UUID-Erkennung überschreiben",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Standardmäßig wird die UUID-Eigenschaft automatisch erkannt. Die UUID-Eigenschaft wird genutzt, um einen LDAP-Benutzer und Gruppen einwandfrei zu identifizieren. Außerdem wird der interne Benutzername erzeugt, der auf Eigenschaften der UUID basiert, wenn es oben nicht anders angegeben wurde. Sie müssen allerdings sicherstellen, dass Ihre gewählten Eigenschaften zur Identifikation der Benutzer und Gruppen eindeutig sind und zugeordnet werden können. Lassen Sie es frei, um es beim Standardverhalten zu belassen. Änderungen wirken sich nur auf neu gemappte (hinzugefügte) LDAP-Benutzer und -Gruppen aus.",
@@ -187,6 +187,7 @@
"Username-LDAP User Mapping" : "LDAP-Benutzernamenzuordnung",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Benutzernamen dienen zum Speichern und Zuweisen von Metadaten. Um Benutzer eindeutig zu identifizieren und zu erkennen, besitzt jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung des jeweiligen Benutzernamens zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzers zugeordnet. Darüber hinaus wird der DN auch zwischengespeichert, um die Interaktion über LDAP zu reduzieren, was aber nicht zur Identifikation dient. Ändert sich der DN, werden die Änderungen gefunden. Der interne Benutzername wird durchgängig verwendet. Ein Löschen der Zuordnungen führt zum systemweiten Verbleib von Restdaten. Es bleibt nicht auf eine einzelne Konfiguration beschränkt, sondern wirkt sich auf alle LDAP-Konfigurationen aus! Löschen Sie die Zuordnungen nie innerhalb einer Produktivumgebung, sondern nur in einer Test- oder Experimentierumgebung.",
"Clear Username-LDAP User Mapping" : "Lösche LDAP-Benutzernamenzuordnung",
- "Clear Groupname-LDAP Group Mapping" : "Lösche LDAP-Gruppennamenzuordnung"
+ "Clear Groupname-LDAP Group Mapping" : "Lösche LDAP-Gruppennamenzuordnung",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standardmäßig wird der interne Benutzername aus dem UUID-Attribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [a-zA-Z0-9_.@-]. Andere Zeichen werden durch ihre ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um den Benutzer intern zu identifizieren. Er ist außerdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. Für die Standardeinstellung lassen Sie das Eingabefeld leer."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/el.js b/apps/user_ldap/l10n/el.js
index c452e30a2ba..3995cb5f500 100644
--- a/apps/user_ldap/l10n/el.js
+++ b/apps/user_ldap/l10n/el.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" Πεδίο Δέσμευσης",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "Το $home σε μια ρύθμιση εξωτερικού χώρου αποθήκευσης θα αντικατασταθεί με την τιμή του καθορισμένου χαρακτηριστικού",
"Internal Username" : "Εσωτερικό Όνομα Χρήστη",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Το εσωτερικό όνομα χρήστη θα δημιουργηθεί από το UUID γνώρισμα από προεπιλογή. Αυτό εξασφαλίζει ότι το όνομα χρήστη είναι μοναδικό και οι χαρακτήρες δεν χρειάζεται να τροποποιηθούν. Το εσωτερικό όνομα χρήστη έχει τον περιορισμό της χρήσης μόνο των συγκεκριμένων χαρακτήρων: [a-zA-Z0-9_.@-]. Άλλοι χαρακτήρες αντικαθίστανται με τις ASCII αντιστοιχίες τους ή απλά απορρίπτονται. Σε περίπτωση σύγκρουσης ένας αριθμός θα προστεθεί/αυξηθεί. Το εσωτερικό όνομα χρήστη χρησιμοποιείται για την αναγνώριση ενός χρήστη εσωτερικά. Είναι επίσης το προεπιλεγμένο όνομα για τον φάκελο αρχικής του χρήστη. Είναι επιπλέον ένα μέρος απομακρυσμένων συνδέσμων, για παράδειγμα για όλες τις *DAV υπηρεσίες. Με αυτή τη ρύθμιση, η προεπιλεγμένη συμπεριφορά μπορεί να παρακαμφθεί. Τυχόν αλλαγές θα έχουν επίδραση μόνο σε νέους χαρτογραφημένους (εισαχθέντες) LDAP χρήστες. Αφήστε το κενό για την προεπιλεγμένη συμπεριφορά.",
"Internal Username Attribute:" : "Ιδιότητα Εσωτερικού Ονόματος Χρήστη:",
"Override UUID detection" : "Παράκαμψη ανίχνευσης UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Από προεπιλογή, το χαρακτηριστικό UUID εντοπίζεται αυτόματα. Το χαρακτηριστικό UUID χρησιμοποιείται για την αναγνώριση χωρίς αμφιβολία χρηστών και ομάδων LDAP. Επίσης, το εσωτερικό όνομα χρήστη θα δημιουργηθεί με βάση το UUID, εφόσον δεν ορίζεται διαφορετικά ανωτέρω. Μπορείτε να παρακάμψετε τη ρύθμιση και να ορίσετε ένα χαρακτηριστικό της επιλογής σας. Θα πρέπει να βεβαιωθείτε ότι το χαρακτηριστικό της επιλογής σας μπορεί να ληφθεί για τους χρήστες και τις ομάδες και ότι είναι μοναδικό. Αφήστε το κενό για την προεπιλεγμένη λειτουργία. Οι αλλαγές θα έχουν ισχύ μόνο σε πρόσφατα αντιστοιχισμένους (προστιθέμενους) χρήστες και ομάδες LDAP.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Αντιστοίχιση Χρηστών Όνομα Χρήστη-LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Τα ονόματα χρηστών χρησιμοποιούνται για την αποθήκευση και την εκχώρηση μεταδεδομένων. Προκειμένου να εντοπιστούν και να αναγνωριστούν με ακρίβεια οι χρήστες, κάθε ένας του LDAP θα έχει ένα εσωτερικό όνομα. Αυτό απαιτεί μια αντιστοίχιση από όνομα χρήστη σε χρήστη LDAP. Το τελικό όνομα χρήστη αντιστοιχίζεται στο UUID του χρήστη LDAP. Επιπλέον, αποθηκεύεται προσωρινά το DN για τη μείωση της αλληλεπίδρασης LDAP, αλλά δεν χρησιμοποιείται για αναγνώριση. Εάν αλλάξει το DN, οι αλλαγές θα βρεθούν. Το εσωτερικό όνομα χρήστη χρησιμοποιείται παντού. Η εκκαθάριση των αντιστοιχίσεων θα έχει υπολείμματα παντού. Η εκκαθάριση των αντιστοιχιών δεν είναι ευαίσθητη στη διαμόρφωση, επηρεάζει όλες τις διαμορφώσεις LDAP! Μην εκκαθαρίζετε ποτέ τις αντιστοιχίσεις σε τρέχων σύστημα, μόνο σε δοκιμαστικό ή πειραματικό στάδιο.",
"Clear Username-LDAP User Mapping" : "Διαγραφή αντιστοίχησης Ονόματος Χρήστη LDAP-Χρήστη",
- "Clear Groupname-LDAP Group Mapping" : "Διαγραφή αντιστοίχησης Ονόματος Ομάδας-LDAP Ομάδας"
+ "Clear Groupname-LDAP Group Mapping" : "Διαγραφή αντιστοίχησης Ονόματος Ομάδας-LDAP Ομάδας",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Το εσωτερικό όνομα χρήστη θα δημιουργηθεί από το UUID γνώρισμα από προεπιλογή. Αυτό εξασφαλίζει ότι το όνομα χρήστη είναι μοναδικό και οι χαρακτήρες δεν χρειάζεται να τροποποιηθούν. Το εσωτερικό όνομα χρήστη έχει τον περιορισμό της χρήσης μόνο των συγκεκριμένων χαρακτήρων: [a-zA-Z0-9_.@-]. Άλλοι χαρακτήρες αντικαθίστανται με τις ASCII αντιστοιχίες τους ή απλά απορρίπτονται. Σε περίπτωση σύγκρουσης ένας αριθμός θα προστεθεί/αυξηθεί. Το εσωτερικό όνομα χρήστη χρησιμοποιείται για την αναγνώριση ενός χρήστη εσωτερικά. Είναι επίσης το προεπιλεγμένο όνομα για τον φάκελο αρχικής του χρήστη. Είναι επιπλέον ένα μέρος απομακρυσμένων συνδέσμων, για παράδειγμα για όλες τις *DAV υπηρεσίες. Με αυτή τη ρύθμιση, η προεπιλεγμένη συμπεριφορά μπορεί να παρακαμφθεί. Τυχόν αλλαγές θα έχουν επίδραση μόνο σε νέους χαρτογραφημένους (εισαχθέντες) LDAP χρήστες. Αφήστε το κενό για την προεπιλεγμένη συμπεριφορά."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/el.json b/apps/user_ldap/l10n/el.json
index cacf41c0ac7..cd40904a2d4 100644
--- a/apps/user_ldap/l10n/el.json
+++ b/apps/user_ldap/l10n/el.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "\"$home\" Πεδίο Δέσμευσης",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "Το $home σε μια ρύθμιση εξωτερικού χώρου αποθήκευσης θα αντικατασταθεί με την τιμή του καθορισμένου χαρακτηριστικού",
"Internal Username" : "Εσωτερικό Όνομα Χρήστη",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Το εσωτερικό όνομα χρήστη θα δημιουργηθεί από το UUID γνώρισμα από προεπιλογή. Αυτό εξασφαλίζει ότι το όνομα χρήστη είναι μοναδικό και οι χαρακτήρες δεν χρειάζεται να τροποποιηθούν. Το εσωτερικό όνομα χρήστη έχει τον περιορισμό της χρήσης μόνο των συγκεκριμένων χαρακτήρων: [a-zA-Z0-9_.@-]. Άλλοι χαρακτήρες αντικαθίστανται με τις ASCII αντιστοιχίες τους ή απλά απορρίπτονται. Σε περίπτωση σύγκρουσης ένας αριθμός θα προστεθεί/αυξηθεί. Το εσωτερικό όνομα χρήστη χρησιμοποιείται για την αναγνώριση ενός χρήστη εσωτερικά. Είναι επίσης το προεπιλεγμένο όνομα για τον φάκελο αρχικής του χρήστη. Είναι επιπλέον ένα μέρος απομακρυσμένων συνδέσμων, για παράδειγμα για όλες τις *DAV υπηρεσίες. Με αυτή τη ρύθμιση, η προεπιλεγμένη συμπεριφορά μπορεί να παρακαμφθεί. Τυχόν αλλαγές θα έχουν επίδραση μόνο σε νέους χαρτογραφημένους (εισαχθέντες) LDAP χρήστες. Αφήστε το κενό για την προεπιλεγμένη συμπεριφορά.",
"Internal Username Attribute:" : "Ιδιότητα Εσωτερικού Ονόματος Χρήστη:",
"Override UUID detection" : "Παράκαμψη ανίχνευσης UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Από προεπιλογή, το χαρακτηριστικό UUID εντοπίζεται αυτόματα. Το χαρακτηριστικό UUID χρησιμοποιείται για την αναγνώριση χωρίς αμφιβολία χρηστών και ομάδων LDAP. Επίσης, το εσωτερικό όνομα χρήστη θα δημιουργηθεί με βάση το UUID, εφόσον δεν ορίζεται διαφορετικά ανωτέρω. Μπορείτε να παρακάμψετε τη ρύθμιση και να ορίσετε ένα χαρακτηριστικό της επιλογής σας. Θα πρέπει να βεβαιωθείτε ότι το χαρακτηριστικό της επιλογής σας μπορεί να ληφθεί για τους χρήστες και τις ομάδες και ότι είναι μοναδικό. Αφήστε το κενό για την προεπιλεγμένη λειτουργία. Οι αλλαγές θα έχουν ισχύ μόνο σε πρόσφατα αντιστοιχισμένους (προστιθέμενους) χρήστες και ομάδες LDAP.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Αντιστοίχιση Χρηστών Όνομα Χρήστη-LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Τα ονόματα χρηστών χρησιμοποιούνται για την αποθήκευση και την εκχώρηση μεταδεδομένων. Προκειμένου να εντοπιστούν και να αναγνωριστούν με ακρίβεια οι χρήστες, κάθε ένας του LDAP θα έχει ένα εσωτερικό όνομα. Αυτό απαιτεί μια αντιστοίχιση από όνομα χρήστη σε χρήστη LDAP. Το τελικό όνομα χρήστη αντιστοιχίζεται στο UUID του χρήστη LDAP. Επιπλέον, αποθηκεύεται προσωρινά το DN για τη μείωση της αλληλεπίδρασης LDAP, αλλά δεν χρησιμοποιείται για αναγνώριση. Εάν αλλάξει το DN, οι αλλαγές θα βρεθούν. Το εσωτερικό όνομα χρήστη χρησιμοποιείται παντού. Η εκκαθάριση των αντιστοιχίσεων θα έχει υπολείμματα παντού. Η εκκαθάριση των αντιστοιχιών δεν είναι ευαίσθητη στη διαμόρφωση, επηρεάζει όλες τις διαμορφώσεις LDAP! Μην εκκαθαρίζετε ποτέ τις αντιστοιχίσεις σε τρέχων σύστημα, μόνο σε δοκιμαστικό ή πειραματικό στάδιο.",
"Clear Username-LDAP User Mapping" : "Διαγραφή αντιστοίχησης Ονόματος Χρήστη LDAP-Χρήστη",
- "Clear Groupname-LDAP Group Mapping" : "Διαγραφή αντιστοίχησης Ονόματος Ομάδας-LDAP Ομάδας"
+ "Clear Groupname-LDAP Group Mapping" : "Διαγραφή αντιστοίχησης Ονόματος Ομάδας-LDAP Ομάδας",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Το εσωτερικό όνομα χρήστη θα δημιουργηθεί από το UUID γνώρισμα από προεπιλογή. Αυτό εξασφαλίζει ότι το όνομα χρήστη είναι μοναδικό και οι χαρακτήρες δεν χρειάζεται να τροποποιηθούν. Το εσωτερικό όνομα χρήστη έχει τον περιορισμό της χρήσης μόνο των συγκεκριμένων χαρακτήρων: [a-zA-Z0-9_.@-]. Άλλοι χαρακτήρες αντικαθίστανται με τις ASCII αντιστοιχίες τους ή απλά απορρίπτονται. Σε περίπτωση σύγκρουσης ένας αριθμός θα προστεθεί/αυξηθεί. Το εσωτερικό όνομα χρήστη χρησιμοποιείται για την αναγνώριση ενός χρήστη εσωτερικά. Είναι επίσης το προεπιλεγμένο όνομα για τον φάκελο αρχικής του χρήστη. Είναι επιπλέον ένα μέρος απομακρυσμένων συνδέσμων, για παράδειγμα για όλες τις *DAV υπηρεσίες. Με αυτή τη ρύθμιση, η προεπιλεγμένη συμπεριφορά μπορεί να παρακαμφθεί. Τυχόν αλλαγές θα έχουν επίδραση μόνο σε νέους χαρτογραφημένους (εισαχθέντες) LDAP χρήστες. Αφήστε το κενό για την προεπιλεγμένη συμπεριφορά."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/es.js b/apps/user_ldap/l10n/es.js
index 570adbd7949..8dcc735dde1 100644
--- a/apps/user_ldap/l10n/es.js
+++ b/apps/user_ldap/l10n/es.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "Campo reservado \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home en una configuración de almacenamiento externo será reemplazado con el valor del atributo especificado",
"Internal Username" : "Nombre de usuario interno",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Por defecto, el nombre de usuario interno será creado a partir del atributo UUID. Esto asegura que el nombre de usuario es único y no se necesita convertir los caracteres. El nombre de usuario interno tiene la restricción de que solo se admiten estos caracteres: [ a-zA-Z0-9_.@- ]. Otros caracteres son reemplazados por su correspondencia ASCII o simplemente omitidos. En caso de colisiones se añadirá/incrementará un número. El nombre de usuario interno se usa para identificar internamente a un usuario. Es también el nombre por defecto de la carpeta de inicio del usuario. También es parte de las URL remotas, por ejemplo para todos los servicios *DAV. Con esta configuración, se puede anular el comportamiento por defecto. Los cambios tendrán efecto solo en usuarios LDAP mapeados (añadidos) después del cambio. Déjelo vacío para usar el comportamiento por defecto.",
"Internal Username Attribute:" : "Atributo de nombre de usuario interno:",
"Override UUID detection" : "Sobrescribir la detección UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Por defecto, el atributo UUID es autodetectado. Este atributo es usado para identificar sin dudas a usuarios y grupos LDAP. Además, el nombre de usuario interno será creado basado en el UUID, si no ha sido especificado otro comportamiento arriba. Puedes sobrescribir la configuración y pasar un atributo de tu elección. Debes asegurarte de que el atributo de tu elección sea accesible por los usuarios y grupos y ser único. Déjalo en blanco para usar el comportamiento por defecto. Los cambios tendrán efecto solo en los usuarios y grupos de LDAP mapeados (añadidos) recientemente.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Asignación del Nombre de usuario de un usuario LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Los nombres de usuario se usan para almacenar y asignar metadatos. Para identificar y reconocer con precisión a los usuarios, cada usuario de LDAP tendrá un nombre de usuario interno. Esto requiere una asignación de nombre de usuario a usuario de LDAP. El nombre de usuario creado se asigna al UUID del usuario de LDAP. Además, el DN también se almacena en caché para reducir la interacción de LDAP, pero no se utiliza para la identificación. Si el DN cambia, se encontrarán los cambios. El nombre de usuario interno se usa en todas partes. Limpiar las asignaciones tendrá sobras en todas partes. ¡Borrar las asignaciones no es sensible a la configuración, afecta todas las configuraciones de LDAP! Nunca borre las asignaciones en un entorno de producción, solo en una etapa de prueba o experimental.",
"Clear Username-LDAP User Mapping" : "Borrar la asignación de los Nombres de usuario de los usuarios LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Borrar la asignación de los Nombres de grupo de los grupos de LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Borrar la asignación de los Nombres de grupo de los grupos de LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Por defecto, el nombre de usuario interno será creado a partir del atributo UUID. Esto asegura que el nombre de usuario es único y no se necesita convertir los caracteres. El nombre de usuario interno tiene la restricción de que solo se admiten estos caracteres: [ a-zA-Z0-9_.@- ]. Otros caracteres son reemplazados por su correspondencia ASCII o simplemente omitidos. En caso de colisiones se añadirá/incrementará un número. El nombre de usuario interno se usa para identificar internamente a un usuario. Es también el nombre por defecto de la carpeta de inicio del usuario. También es parte de las URL remotas, por ejemplo para todos los servicios *DAV. Con esta configuración, se puede anular el comportamiento por defecto. Los cambios tendrán efecto solo en usuarios LDAP mapeados (añadidos) después del cambio. Déjelo vacío para usar el comportamiento por defecto."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/es.json b/apps/user_ldap/l10n/es.json
index cd291991548..3edcbbac871 100644
--- a/apps/user_ldap/l10n/es.json
+++ b/apps/user_ldap/l10n/es.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "Campo reservado \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home en una configuración de almacenamiento externo será reemplazado con el valor del atributo especificado",
"Internal Username" : "Nombre de usuario interno",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Por defecto, el nombre de usuario interno será creado a partir del atributo UUID. Esto asegura que el nombre de usuario es único y no se necesita convertir los caracteres. El nombre de usuario interno tiene la restricción de que solo se admiten estos caracteres: [ a-zA-Z0-9_.@- ]. Otros caracteres son reemplazados por su correspondencia ASCII o simplemente omitidos. En caso de colisiones se añadirá/incrementará un número. El nombre de usuario interno se usa para identificar internamente a un usuario. Es también el nombre por defecto de la carpeta de inicio del usuario. También es parte de las URL remotas, por ejemplo para todos los servicios *DAV. Con esta configuración, se puede anular el comportamiento por defecto. Los cambios tendrán efecto solo en usuarios LDAP mapeados (añadidos) después del cambio. Déjelo vacío para usar el comportamiento por defecto.",
"Internal Username Attribute:" : "Atributo de nombre de usuario interno:",
"Override UUID detection" : "Sobrescribir la detección UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Por defecto, el atributo UUID es autodetectado. Este atributo es usado para identificar sin dudas a usuarios y grupos LDAP. Además, el nombre de usuario interno será creado basado en el UUID, si no ha sido especificado otro comportamiento arriba. Puedes sobrescribir la configuración y pasar un atributo de tu elección. Debes asegurarte de que el atributo de tu elección sea accesible por los usuarios y grupos y ser único. Déjalo en blanco para usar el comportamiento por defecto. Los cambios tendrán efecto solo en los usuarios y grupos de LDAP mapeados (añadidos) recientemente.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Asignación del Nombre de usuario de un usuario LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Los nombres de usuario se usan para almacenar y asignar metadatos. Para identificar y reconocer con precisión a los usuarios, cada usuario de LDAP tendrá un nombre de usuario interno. Esto requiere una asignación de nombre de usuario a usuario de LDAP. El nombre de usuario creado se asigna al UUID del usuario de LDAP. Además, el DN también se almacena en caché para reducir la interacción de LDAP, pero no se utiliza para la identificación. Si el DN cambia, se encontrarán los cambios. El nombre de usuario interno se usa en todas partes. Limpiar las asignaciones tendrá sobras en todas partes. ¡Borrar las asignaciones no es sensible a la configuración, afecta todas las configuraciones de LDAP! Nunca borre las asignaciones en un entorno de producción, solo en una etapa de prueba o experimental.",
"Clear Username-LDAP User Mapping" : "Borrar la asignación de los Nombres de usuario de los usuarios LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Borrar la asignación de los Nombres de grupo de los grupos de LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Borrar la asignación de los Nombres de grupo de los grupos de LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Por defecto, el nombre de usuario interno será creado a partir del atributo UUID. Esto asegura que el nombre de usuario es único y no se necesita convertir los caracteres. El nombre de usuario interno tiene la restricción de que solo se admiten estos caracteres: [ a-zA-Z0-9_.@- ]. Otros caracteres son reemplazados por su correspondencia ASCII o simplemente omitidos. En caso de colisiones se añadirá/incrementará un número. El nombre de usuario interno se usa para identificar internamente a un usuario. Es también el nombre por defecto de la carpeta de inicio del usuario. También es parte de las URL remotas, por ejemplo para todos los servicios *DAV. Con esta configuración, se puede anular el comportamiento por defecto. Los cambios tendrán efecto solo en usuarios LDAP mapeados (añadidos) después del cambio. Déjelo vacío para usar el comportamiento por defecto."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/eu.js b/apps/user_ldap/l10n/eu.js
index 64cfdac7f8f..8aaed643d67 100644
--- a/apps/user_ldap/l10n/eu.js
+++ b/apps/user_ldap/l10n/eu.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" Leku-markaren eremua",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home kanpoko biltegiratze konfigurazio batean zehaztutako atributuaren balioarekin ordezkatuko da",
"Internal Username" : "Barneko erabiltzaile izena",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Modu lehenetsian barneko erabiltzaile-izena UUID atribututik sortuko da. Honek erabiltzaile-izena bakarra dela eta karaktereak bihurtu behar ez direla ziurtatzen du. Barneko erabiltzaile-izenak karaktere hauek soilik izan ditzake: [ a-zA-Z0-9_.@- ]. Beste karaktereak haien ASCII karaktereekin bihurtu edo guztiz kentzen dira. Kolisioa gertatzen den kasuetan zenbaki bat gehitu edo handituko da. Barneko erabiltzaile-izena erabiltzaile bat barnean identifikatzeko erabiltzen da. Erabiltzailearen etxeko karpetaren izen lehenetsia ere da. Kanpoko URLen parte ere da, adibidez *DAV zerbitzu guztientzako. Ezarpen honekin, lehenetsitako portaera aldatu daiteke. Aldaketek mapatutako (gehitutako) LDAP erabiltzaile berriengan soilik izango du efektua. Utzi hutsik lehenetsitako portaerarako. ",
"Internal Username Attribute:" : "Baliogabeko Erabiltzaile Izen atributua",
"Override UUID detection" : "Gainidatzi UUID antzematea",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Era lehenetsian, UUID atributua automatikoki atzematen da. UUID atributua LDAP erabiltzaleak eta taldeak dudik gabe identifikatzeko erabiltzen da. Gainera, barneko erabiltzaile-izena UUID atributuan oinarritua sortuko da bestelakorik zehazten ez bada. Ezarpenak alda daitezke eta bestelako atributua jar daiteke. Ziur egon behar duzu hautatzen duzun atributua erabiltzaile eta taldeek eskura dezaketela eta bakarra dela. Jokabide lehenetsi gisa utz ezazu hutsik. Aldaketok soilik LDAP-n mapeatuko (gehituko) diren erabiltzaile eta taldeei eragingo die.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "LDAP-erabiltzaile-izena erabiltzailearen mapeatzea",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Erabiltzaile izenak metadatuak gordetzeko eta esleitzeko erabiltzen dira. Erabiltzaileak zehazki identifikatu eta ezagutzeko, LDAP erabiltzaile bakoitzak barne erabiltzaile izena izango du. Horretarako, erabiltzaile izenetik LDAP erabiltzailearen mapaketa egin behar da. Sortutako erabiltzaile izena LDAP erabiltzailearen UUIDarekin mapatuta dago. Gainera, DNa cache-an gordetzen da LDAP elkarreragina murrizteko, baina ez da identifikaziorako erabiltzen. DNa aldatzen bada, aldaketak topatuko dira. Barne erabiltzaile izena toki guztietan erabiltzen da. Kartografiak garbitzeak hondarrak izango ditu nonahi. Kartografiak garbitzea ez da konfigurazioarekiko sentikorra, LDAP konfigurazio guztiei eragiten die! Ez garbitu inoiz mapak ekoizpen-ingurune batean, soilik proba edo fase esperimental batean.",
"Clear Username-LDAP User Mapping" : "Garbitu LDAP-erabiltzaile-izenaren erabiltzaile mapaketa",
- "Clear Groupname-LDAP Group Mapping" : "Garbitu LDAP-talde-izenaren talde mapaketa"
+ "Clear Groupname-LDAP Group Mapping" : "Garbitu LDAP-talde-izenaren talde mapaketa",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Modu lehenetsian barneko erabiltzaile-izena UUID atribututik sortuko da. Honek erabiltzaile-izena bakarra dela eta karaktereak bihurtu behar ez direla ziurtatzen du. Barneko erabiltzaile-izenak karaktere hauek soilik izan ditzake: [ a-zA-Z0-9_.@- ]. Beste karaktereak haien ASCII karaktereekin bihurtu edo guztiz kentzen dira. Kolisioa gertatzen den kasuetan zenbaki bat gehitu edo handituko da. Barneko erabiltzaile-izena erabiltzaile bat barnean identifikatzeko erabiltzen da. Erabiltzailearen etxeko karpetaren izen lehenetsia ere da. Kanpoko URLen parte ere da, adibidez *DAV zerbitzu guztientzako. Ezarpen honekin, lehenetsitako portaera aldatu daiteke. Aldaketek mapatutako (gehitutako) LDAP erabiltzaile berriengan soilik izango du efektua. Utzi hutsik lehenetsitako portaerarako. "
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/eu.json b/apps/user_ldap/l10n/eu.json
index 39d3f72466d..39eb925d501 100644
--- a/apps/user_ldap/l10n/eu.json
+++ b/apps/user_ldap/l10n/eu.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "\"$home\" Leku-markaren eremua",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home kanpoko biltegiratze konfigurazio batean zehaztutako atributuaren balioarekin ordezkatuko da",
"Internal Username" : "Barneko erabiltzaile izena",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Modu lehenetsian barneko erabiltzaile-izena UUID atribututik sortuko da. Honek erabiltzaile-izena bakarra dela eta karaktereak bihurtu behar ez direla ziurtatzen du. Barneko erabiltzaile-izenak karaktere hauek soilik izan ditzake: [ a-zA-Z0-9_.@- ]. Beste karaktereak haien ASCII karaktereekin bihurtu edo guztiz kentzen dira. Kolisioa gertatzen den kasuetan zenbaki bat gehitu edo handituko da. Barneko erabiltzaile-izena erabiltzaile bat barnean identifikatzeko erabiltzen da. Erabiltzailearen etxeko karpetaren izen lehenetsia ere da. Kanpoko URLen parte ere da, adibidez *DAV zerbitzu guztientzako. Ezarpen honekin, lehenetsitako portaera aldatu daiteke. Aldaketek mapatutako (gehitutako) LDAP erabiltzaile berriengan soilik izango du efektua. Utzi hutsik lehenetsitako portaerarako. ",
"Internal Username Attribute:" : "Baliogabeko Erabiltzaile Izen atributua",
"Override UUID detection" : "Gainidatzi UUID antzematea",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Era lehenetsian, UUID atributua automatikoki atzematen da. UUID atributua LDAP erabiltzaleak eta taldeak dudik gabe identifikatzeko erabiltzen da. Gainera, barneko erabiltzaile-izena UUID atributuan oinarritua sortuko da bestelakorik zehazten ez bada. Ezarpenak alda daitezke eta bestelako atributua jar daiteke. Ziur egon behar duzu hautatzen duzun atributua erabiltzaile eta taldeek eskura dezaketela eta bakarra dela. Jokabide lehenetsi gisa utz ezazu hutsik. Aldaketok soilik LDAP-n mapeatuko (gehituko) diren erabiltzaile eta taldeei eragingo die.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "LDAP-erabiltzaile-izena erabiltzailearen mapeatzea",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Erabiltzaile izenak metadatuak gordetzeko eta esleitzeko erabiltzen dira. Erabiltzaileak zehazki identifikatu eta ezagutzeko, LDAP erabiltzaile bakoitzak barne erabiltzaile izena izango du. Horretarako, erabiltzaile izenetik LDAP erabiltzailearen mapaketa egin behar da. Sortutako erabiltzaile izena LDAP erabiltzailearen UUIDarekin mapatuta dago. Gainera, DNa cache-an gordetzen da LDAP elkarreragina murrizteko, baina ez da identifikaziorako erabiltzen. DNa aldatzen bada, aldaketak topatuko dira. Barne erabiltzaile izena toki guztietan erabiltzen da. Kartografiak garbitzeak hondarrak izango ditu nonahi. Kartografiak garbitzea ez da konfigurazioarekiko sentikorra, LDAP konfigurazio guztiei eragiten die! Ez garbitu inoiz mapak ekoizpen-ingurune batean, soilik proba edo fase esperimental batean.",
"Clear Username-LDAP User Mapping" : "Garbitu LDAP-erabiltzaile-izenaren erabiltzaile mapaketa",
- "Clear Groupname-LDAP Group Mapping" : "Garbitu LDAP-talde-izenaren talde mapaketa"
+ "Clear Groupname-LDAP Group Mapping" : "Garbitu LDAP-talde-izenaren talde mapaketa",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Modu lehenetsian barneko erabiltzaile-izena UUID atribututik sortuko da. Honek erabiltzaile-izena bakarra dela eta karaktereak bihurtu behar ez direla ziurtatzen du. Barneko erabiltzaile-izenak karaktere hauek soilik izan ditzake: [ a-zA-Z0-9_.@- ]. Beste karaktereak haien ASCII karaktereekin bihurtu edo guztiz kentzen dira. Kolisioa gertatzen den kasuetan zenbaki bat gehitu edo handituko da. Barneko erabiltzaile-izena erabiltzaile bat barnean identifikatzeko erabiltzen da. Erabiltzailearen etxeko karpetaren izen lehenetsia ere da. Kanpoko URLen parte ere da, adibidez *DAV zerbitzu guztientzako. Ezarpen honekin, lehenetsitako portaera aldatu daiteke. Aldaketek mapatutako (gehitutako) LDAP erabiltzaile berriengan soilik izango du efektua. Utzi hutsik lehenetsitako portaerarako. "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js
index f6c6f86361c..a867c6aea49 100644
--- a/apps/user_ldap/l10n/fr.js
+++ b/apps/user_ldap/l10n/fr.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" Champ Placeholder",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home dans la configuration du stockage externe sera remplacé avec la valeur de l'attribut spécifié",
"Internal Username" : "Nom d'utilisateur interne",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Par défaut le nom d'utilisateur interne sera créé à partir de l'attribut UUID. Cela permet de s'assurer que le nom d'utilisateur est unique et que les caractères n'ont pas besoin d'être convertis. Le nom d'utilisateur interne a pour restriction de ne contenir que les caractères suivants : [a-zA-Z0-9_.@-]. Les autres caractères sont remplacés par leurs correspondants ASCII ou simplement omis. En cas de collisions, un nombre sera ajouté/incrémenté. Le nom d'utilisateur interne est utilisé pour identifier un utilisateur en interne. C'est aussi le nom par défaut du dossier personnel de l'utilisateur. Il fait aussi parti des URLs distantes pour tous les services *DAV. Avec ce paramètre, le comportement par défaut peut être écrasé. Les modifications prendront effet seulement pour les nouveaux utilisateurs LDAP mappés (ajoutés). Laissez-le vide pour utiliser le comportement par défaut",
"Internal Username Attribute:" : "Nom d'utilisateur interne :",
"Override UUID detection" : "Passer outre la détection des UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Par défaut, l'attribut UUID est automatiquement détecté. Cet attribut est utilisé pour identifier les utilisateurs et groupes de façon fiable. Un nom d'utilisateur interne basé sur l'UUID sera automatiquement créé, sauf s'il est spécifié autrement ci-dessus. Vous pouvez modifier ce comportement et définir l'attribut de votre choix. Vous devez alors vous assurer que l'attribut de votre choix peut être récupéré pour les utilisateurs ainsi que pour les groupes et qu'il soit unique. Laisser à blanc pour le comportement par défaut. Les modifications seront effectives uniquement pour les nouveaux (ajoutés) utilisateurs et groupes LDAP.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Association Nom d'utilisateur-Utilisateur LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Les noms d'utilisateurs sont utilisés pour le stockage et l'assignation de (meta) données. Pour identifier et reconnaître précisément les utilisateurs, chaque utilisateur LDAP aura un nom interne spécifique. Cela requiert l'association d'un nom d'utilisateur NextCloud à un nom d'utilisateur LDAP. Le nom d'utilisateur créé est associé à l'attribut UUID de l'utilisateur LDAP. Par ailleurs, le DN est mémorisé en cache pour limiter les interactions LDAP mais il n'est pas utilisé pour l'identification. Si le DN est modifié, ces modifications seront retrouvées. Seul le nom interne à NextCloud est utilisé au sein du produit. Supprimer les associations créera des orphelins et l'action affectera toutes les configurations LDAP. NE JAMAIS SUPPRIMER LES ASSOCIATIONS EN ENVIRONNEMENT DE PRODUCTION, mais uniquement sur des environnements de tests et d'expérimentations.",
"Clear Username-LDAP User Mapping" : "Supprimer l'association utilisateur interne-utilisateur LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Supprimer l'association nom de groupe-groupe LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Supprimer l'association nom de groupe-groupe LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Par défaut le nom d'utilisateur interne sera créé à partir de l'attribut UUID. Cela permet de s'assurer que le nom d'utilisateur est unique et que les caractères n'ont pas besoin d'être convertis. Le nom d'utilisateur interne a pour restriction de ne contenir que les caractères suivants : [a-zA-Z0-9_.@-]. Les autres caractères sont remplacés par leurs correspondants ASCII ou simplement omis. En cas de collisions, un nombre sera ajouté/incrémenté. Le nom d'utilisateur interne est utilisé pour identifier un utilisateur en interne. C'est aussi le nom par défaut du dossier personnel de l'utilisateur. Il fait aussi parti des URLs distantes pour tous les services *DAV. Avec ce paramètre, le comportement par défaut peut être écrasé. Les modifications prendront effet seulement pour les nouveaux utilisateurs LDAP mappés (ajoutés). Laissez-le vide pour utiliser le comportement par défaut"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json
index 5ce3594f289..02e541fdb61 100644
--- a/apps/user_ldap/l10n/fr.json
+++ b/apps/user_ldap/l10n/fr.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "\"$home\" Champ Placeholder",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home dans la configuration du stockage externe sera remplacé avec la valeur de l'attribut spécifié",
"Internal Username" : "Nom d'utilisateur interne",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Par défaut le nom d'utilisateur interne sera créé à partir de l'attribut UUID. Cela permet de s'assurer que le nom d'utilisateur est unique et que les caractères n'ont pas besoin d'être convertis. Le nom d'utilisateur interne a pour restriction de ne contenir que les caractères suivants : [a-zA-Z0-9_.@-]. Les autres caractères sont remplacés par leurs correspondants ASCII ou simplement omis. En cas de collisions, un nombre sera ajouté/incrémenté. Le nom d'utilisateur interne est utilisé pour identifier un utilisateur en interne. C'est aussi le nom par défaut du dossier personnel de l'utilisateur. Il fait aussi parti des URLs distantes pour tous les services *DAV. Avec ce paramètre, le comportement par défaut peut être écrasé. Les modifications prendront effet seulement pour les nouveaux utilisateurs LDAP mappés (ajoutés). Laissez-le vide pour utiliser le comportement par défaut",
"Internal Username Attribute:" : "Nom d'utilisateur interne :",
"Override UUID detection" : "Passer outre la détection des UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Par défaut, l'attribut UUID est automatiquement détecté. Cet attribut est utilisé pour identifier les utilisateurs et groupes de façon fiable. Un nom d'utilisateur interne basé sur l'UUID sera automatiquement créé, sauf s'il est spécifié autrement ci-dessus. Vous pouvez modifier ce comportement et définir l'attribut de votre choix. Vous devez alors vous assurer que l'attribut de votre choix peut être récupéré pour les utilisateurs ainsi que pour les groupes et qu'il soit unique. Laisser à blanc pour le comportement par défaut. Les modifications seront effectives uniquement pour les nouveaux (ajoutés) utilisateurs et groupes LDAP.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Association Nom d'utilisateur-Utilisateur LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Les noms d'utilisateurs sont utilisés pour le stockage et l'assignation de (meta) données. Pour identifier et reconnaître précisément les utilisateurs, chaque utilisateur LDAP aura un nom interne spécifique. Cela requiert l'association d'un nom d'utilisateur NextCloud à un nom d'utilisateur LDAP. Le nom d'utilisateur créé est associé à l'attribut UUID de l'utilisateur LDAP. Par ailleurs, le DN est mémorisé en cache pour limiter les interactions LDAP mais il n'est pas utilisé pour l'identification. Si le DN est modifié, ces modifications seront retrouvées. Seul le nom interne à NextCloud est utilisé au sein du produit. Supprimer les associations créera des orphelins et l'action affectera toutes les configurations LDAP. NE JAMAIS SUPPRIMER LES ASSOCIATIONS EN ENVIRONNEMENT DE PRODUCTION, mais uniquement sur des environnements de tests et d'expérimentations.",
"Clear Username-LDAP User Mapping" : "Supprimer l'association utilisateur interne-utilisateur LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Supprimer l'association nom de groupe-groupe LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Supprimer l'association nom de groupe-groupe LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Par défaut le nom d'utilisateur interne sera créé à partir de l'attribut UUID. Cela permet de s'assurer que le nom d'utilisateur est unique et que les caractères n'ont pas besoin d'être convertis. Le nom d'utilisateur interne a pour restriction de ne contenir que les caractères suivants : [a-zA-Z0-9_.@-]. Les autres caractères sont remplacés par leurs correspondants ASCII ou simplement omis. En cas de collisions, un nombre sera ajouté/incrémenté. Le nom d'utilisateur interne est utilisé pour identifier un utilisateur en interne. C'est aussi le nom par défaut du dossier personnel de l'utilisateur. Il fait aussi parti des URLs distantes pour tous les services *DAV. Avec ce paramètre, le comportement par défaut peut être écrasé. Les modifications prendront effet seulement pour les nouveaux utilisateurs LDAP mappés (ajoutés). Laissez-le vide pour utiliser le comportement par défaut"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/hr.js b/apps/user_ldap/l10n/hr.js
index 5e7944dac6b..322856e7810 100644
--- a/apps/user_ldap/l10n/hr.js
+++ b/apps/user_ldap/l10n/hr.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "Polje rezerviranja „$home”",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home će se u konfiguraciji vanjske pohrane zamijeniti s vrijednosti navedenog atributa",
"Internal Username" : "Unutarnje korisničko ime",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Sukladno zadanim postavkama, unutarnje korisničko stvara se iz atributa UUID. Time se osigurava da je korisničko ime jedinstveno i da ne treba pretvarati znakove. Unutarnje korisničko ime ograničeno je na sljedeće znakove: [a-zA-Z0-9_.@ -]. Ostali znakovi zamjenjuju se istovjetnim ASCII znakovima ili se jednostavno izostavljaju. Nepodudarni se brojevi dodaju/povećavaju. Unutarnje korisničko ime upotrebljava se za unutarnju identifikaciju korisnika. Također se upotrebljava kao zadano ime za početnu mapu korisnika. Dio je udaljenih URL-ova, primjerice, za sve *DAV servise. Ovom postavkom možete promijeniti zadano ponašanje. Promjene će se primijeniti samo na nove mapirane (dodane) LDAP korisnike. Ostavite je praznom ako želite zadržati zadano ponašanje.",
"Internal Username Attribute:" : "Atribut unutarnjeg korisničkog imena:",
"Override UUID detection" : "Premosti UUID otkrivanje",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Atribut UUID se prema zadanim postavkama automatski otkriva. Atribut UUID se upotrebljava za nedvosmislenu identifikaciju LDAP korisnika i grupa. Također će se stvoriti unutarnje korisničko ime na temelju UUID-a ako nije ručno navedeno. Možete aktivirati postavku i prenijeti atribut po vlastitom izboru. Morate biti sigurni da taj atribut može biti dostupan i za korisnike i za grupu i da je jedinstven. Ostavite prazno ako želite zadržati zadano ponašanje. Promjene će se primijeniti samo na nove mapirane (dodane) LDAP korisnike.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Mapiranje korisnika LDAP-korisničko ime",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Korisnička imena upotrebljavaju se za pohranu i dodjeljivanje metapodataka. Kako bi se precizno identificirali i prepoznali korisnici, svaki LDAP korisnik ima unutarnje korisničko ime. Za to je potrebno mapiranje podataka s korisničkog imena na LDAP korisnika. Stvoreno korisničko ime mapira se na UUID LDAP korisnika. Također se DN pohranjuje u predmemoriju radi smanjenja interakcije s LDAP-om, ali se ne koristi za identifikaciju. Ako se DN promijeni, te će promijene biti otkrivene. Unutarnje korisničko ime upotrebljava se u raznim situacijama. Brisanjem mapiranja ostaju razni tragovi u sustavu. Brisanje mapiranja ne ovisi o konfiguraciji, utječe na sve konfiguracije LDAP-a! Nikada nemojte brisati mapiranja u produkcijskom okruženju, već samo u fazi ispitivanja ili eksperimentiranja.",
"Clear Username-LDAP User Mapping" : "Izbriši mapiranje korisnika LDAP-korisničko ime",
- "Clear Groupname-LDAP Group Mapping" : "Izbriši mapiranje grupe naziv grupe-LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Izbriši mapiranje grupe naziv grupe-LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Sukladno zadanim postavkama, unutarnje korisničko stvara se iz atributa UUID. Time se osigurava da je korisničko ime jedinstveno i da ne treba pretvarati znakove. Unutarnje korisničko ime ograničeno je na sljedeće znakove: [a-zA-Z0-9_.@ -]. Ostali znakovi zamjenjuju se istovjetnim ASCII znakovima ili se jednostavno izostavljaju. Nepodudarni se brojevi dodaju/povećavaju. Unutarnje korisničko ime upotrebljava se za unutarnju identifikaciju korisnika. Također se upotrebljava kao zadano ime za početnu mapu korisnika. Dio je udaljenih URL-ova, primjerice, za sve *DAV servise. Ovom postavkom možete promijeniti zadano ponašanje. Promjene će se primijeniti samo na nove mapirane (dodane) LDAP korisnike. Ostavite je praznom ako želite zadržati zadano ponašanje."
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/user_ldap/l10n/hr.json b/apps/user_ldap/l10n/hr.json
index 0cfd3ddf204..82ca821574e 100644
--- a/apps/user_ldap/l10n/hr.json
+++ b/apps/user_ldap/l10n/hr.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "Polje rezerviranja „$home”",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home će se u konfiguraciji vanjske pohrane zamijeniti s vrijednosti navedenog atributa",
"Internal Username" : "Unutarnje korisničko ime",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Sukladno zadanim postavkama, unutarnje korisničko stvara se iz atributa UUID. Time se osigurava da je korisničko ime jedinstveno i da ne treba pretvarati znakove. Unutarnje korisničko ime ograničeno je na sljedeće znakove: [a-zA-Z0-9_.@ -]. Ostali znakovi zamjenjuju se istovjetnim ASCII znakovima ili se jednostavno izostavljaju. Nepodudarni se brojevi dodaju/povećavaju. Unutarnje korisničko ime upotrebljava se za unutarnju identifikaciju korisnika. Također se upotrebljava kao zadano ime za početnu mapu korisnika. Dio je udaljenih URL-ova, primjerice, za sve *DAV servise. Ovom postavkom možete promijeniti zadano ponašanje. Promjene će se primijeniti samo na nove mapirane (dodane) LDAP korisnike. Ostavite je praznom ako želite zadržati zadano ponašanje.",
"Internal Username Attribute:" : "Atribut unutarnjeg korisničkog imena:",
"Override UUID detection" : "Premosti UUID otkrivanje",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Atribut UUID se prema zadanim postavkama automatski otkriva. Atribut UUID se upotrebljava za nedvosmislenu identifikaciju LDAP korisnika i grupa. Također će se stvoriti unutarnje korisničko ime na temelju UUID-a ako nije ručno navedeno. Možete aktivirati postavku i prenijeti atribut po vlastitom izboru. Morate biti sigurni da taj atribut može biti dostupan i za korisnike i za grupu i da je jedinstven. Ostavite prazno ako želite zadržati zadano ponašanje. Promjene će se primijeniti samo na nove mapirane (dodane) LDAP korisnike.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Mapiranje korisnika LDAP-korisničko ime",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Korisnička imena upotrebljavaju se za pohranu i dodjeljivanje metapodataka. Kako bi se precizno identificirali i prepoznali korisnici, svaki LDAP korisnik ima unutarnje korisničko ime. Za to je potrebno mapiranje podataka s korisničkog imena na LDAP korisnika. Stvoreno korisničko ime mapira se na UUID LDAP korisnika. Također se DN pohranjuje u predmemoriju radi smanjenja interakcije s LDAP-om, ali se ne koristi za identifikaciju. Ako se DN promijeni, te će promijene biti otkrivene. Unutarnje korisničko ime upotrebljava se u raznim situacijama. Brisanjem mapiranja ostaju razni tragovi u sustavu. Brisanje mapiranja ne ovisi o konfiguraciji, utječe na sve konfiguracije LDAP-a! Nikada nemojte brisati mapiranja u produkcijskom okruženju, već samo u fazi ispitivanja ili eksperimentiranja.",
"Clear Username-LDAP User Mapping" : "Izbriši mapiranje korisnika LDAP-korisničko ime",
- "Clear Groupname-LDAP Group Mapping" : "Izbriši mapiranje grupe naziv grupe-LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Izbriši mapiranje grupe naziv grupe-LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Sukladno zadanim postavkama, unutarnje korisničko stvara se iz atributa UUID. Time se osigurava da je korisničko ime jedinstveno i da ne treba pretvarati znakove. Unutarnje korisničko ime ograničeno je na sljedeće znakove: [a-zA-Z0-9_.@ -]. Ostali znakovi zamjenjuju se istovjetnim ASCII znakovima ili se jednostavno izostavljaju. Nepodudarni se brojevi dodaju/povećavaju. Unutarnje korisničko ime upotrebljava se za unutarnju identifikaciju korisnika. Također se upotrebljava kao zadano ime za početnu mapu korisnika. Dio je udaljenih URL-ova, primjerice, za sve *DAV servise. Ovom postavkom možete promijeniti zadano ponašanje. Promjene će se primijeniti samo na nove mapirane (dodane) LDAP korisnike. Ostavite je praznom ako želite zadržati zadano ponašanje."
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/hu.js b/apps/user_ldap/l10n/hu.js
index 397209cd35c..7e071e947b3 100644
--- a/apps/user_ldap/l10n/hu.js
+++ b/apps/user_ldap/l10n/hu.js
@@ -180,7 +180,7 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "„$home” helykitöltő mező",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "Külső tárhely beállítása esetén a $home a megadott tulajdonság értékére lesz cserélve",
"Internal Username" : "Belső felhasználónév",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Alapértelmezetten egy belső felhasználónév jön létre a UUID attribútumból. Gondoskodik róla, hogy a felhasználónév egyedi legyen és ne kelljen a karaktereket konvertálni. A belső felhasználónév csak a következő karakterekből állhat: [a-zA-Z0-9_.@-]. Más karakterek az ASCII megfelelőikre lesznek cserélve, vagy csak simán ki lesznek hagyva. Ütközés esetén egy szám lesz hozzáadva, vagy növelve. A belső felhasználónév a felhasználó belső azonosítására szolgál. Egyben a felhasználó saját mappájának neveként is szolgál. Ez része a távoli URL-eknek, például az összes DAV szolgáltatásnál. Ezzel a beállítással az alapértelmezett működés felülírható. A változások csak újonnan hozzárendelt (hozzáadott) LDAP felhasználóknál kerül alkalmazásra. Hagyja üresen az alapértelmezett viselkedéshez.",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Alapértelmezetten egy belső felhasználónév jön létre a UUID attribútumból. Gondoskodik róla, hogy a felhasználónév egyedi legyen és ne kelljen a karaktereket konvertálni. A belső felhasználónév csak a következő karakterekből állhat: [a-zA-Z0-9_.@-]. Más karakterek az ASCII megfelelőikre lesznek cserélve, vagy csak simán ki lesznek hagyva. Ütközés esetén egy szám lesz hozzáadva, vagy növelve. A belső felhasználónév a felhasználó belső azonosítására szolgál. Egyben a felhasználó saját mappájának neveként is szolgál. Ez része a távoli URL-eknek, például az összes DAV szolgáltatásnál. Ezzel a beállítással az alapértelmezett működés felülírható. A változások csak újonnan hozzárendelt (hozzáadott) LDAP felhasználóknál kerül alkalmazásra. Hagyja üresen az alapértelmezett viselkedéshez.",
"Internal Username Attribute:" : "Belső felhasználónév attribútuma:",
"Override UUID detection" : "UUID-felismerés felülbírálása",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Az UUID attribútum alapértelmezetten felismerésre kerül. Az UUID attribútum segítségével az LDAP felhasználók és csoportok egyértelműen azonosíthatók. A belső felhasználónév is azonos lesz az UUID-vel, ha fentebb nincs másként definiálva. Ezt a beállítást felülbírálhatja és bármely attribútummal helyettesítheti. Ekkor azonban gondoskodnia kell arról, hogy a kiválasztott attribútum minden felhasználó és csoport esetén lekérdezhető legyen, és egyedi értékkel bírjon. Ha a mezőt üresen hagyja, akkor az alapértelmezett attribútum lesz érvényes. Egy esetleges módosítás csak az újonnan hozzárendelt (hozzáadott) felhasználókra és csoportokra lesz érvényes.",
@@ -189,6 +189,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Felhasználónév–LDAP felhasználó hozzárendelés",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "A felhasználónevek a metaadatok kezeléséhez és tárolásához vannak felhasználva. Annak érdekében, hogy teljes mértékben azonosítható legyen egy felhasználó, minden LDAP felhasználó kapni fog egy belső felhasználónevet. Ez egy hozzárendelést igényel az eredeti felhasználónév és az LDAP fiók között. A létrejött felhasználónév hozzárendelődik az LDAP fiók UUID értékéhez. Emellett a DN gyorsítótárazott, hogy csökkentse az LDAP interakciók számát, de nincs használva azonosítás céljából. Ha a DN megváltozik, a rendszer észleli ezeket a változásokat. A belső felhasználónév van mindenhol használva a rendszeren belül. A hozzárendelések törlése adattöredékeket hagy maga után. A hozzárendelések ürítése nem beállításfüggő, minden LDAP beállításra hatással van. Soha ne ürítse éles rendszeren a hozzárendeléseket, csak tesztelési vagy kísérleti szakaszban.",
"Clear Username-LDAP User Mapping" : "Felhasználónév–LDAP felhasználó hozzárendelés törlése",
- "Clear Groupname-LDAP Group Mapping" : "Csoport–LDAP csoport hozzárendelés törlése"
+ "Clear Groupname-LDAP Group Mapping" : "Csoport–LDAP csoport hozzárendelés törlése",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Alapértelmezetten egy belső felhasználónév jön létre a UUID attribútumból. Gondoskodik róla, hogy a felhasználónév egyedi legyen és ne kelljen a karaktereket konvertálni. A belső felhasználónév csak a következő karakterekből állhat: [a-zA-Z0-9_.@-]. Más karakterek az ASCII megfelelőikre lesznek cserélve, vagy csak simán ki lesznek hagyva. Ütközés esetén egy szám lesz hozzáadva, vagy növelve. A belső felhasználónév a felhasználó belső azonosítására szolgál. Egyben a felhasználó saját mappájának neveként is szolgál. Ez része a távoli URL-eknek, például az összes DAV szolgáltatásnál. Ezzel a beállítással az alapértelmezett működés felülírható. A változások csak újonnan hozzárendelt (hozzáadott) LDAP felhasználóknál kerül alkalmazásra. Hagyja üresen az alapértelmezett viselkedéshez."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/hu.json b/apps/user_ldap/l10n/hu.json
index 048806c444c..89070966c43 100644
--- a/apps/user_ldap/l10n/hu.json
+++ b/apps/user_ldap/l10n/hu.json
@@ -178,7 +178,7 @@
"\"$home\" Placeholder Field" : "„$home” helykitöltő mező",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "Külső tárhely beállítása esetén a $home a megadott tulajdonság értékére lesz cserélve",
"Internal Username" : "Belső felhasználónév",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Alapértelmezetten egy belső felhasználónév jön létre a UUID attribútumból. Gondoskodik róla, hogy a felhasználónév egyedi legyen és ne kelljen a karaktereket konvertálni. A belső felhasználónév csak a következő karakterekből állhat: [a-zA-Z0-9_.@-]. Más karakterek az ASCII megfelelőikre lesznek cserélve, vagy csak simán ki lesznek hagyva. Ütközés esetén egy szám lesz hozzáadva, vagy növelve. A belső felhasználónév a felhasználó belső azonosítására szolgál. Egyben a felhasználó saját mappájának neveként is szolgál. Ez része a távoli URL-eknek, például az összes DAV szolgáltatásnál. Ezzel a beállítással az alapértelmezett működés felülírható. A változások csak újonnan hozzárendelt (hozzáadott) LDAP felhasználóknál kerül alkalmazásra. Hagyja üresen az alapértelmezett viselkedéshez.",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Alapértelmezetten egy belső felhasználónév jön létre a UUID attribútumból. Gondoskodik róla, hogy a felhasználónév egyedi legyen és ne kelljen a karaktereket konvertálni. A belső felhasználónév csak a következő karakterekből állhat: [a-zA-Z0-9_.@-]. Más karakterek az ASCII megfelelőikre lesznek cserélve, vagy csak simán ki lesznek hagyva. Ütközés esetén egy szám lesz hozzáadva, vagy növelve. A belső felhasználónév a felhasználó belső azonosítására szolgál. Egyben a felhasználó saját mappájának neveként is szolgál. Ez része a távoli URL-eknek, például az összes DAV szolgáltatásnál. Ezzel a beállítással az alapértelmezett működés felülírható. A változások csak újonnan hozzárendelt (hozzáadott) LDAP felhasználóknál kerül alkalmazásra. Hagyja üresen az alapértelmezett viselkedéshez.",
"Internal Username Attribute:" : "Belső felhasználónév attribútuma:",
"Override UUID detection" : "UUID-felismerés felülbírálása",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Az UUID attribútum alapértelmezetten felismerésre kerül. Az UUID attribútum segítségével az LDAP felhasználók és csoportok egyértelműen azonosíthatók. A belső felhasználónév is azonos lesz az UUID-vel, ha fentebb nincs másként definiálva. Ezt a beállítást felülbírálhatja és bármely attribútummal helyettesítheti. Ekkor azonban gondoskodnia kell arról, hogy a kiválasztott attribútum minden felhasználó és csoport esetén lekérdezhető legyen, és egyedi értékkel bírjon. Ha a mezőt üresen hagyja, akkor az alapértelmezett attribútum lesz érvényes. Egy esetleges módosítás csak az újonnan hozzárendelt (hozzáadott) felhasználókra és csoportokra lesz érvényes.",
@@ -187,6 +187,7 @@
"Username-LDAP User Mapping" : "Felhasználónév–LDAP felhasználó hozzárendelés",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "A felhasználónevek a metaadatok kezeléséhez és tárolásához vannak felhasználva. Annak érdekében, hogy teljes mértékben azonosítható legyen egy felhasználó, minden LDAP felhasználó kapni fog egy belső felhasználónevet. Ez egy hozzárendelést igényel az eredeti felhasználónév és az LDAP fiók között. A létrejött felhasználónév hozzárendelődik az LDAP fiók UUID értékéhez. Emellett a DN gyorsítótárazott, hogy csökkentse az LDAP interakciók számát, de nincs használva azonosítás céljából. Ha a DN megváltozik, a rendszer észleli ezeket a változásokat. A belső felhasználónév van mindenhol használva a rendszeren belül. A hozzárendelések törlése adattöredékeket hagy maga után. A hozzárendelések ürítése nem beállításfüggő, minden LDAP beállításra hatással van. Soha ne ürítse éles rendszeren a hozzárendeléseket, csak tesztelési vagy kísérleti szakaszban.",
"Clear Username-LDAP User Mapping" : "Felhasználónév–LDAP felhasználó hozzárendelés törlése",
- "Clear Groupname-LDAP Group Mapping" : "Csoport–LDAP csoport hozzárendelés törlése"
+ "Clear Groupname-LDAP Group Mapping" : "Csoport–LDAP csoport hozzárendelés törlése",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Alapértelmezetten egy belső felhasználónév jön létre a UUID attribútumból. Gondoskodik róla, hogy a felhasználónév egyedi legyen és ne kelljen a karaktereket konvertálni. A belső felhasználónév csak a következő karakterekből állhat: [a-zA-Z0-9_.@-]. Más karakterek az ASCII megfelelőikre lesznek cserélve, vagy csak simán ki lesznek hagyva. Ütközés esetén egy szám lesz hozzáadva, vagy növelve. A belső felhasználónév a felhasználó belső azonosítására szolgál. Egyben a felhasználó saját mappájának neveként is szolgál. Ez része a távoli URL-eknek, például az összes DAV szolgáltatásnál. Ezzel a beállítással az alapértelmezett működés felülírható. A változások csak újonnan hozzárendelt (hozzáadott) LDAP felhasználóknál kerül alkalmazásra. Hagyja üresen az alapértelmezett viselkedéshez."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/it.js b/apps/user_ldap/l10n/it.js
index e9ffe460c46..26b2840244d 100644
--- a/apps/user_ldap/l10n/it.js
+++ b/apps/user_ldap/l10n/it.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "Segnaposto \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home nella configurazione di un'archiviazione esterna sarà sostituita con il valore dell'attributo specificato",
"Internal Username" : "Nome utente interno",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "In modo predefinito, il nome utente interno sarà creato dall'attributo UUID. Ciò assicura che il nome utente sia univoco e che non sia necessario convertire i caratteri. Il nome utente interno consente l'uso di determinati caratteri: [ a-zA-Z0-9_.@- ]. Altri caratteri sono sostituiti con il corrispondente ASCII o sono semplicemente omessi. In caso di conflitto, sarà aggiunto/incrementato un numero. Il nome utente interno è utilizzato per identificare un utente internamente. Rappresenta, inoltre, il nome predefinito per la cartella home dell'utente in ownCloud. Costituisce anche una parte di URL remoti, ad esempio per tutti i servizi *DAV. Con questa impostazione, il comportamento predefinito può essere scavalcato. Le modifiche avranno effetto solo sui nuovo utenti LDAP associati (aggiunti). Lascialo vuoto per ottenere il comportamento predefinito.",
"Internal Username Attribute:" : "Attributo nome utente interno:",
"Override UUID detection" : "Ignora rilevamento UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "In modo predefinito, l'attributo UUID viene rilevato automaticamente. L'attributo UUID è utilizzato per identificare senza alcun dubbio gli utenti e i gruppi LDAP. Inoltre, il nome utente interno sarà creato sulla base dell'UUID, se non è specificato in precedenza. Puoi ignorare l'impostazione e fornire un attributo di tua scelta. Assicurati che l'attributo scelto possa essere ottenuto sia per gli utenti che per i gruppi e che sia univoco. Lascialo vuoto per ottenere il comportamento predefinito. Le modifiche avranno effetto solo sui nuovi utenti e gruppi LDAP associati (aggiunti).",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Associazione Nome utente-Utente LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "I nomi utente sono utilizzati per archiviare e assegnare i metadati. Per identificare con precisione e riconoscere gli utenti, ogni utente LDAP avrà un nome utente interno. Il nome utente creato. Ciò richiede un'associazione tra il nome utente e l'utente LDAP. Il nome utente creato è associato allo UUID dell'utente LDAP. In aggiunta, il DN viene memorizzato in cache per ridurre l'interazione con LDAP, ma non è utilizzato per l'identificazione. Se il DN cambia, le modifiche saranno rilevate. Il nome utente interno è utilizzato dappertutto. La cancellazione delle associazioni lascerà tracce residue ovunque e interesserà tutta la configurazione LDAP. Non cancellare mai le associazioni in un ambiente di produzione, ma solo in una fase sperimentale o di test.",
"Clear Username-LDAP User Mapping" : "Cancella associazione Nome utente-Utente LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Cancella associazione Nome gruppo-Gruppo LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Cancella associazione Nome gruppo-Gruppo LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "In modo predefinito, il nome utente interno sarà creato dall'attributo UUID. Ciò assicura che il nome utente sia univoco e che non sia necessario convertire i caratteri. Il nome utente interno consente l'uso di determinati caratteri: [ a-zA-Z0-9_.@- ]. Altri caratteri sono sostituiti con il corrispondente ASCII o sono semplicemente omessi. In caso di conflitto, sarà aggiunto/incrementato un numero. Il nome utente interno è utilizzato per identificare un utente internamente. Rappresenta, inoltre, il nome predefinito per la cartella home dell'utente in ownCloud. Costituisce anche una parte di URL remoti, ad esempio per tutti i servizi *DAV. Con questa impostazione, il comportamento predefinito può essere scavalcato. Le modifiche avranno effetto solo sui nuovo utenti LDAP associati (aggiunti). Lascialo vuoto per ottenere il comportamento predefinito."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/it.json b/apps/user_ldap/l10n/it.json
index 683bd99f281..1cd1e9a88a3 100644
--- a/apps/user_ldap/l10n/it.json
+++ b/apps/user_ldap/l10n/it.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "Segnaposto \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home nella configurazione di un'archiviazione esterna sarà sostituita con il valore dell'attributo specificato",
"Internal Username" : "Nome utente interno",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "In modo predefinito, il nome utente interno sarà creato dall'attributo UUID. Ciò assicura che il nome utente sia univoco e che non sia necessario convertire i caratteri. Il nome utente interno consente l'uso di determinati caratteri: [ a-zA-Z0-9_.@- ]. Altri caratteri sono sostituiti con il corrispondente ASCII o sono semplicemente omessi. In caso di conflitto, sarà aggiunto/incrementato un numero. Il nome utente interno è utilizzato per identificare un utente internamente. Rappresenta, inoltre, il nome predefinito per la cartella home dell'utente in ownCloud. Costituisce anche una parte di URL remoti, ad esempio per tutti i servizi *DAV. Con questa impostazione, il comportamento predefinito può essere scavalcato. Le modifiche avranno effetto solo sui nuovo utenti LDAP associati (aggiunti). Lascialo vuoto per ottenere il comportamento predefinito.",
"Internal Username Attribute:" : "Attributo nome utente interno:",
"Override UUID detection" : "Ignora rilevamento UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "In modo predefinito, l'attributo UUID viene rilevato automaticamente. L'attributo UUID è utilizzato per identificare senza alcun dubbio gli utenti e i gruppi LDAP. Inoltre, il nome utente interno sarà creato sulla base dell'UUID, se non è specificato in precedenza. Puoi ignorare l'impostazione e fornire un attributo di tua scelta. Assicurati che l'attributo scelto possa essere ottenuto sia per gli utenti che per i gruppi e che sia univoco. Lascialo vuoto per ottenere il comportamento predefinito. Le modifiche avranno effetto solo sui nuovi utenti e gruppi LDAP associati (aggiunti).",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Associazione Nome utente-Utente LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "I nomi utente sono utilizzati per archiviare e assegnare i metadati. Per identificare con precisione e riconoscere gli utenti, ogni utente LDAP avrà un nome utente interno. Il nome utente creato. Ciò richiede un'associazione tra il nome utente e l'utente LDAP. Il nome utente creato è associato allo UUID dell'utente LDAP. In aggiunta, il DN viene memorizzato in cache per ridurre l'interazione con LDAP, ma non è utilizzato per l'identificazione. Se il DN cambia, le modifiche saranno rilevate. Il nome utente interno è utilizzato dappertutto. La cancellazione delle associazioni lascerà tracce residue ovunque e interesserà tutta la configurazione LDAP. Non cancellare mai le associazioni in un ambiente di produzione, ma solo in una fase sperimentale o di test.",
"Clear Username-LDAP User Mapping" : "Cancella associazione Nome utente-Utente LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Cancella associazione Nome gruppo-Gruppo LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Cancella associazione Nome gruppo-Gruppo LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "In modo predefinito, il nome utente interno sarà creato dall'attributo UUID. Ciò assicura che il nome utente sia univoco e che non sia necessario convertire i caratteri. Il nome utente interno consente l'uso di determinati caratteri: [ a-zA-Z0-9_.@- ]. Altri caratteri sono sostituiti con il corrispondente ASCII o sono semplicemente omessi. In caso di conflitto, sarà aggiunto/incrementato un numero. Il nome utente interno è utilizzato per identificare un utente internamente. Rappresenta, inoltre, il nome predefinito per la cartella home dell'utente in ownCloud. Costituisce anche una parte di URL remoti, ad esempio per tutti i servizi *DAV. Con questa impostazione, il comportamento predefinito può essere scavalcato. Le modifiche avranno effetto solo sui nuovo utenti LDAP associati (aggiunti). Lascialo vuoto per ottenere il comportamento predefinito."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js
index b5908986dd0..bce2a9dfcea 100644
--- a/apps/user_ldap/l10n/ja.js
+++ b/apps/user_ldap/l10n/ja.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" 属性設定",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "外部ストレージ設定の $home 変数には、指定した属性の値が入ります",
"Internal Username" : "内部ユーザー名",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、Nextcloud におけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。これは、たとえばすべての* DAVサービスのリモートURLの一部でもあります。この設定を使用すると、デフォルトの動作を上書きできます。変更は、新しくマップされた(追加された)LDAPユーザーにのみ影響します。デフォルトの動作のために空のままにします。",
"Internal Username Attribute:" : "内部ユーザー名属性:",
"Override UUID detection" : "UUID検出を再定義する",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "デフォルトでは、UUID 属性は自動的に検出されます。UUID属性は、LDAPユーザーとLDAPグループを間違いなく識別するために利用されます。また、もしこれを指定しない場合は、内部ユーザー名はUUIDに基づいて作成されます。この設定は再定義することができ、あなたの選択した属性を用いることができます。選択した属性がユーザーとグループの両方に対して適用でき、かつユニークであることを確認してください。空であればデフォルトの振る舞いとなります。変更は、新しくマッピング(追加)されたLDAPユーザーとLDAPグループに対してのみ有効となります。",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "ユーザー名とLDAPユーザーのマッピング",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "ユーザー名は、メタデータの保存と割り当てに使用されます。 ユーザーを正確に識別して認識するために、各LDAPユーザーには内部ユーザー名が割り当てられます。 これには、ユーザー名からLDAPユーザーへのマッピングが必要です。 作成されたユーザー名は、LDAPユーザーのUUIDにマップされます。 さらに、DNはLDAPインタラクションを減らすためにキャッシュされますが、識別には使用されません。 DNが変更された場合、変更が検出されます。 内部ユーザー名はいたるところで使用されます。 マッピングをクリアすると、どこに残っているか分かります。 マッピングの消去はコンフィギュレーションセンシティブではなく、すべてのLDAP構成に影響します。 本番環境のマッピングをクリアしないでください。テスト環境または実験段階でのみ実施してください。",
"Clear Username-LDAP User Mapping" : "ユーザー名とLDAPユーザーのマッピングをクリアする",
- "Clear Groupname-LDAP Group Mapping" : "グループ名とLDAPグループのマッピングをクリアする"
+ "Clear Groupname-LDAP Group Mapping" : "グループ名とLDAPグループのマッピングをクリアする",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、Nextcloud におけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。これは、たとえばすべての* DAVサービスのリモートURLの一部でもあります。この設定を使用すると、デフォルトの動作を上書きできます。変更は、新しくマップされた(追加された)LDAPユーザーにのみ影響します。デフォルトの動作のために空のままにします。"
},
"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json
index 935f367e435..2f096353bd8 100644
--- a/apps/user_ldap/l10n/ja.json
+++ b/apps/user_ldap/l10n/ja.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "\"$home\" 属性設定",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "外部ストレージ設定の $home 変数には、指定した属性の値が入ります",
"Internal Username" : "内部ユーザー名",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、Nextcloud におけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。これは、たとえばすべての* DAVサービスのリモートURLの一部でもあります。この設定を使用すると、デフォルトの動作を上書きできます。変更は、新しくマップされた(追加された)LDAPユーザーにのみ影響します。デフォルトの動作のために空のままにします。",
"Internal Username Attribute:" : "内部ユーザー名属性:",
"Override UUID detection" : "UUID検出を再定義する",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "デフォルトでは、UUID 属性は自動的に検出されます。UUID属性は、LDAPユーザーとLDAPグループを間違いなく識別するために利用されます。また、もしこれを指定しない場合は、内部ユーザー名はUUIDに基づいて作成されます。この設定は再定義することができ、あなたの選択した属性を用いることができます。選択した属性がユーザーとグループの両方に対して適用でき、かつユニークであることを確認してください。空であればデフォルトの振る舞いとなります。変更は、新しくマッピング(追加)されたLDAPユーザーとLDAPグループに対してのみ有効となります。",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "ユーザー名とLDAPユーザーのマッピング",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "ユーザー名は、メタデータの保存と割り当てに使用されます。 ユーザーを正確に識別して認識するために、各LDAPユーザーには内部ユーザー名が割り当てられます。 これには、ユーザー名からLDAPユーザーへのマッピングが必要です。 作成されたユーザー名は、LDAPユーザーのUUIDにマップされます。 さらに、DNはLDAPインタラクションを減らすためにキャッシュされますが、識別には使用されません。 DNが変更された場合、変更が検出されます。 内部ユーザー名はいたるところで使用されます。 マッピングをクリアすると、どこに残っているか分かります。 マッピングの消去はコンフィギュレーションセンシティブではなく、すべてのLDAP構成に影響します。 本番環境のマッピングをクリアしないでください。テスト環境または実験段階でのみ実施してください。",
"Clear Username-LDAP User Mapping" : "ユーザー名とLDAPユーザーのマッピングをクリアする",
- "Clear Groupname-LDAP Group Mapping" : "グループ名とLDAPグループのマッピングをクリアする"
+ "Clear Groupname-LDAP Group Mapping" : "グループ名とLDAPグループのマッピングをクリアする",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、Nextcloud におけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。これは、たとえばすべての* DAVサービスのリモートURLの一部でもあります。この設定を使用すると、デフォルトの動作を上書きできます。変更は、新しくマップされた(追加された)LDAPユーザーにのみ影響します。デフォルトの動作のために空のままにします。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/nl.js b/apps/user_ldap/l10n/nl.js
index 4de6f19a927..6db05e8bb33 100644
--- a/apps/user_ldap/l10n/nl.js
+++ b/apps/user_ldap/l10n/nl.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" Plaatshouder veld",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in een externe opslag configuratie wordt vervangen door de waarde van het gespecificeerde attribuut",
"Internal Username" : "Interne gebruikersnaam",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standaard wordt de interne gebruikersnaam afgeleid van het UUID attribuut. dat zorgt ervoor dat de gebruikersnaam uniek is en dat tekens niet hoeven te worden geconverteerd. De interne gebruikersnaam heeft de beperking dat alleen deze tekens zijn toegestaan: [ a-zA-Z0-9_.@-]. Andere tekens worden vervangen door hun overeenkomstige ASCII-waarde of simpelweg weggelaten. Bij conflicten wordt een nummer toegevoegd/verhoogd. De interne gebruikersnaam wordt gebruikt om een gebruiker intern te identificeren. Het is ook de standaardnaam voor de thuis-map van de gebruiker. Het is ook onderdeel van de externe URLs, bijvoorbeeld voor alle *DAV services. Met deze instelling kan het standaardgedrag worden overschreven. Wijzigingen hebben alleen effect voor nieuw gekoppelde (toegevoegde) LDAP gebruikers.",
"Internal Username Attribute:" : "Interne gebruikersnaam attribuut:",
"Override UUID detection" : "Negeren UUID detectie",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Standaard wordt het UUID-attribuut automatisch herkend. Het UUID attribuut wordt gebruikt om LDAP-gebruikers en -groepen uniek te identificeren. Ook zal de interne gebruikersnaam worden aangemaakt op basis van het UUID, tenzij deze hierboven anders is aangegeven. Je kunt de instelling overschrijven en zelf een waarde voor het attribuut opgeven. Je moet ervoor zorgen dat het ingestelde attribuut kan worden opgehaald voor zowel gebruikers als groepen en dat het uniek is. Laat het leeg voor standaard gedrag. Veranderingen worden alleen doorgevoerd op nieuw gekoppelde (toegevoegde) LDAP-gebruikers en-groepen.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Gebruikersnaam-LDAP gebruikers vertaling",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Gebruikersnamen worden gebruikt om metadata op te slaan en toe te wijzen. Om gebruikers uniek te identificeren, krijgt elke LDAP-gebruiker ook een interne gebruikersnaam. Dit vereist een koppeling van de gebruikersnaam naar een ​​LDAP-gebruiker. De gecreëerde gebruikersnaam is gekoppeld aan de UUID van de LDAP-gebruiker. Aanvullend wordt ook de 'DN' gecached om het aantal LDAP-interacties te verminderen, maar dit wordt niet gebruikt voor identificatie. Als de DN verandert, zullen de veranderingen worden gevonden. De interne gebruikersnaam wordt overal gebruikt. Het wissen van de koppeling zal overal resten achterlaten. Het wissen van koppelingen is niet configuratiegevoelig, maar het raakt wel alle LDAP instellingen! Zorg ervoor dat deze koppelingen nooit in een productieomgeving gewist worden. Maak ze alleen leeg in een test- of ontwikkelomgeving.",
"Clear Username-LDAP User Mapping" : "Leegmaken Gebruikersnaam-LDAP gebruikers vertaling",
- "Clear Groupname-LDAP Group Mapping" : "Leegmaken Groepsnaam-LDAP groep vertaling"
+ "Clear Groupname-LDAP Group Mapping" : "Leegmaken Groepsnaam-LDAP groep vertaling",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standaard wordt de interne gebruikersnaam afgeleid van het UUID attribuut. dat zorgt ervoor dat de gebruikersnaam uniek is en dat tekens niet hoeven te worden geconverteerd. De interne gebruikersnaam heeft de beperking dat alleen deze tekens zijn toegestaan: [ a-zA-Z0-9_.@-]. Andere tekens worden vervangen door hun overeenkomstige ASCII-waarde of simpelweg weggelaten. Bij conflicten wordt een nummer toegevoegd/verhoogd. De interne gebruikersnaam wordt gebruikt om een gebruiker intern te identificeren. Het is ook de standaardnaam voor de thuis-map van de gebruiker. Het is ook onderdeel van de externe URLs, bijvoorbeeld voor alle *DAV services. Met deze instelling kan het standaardgedrag worden overschreven. Wijzigingen hebben alleen effect voor nieuw gekoppelde (toegevoegde) LDAP gebruikers."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/nl.json b/apps/user_ldap/l10n/nl.json
index fbddeb1ef14..1fc8c58781e 100644
--- a/apps/user_ldap/l10n/nl.json
+++ b/apps/user_ldap/l10n/nl.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "\"$home\" Plaatshouder veld",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in een externe opslag configuratie wordt vervangen door de waarde van het gespecificeerde attribuut",
"Internal Username" : "Interne gebruikersnaam",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standaard wordt de interne gebruikersnaam afgeleid van het UUID attribuut. dat zorgt ervoor dat de gebruikersnaam uniek is en dat tekens niet hoeven te worden geconverteerd. De interne gebruikersnaam heeft de beperking dat alleen deze tekens zijn toegestaan: [ a-zA-Z0-9_.@-]. Andere tekens worden vervangen door hun overeenkomstige ASCII-waarde of simpelweg weggelaten. Bij conflicten wordt een nummer toegevoegd/verhoogd. De interne gebruikersnaam wordt gebruikt om een gebruiker intern te identificeren. Het is ook de standaardnaam voor de thuis-map van de gebruiker. Het is ook onderdeel van de externe URLs, bijvoorbeeld voor alle *DAV services. Met deze instelling kan het standaardgedrag worden overschreven. Wijzigingen hebben alleen effect voor nieuw gekoppelde (toegevoegde) LDAP gebruikers.",
"Internal Username Attribute:" : "Interne gebruikersnaam attribuut:",
"Override UUID detection" : "Negeren UUID detectie",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Standaard wordt het UUID-attribuut automatisch herkend. Het UUID attribuut wordt gebruikt om LDAP-gebruikers en -groepen uniek te identificeren. Ook zal de interne gebruikersnaam worden aangemaakt op basis van het UUID, tenzij deze hierboven anders is aangegeven. Je kunt de instelling overschrijven en zelf een waarde voor het attribuut opgeven. Je moet ervoor zorgen dat het ingestelde attribuut kan worden opgehaald voor zowel gebruikers als groepen en dat het uniek is. Laat het leeg voor standaard gedrag. Veranderingen worden alleen doorgevoerd op nieuw gekoppelde (toegevoegde) LDAP-gebruikers en-groepen.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Gebruikersnaam-LDAP gebruikers vertaling",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Gebruikersnamen worden gebruikt om metadata op te slaan en toe te wijzen. Om gebruikers uniek te identificeren, krijgt elke LDAP-gebruiker ook een interne gebruikersnaam. Dit vereist een koppeling van de gebruikersnaam naar een ​​LDAP-gebruiker. De gecreëerde gebruikersnaam is gekoppeld aan de UUID van de LDAP-gebruiker. Aanvullend wordt ook de 'DN' gecached om het aantal LDAP-interacties te verminderen, maar dit wordt niet gebruikt voor identificatie. Als de DN verandert, zullen de veranderingen worden gevonden. De interne gebruikersnaam wordt overal gebruikt. Het wissen van de koppeling zal overal resten achterlaten. Het wissen van koppelingen is niet configuratiegevoelig, maar het raakt wel alle LDAP instellingen! Zorg ervoor dat deze koppelingen nooit in een productieomgeving gewist worden. Maak ze alleen leeg in een test- of ontwikkelomgeving.",
"Clear Username-LDAP User Mapping" : "Leegmaken Gebruikersnaam-LDAP gebruikers vertaling",
- "Clear Groupname-LDAP Group Mapping" : "Leegmaken Groepsnaam-LDAP groep vertaling"
+ "Clear Groupname-LDAP Group Mapping" : "Leegmaken Groepsnaam-LDAP groep vertaling",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Standaard wordt de interne gebruikersnaam afgeleid van het UUID attribuut. dat zorgt ervoor dat de gebruikersnaam uniek is en dat tekens niet hoeven te worden geconverteerd. De interne gebruikersnaam heeft de beperking dat alleen deze tekens zijn toegestaan: [ a-zA-Z0-9_.@-]. Andere tekens worden vervangen door hun overeenkomstige ASCII-waarde of simpelweg weggelaten. Bij conflicten wordt een nummer toegevoegd/verhoogd. De interne gebruikersnaam wordt gebruikt om een gebruiker intern te identificeren. Het is ook de standaardnaam voor de thuis-map van de gebruiker. Het is ook onderdeel van de externe URLs, bijvoorbeeld voor alle *DAV services. Met deze instelling kan het standaardgedrag worden overschreven. Wijzigingen hebben alleen effect voor nieuw gekoppelde (toegevoegde) LDAP gebruikers."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/pl.js b/apps/user_ldap/l10n/pl.js
index 06390f2838f..92697b56359 100644
--- a/apps/user_ldap/l10n/pl.js
+++ b/apps/user_ldap/l10n/pl.js
@@ -180,7 +180,7 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "Pole zastępcze \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home w zewnętrznej konfiguracji pamięci zostanie zastąpiony wartością określonego atrybutu",
"Internal Username" : "Wewnętrzna nazwa użytkownika",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Domyślnie wewnętrzna nazwa użytkownika zostanie utworzona z atrybutu UUID. Zapewnia to unikalność nazwy użytkownika, a znaki nie muszą być konwertowane. Wewnętrzna nazwa użytkownika ma ograniczenie, dlatego dozwolone są tylko znaki: [a-zA-Z0-9_.@-]. Inne znaki są zastępowane przez ich odpowiedniki ASCII lub po prostu pomijane. W przypadku kolizji zostanie dodany/zwiększony numer. Wewnętrzna nazwa użytkownika służy do wewnętrznej identyfikacji użytkownika. Jest również domyślną nazwą katalogu domowego użytkownika oraz częścią zdalnych adresów URL, na przykład dla wszystkich usług *DAV. Dzięki temu ustawieniu można zastąpić domyślne zachowanie. Zmiany będą miały wpływ tylko na nowo zmapowanych (dodanych) użytkowników LDAP. Dla domyślnego zachowania pozostaw to puste.",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Domyślnie wewnętrzna nazwa użytkownika zostanie utworzona z atrybutu UUID. Zapewnia to unikalność nazwy użytkownika, a znaki nie muszą być konwertowane. Wewnętrzna nazwa użytkownika ma ograniczenie, dlatego dozwolone są tylko znaki: [a-zA-Z0-9_.@-]. Inne znaki są zastępowane przez ich odpowiedniki ASCII lub po prostu pomijane. W przypadku kolizji zostanie dodany/zwiększony numer. Wewnętrzna nazwa użytkownika służy do wewnętrznej identyfikacji użytkownika. Jest również domyślną nazwą katalogu domowego użytkownika oraz częścią zdalnych adresów URL, na przykład dla wszystkich usług *DAV. Dzięki temu ustawieniu można zastąpić domyślne zachowanie. Zmiany będą miały wpływ tylko na nowo zmapowanych (dodanych) użytkowników LDAP. Dla domyślnego zachowania pozostaw to puste.",
"Internal Username Attribute:" : "Wewnętrzny atrybut nazwy uzżytkownika:",
"Override UUID detection" : "Zastąp wykrywanie UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Domyślnie, atrybut UUID jest wykrywany automatycznie. Atrybut UUID jest używany do niepodważalnej identyfikacji użytkowników i grup LDAP. Również wewnętrzna nazwa użytkownika zostanie stworzona na bazie UUID, jeśli nie zostanie podana powyżej. Możesz nadpisać to ustawienie i użyć atrybutu wedle uznania. Musisz się jednak upewnić, że atrybut ten może zostać pobrany zarówno dla użytkowników, jak i grup i jest unikalny. Pozostaw puste dla domyślnego zachowania. Zmiany będą miały wpływ tylko na nowo przypisanych (dodanych) użytkowników i grupy LDAP.",
@@ -189,6 +189,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Mapowanie użytkownika LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Nazwy użytkowników służą do przechowywania i przypisywania metadanych. Aby precyzyjnie zidentyfikować i rozpoznać użytkowników, każdy użytkownik LDAP będzie miał wewnętrzną nazwę użytkownika. Wymaga to mapowania z nazwy użytkownika na użytkownika LDAP. Utworzona nazwa użytkownika jest mapowana na UUID użytkownika LDAP. Dodatkowo DN jest buforowany w celu zmniejszenia interakcji LDAP, ale nie jest używany do identyfikacji. Zmiany zostaną wykryte jeśli DN zmieni się. Wewnętrzna nazwa użytkownika jest używana wszędzie. Wyczyszczenie mapowań pozostawi pozostałości po nim. Wyczyszczenie mapowań nie ma wpływu na konfigurację, ale ma wpływ na wszystkie konfiguracje LDAP! Nigdy nie usuwaj mapowań w środowisku produkcyjnym, tylko na etapie testowym lub eksperymentalnym.",
"Clear Username-LDAP User Mapping" : "Czyść Mapowanie użytkownika LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Czyść Mapowanie nazwy grupy LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Czyść Mapowanie nazwy grupy LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Domyślnie wewnętrzna nazwa użytkownika zostanie utworzona z atrybutu UUID. Zapewnia to unikalność nazwy użytkownika, a znaki nie muszą być konwertowane. Wewnętrzna nazwa użytkownika ma ograniczenie, dlatego dozwolone są tylko znaki: [a-zA-Z0-9_.@-]. Inne znaki są zastępowane przez ich odpowiedniki ASCII lub po prostu pomijane. W przypadku kolizji zostanie dodany/zwiększony numer. Wewnętrzna nazwa użytkownika służy do wewnętrznej identyfikacji użytkownika. Jest również domyślną nazwą katalogu domowego użytkownika oraz częścią zdalnych adresów URL, na przykład dla wszystkich usług *DAV. Dzięki temu ustawieniu można zastąpić domyślne zachowanie. Zmiany będą miały wpływ tylko na nowo zmapowanych (dodanych) użytkowników LDAP. Dla domyślnego zachowania pozostaw to puste."
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/user_ldap/l10n/pl.json b/apps/user_ldap/l10n/pl.json
index 3d1267047f0..3c54d9ed5bf 100644
--- a/apps/user_ldap/l10n/pl.json
+++ b/apps/user_ldap/l10n/pl.json
@@ -178,7 +178,7 @@
"\"$home\" Placeholder Field" : "Pole zastępcze \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home w zewnętrznej konfiguracji pamięci zostanie zastąpiony wartością określonego atrybutu",
"Internal Username" : "Wewnętrzna nazwa użytkownika",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Domyślnie wewnętrzna nazwa użytkownika zostanie utworzona z atrybutu UUID. Zapewnia to unikalność nazwy użytkownika, a znaki nie muszą być konwertowane. Wewnętrzna nazwa użytkownika ma ograniczenie, dlatego dozwolone są tylko znaki: [a-zA-Z0-9_.@-]. Inne znaki są zastępowane przez ich odpowiedniki ASCII lub po prostu pomijane. W przypadku kolizji zostanie dodany/zwiększony numer. Wewnętrzna nazwa użytkownika służy do wewnętrznej identyfikacji użytkownika. Jest również domyślną nazwą katalogu domowego użytkownika oraz częścią zdalnych adresów URL, na przykład dla wszystkich usług *DAV. Dzięki temu ustawieniu można zastąpić domyślne zachowanie. Zmiany będą miały wpływ tylko na nowo zmapowanych (dodanych) użytkowników LDAP. Dla domyślnego zachowania pozostaw to puste.",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Domyślnie wewnętrzna nazwa użytkownika zostanie utworzona z atrybutu UUID. Zapewnia to unikalność nazwy użytkownika, a znaki nie muszą być konwertowane. Wewnętrzna nazwa użytkownika ma ograniczenie, dlatego dozwolone są tylko znaki: [a-zA-Z0-9_.@-]. Inne znaki są zastępowane przez ich odpowiedniki ASCII lub po prostu pomijane. W przypadku kolizji zostanie dodany/zwiększony numer. Wewnętrzna nazwa użytkownika służy do wewnętrznej identyfikacji użytkownika. Jest również domyślną nazwą katalogu domowego użytkownika oraz częścią zdalnych adresów URL, na przykład dla wszystkich usług *DAV. Dzięki temu ustawieniu można zastąpić domyślne zachowanie. Zmiany będą miały wpływ tylko na nowo zmapowanych (dodanych) użytkowników LDAP. Dla domyślnego zachowania pozostaw to puste.",
"Internal Username Attribute:" : "Wewnętrzny atrybut nazwy uzżytkownika:",
"Override UUID detection" : "Zastąp wykrywanie UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Domyślnie, atrybut UUID jest wykrywany automatycznie. Atrybut UUID jest używany do niepodważalnej identyfikacji użytkowników i grup LDAP. Również wewnętrzna nazwa użytkownika zostanie stworzona na bazie UUID, jeśli nie zostanie podana powyżej. Możesz nadpisać to ustawienie i użyć atrybutu wedle uznania. Musisz się jednak upewnić, że atrybut ten może zostać pobrany zarówno dla użytkowników, jak i grup i jest unikalny. Pozostaw puste dla domyślnego zachowania. Zmiany będą miały wpływ tylko na nowo przypisanych (dodanych) użytkowników i grupy LDAP.",
@@ -187,6 +187,7 @@
"Username-LDAP User Mapping" : "Mapowanie użytkownika LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Nazwy użytkowników służą do przechowywania i przypisywania metadanych. Aby precyzyjnie zidentyfikować i rozpoznać użytkowników, każdy użytkownik LDAP będzie miał wewnętrzną nazwę użytkownika. Wymaga to mapowania z nazwy użytkownika na użytkownika LDAP. Utworzona nazwa użytkownika jest mapowana na UUID użytkownika LDAP. Dodatkowo DN jest buforowany w celu zmniejszenia interakcji LDAP, ale nie jest używany do identyfikacji. Zmiany zostaną wykryte jeśli DN zmieni się. Wewnętrzna nazwa użytkownika jest używana wszędzie. Wyczyszczenie mapowań pozostawi pozostałości po nim. Wyczyszczenie mapowań nie ma wpływu na konfigurację, ale ma wpływ na wszystkie konfiguracje LDAP! Nigdy nie usuwaj mapowań w środowisku produkcyjnym, tylko na etapie testowym lub eksperymentalnym.",
"Clear Username-LDAP User Mapping" : "Czyść Mapowanie użytkownika LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Czyść Mapowanie nazwy grupy LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Czyść Mapowanie nazwy grupy LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Domyślnie wewnętrzna nazwa użytkownika zostanie utworzona z atrybutu UUID. Zapewnia to unikalność nazwy użytkownika, a znaki nie muszą być konwertowane. Wewnętrzna nazwa użytkownika ma ograniczenie, dlatego dozwolone są tylko znaki: [a-zA-Z0-9_.@-]. Inne znaki są zastępowane przez ich odpowiedniki ASCII lub po prostu pomijane. W przypadku kolizji zostanie dodany/zwiększony numer. Wewnętrzna nazwa użytkownika służy do wewnętrznej identyfikacji użytkownika. Jest również domyślną nazwą katalogu domowego użytkownika oraz częścią zdalnych adresów URL, na przykład dla wszystkich usług *DAV. Dzięki temu ustawieniu można zastąpić domyślne zachowanie. Zmiany będą miały wpływ tylko na nowo zmapowanych (dodanych) użytkowników LDAP. Dla domyślnego zachowania pozostaw to puste."
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/pt_BR.js b/apps/user_ldap/l10n/pt_BR.js
index 8b58e1c10ba..5728774d652 100644
--- a/apps/user_ldap/l10n/pt_BR.js
+++ b/apps/user_ldap/l10n/pt_BR.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "Campo Reservado \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home em uma configuração de armazenamento externo será substituído pelo valor do atributo especificado",
"Internal Username" : "Nome de usuário interno",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Por padrão, o nome de usuário interno será criado a partir do atributo UUID. Isso garante que o nome de usuário seja único e os caracteres não precisem ser convertidos. O nome de usuário interno tem a restrição de que apenas estes caracteres são permitidos: [a-zA-Z0-9 _. @ -]. Outros caracteres são substituídos por sua correspondência ASCII ou simplesmente omitidos. Em colisões, um número será adicionado / aumentado. O nome de usuário interno é usado para identificar um usuário internamente. É também o nome padrão da pasta inicial do usuário. Também faz parte de URLs remotos, por exemplo, para todos os serviços * DAV. Com essa configuração, o comportamento padrão pode ser substituído. As alterações terão efeito apenas em usuários LDAP recém-mapeados (adicionados). Deixe em branco para o comportamento padrão.",
"Internal Username Attribute:" : "Atributo Interno de Nome de Usuário:",
"Override UUID detection" : "Substituir detecção UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Por padrão, o atributo UUID é detectado automaticamente. O atributo UUID é usado para identificar corretamente os usuários e grupos LDAP. Além disso, o nome de usuário interno será criado com base no UUID, se não especificado acima. Você pode substituir a configuração e passar um atributo de sua escolha. Você deve certificar-se de que o atributo de sua escolha pode ser lido tanto por usuários quanto por grupos, e que seja único. Deixe-o em branco para o comportamento padrão. As alterações terão efeito apenas para usuários e grupos LDAP recém mapeados (adicionados).",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Mapeamento de Usuário Username-LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Os nomes de usuários são usados para armazenar e atribuir metadados. Para identificar e reconhecer com precisão os usuários, cada usuário LDAP terá um nome de usuário interno. Isso requer um mapeamento do nome de usuário para o usuário LDAP. O nome de usuário criado é mapeado para o UUID do usuário LDAP. Além disso, o DN também é armazenado em cache para reduzir a interação LDAP, mas não é usado para identificação. Se o DN mudar, as alterações serão encontradas. O nome de usuário interno é usado em todo lugar. Limpar os mapeamentos gerará sobras em todos os lugares. Limpar os mapeamentos não é sensível à configuração e afeta todas as configurações do LDAP! Nunca limpe os mapeamentos em um ambiente de produção, apenas em um estágio de teste ou experimental.",
"Clear Username-LDAP User Mapping" : "Limpar Mapeamento de Usuário username-LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Limpar Mapeamento do Grupo groupname-LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Limpar Mapeamento do Grupo groupname-LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Por padrão, o nome de usuário interno será criado a partir do atributo UUID. Isso garante que o nome de usuário seja único e os caracteres não precisem ser convertidos. O nome de usuário interno tem a restrição de que apenas estes caracteres são permitidos: [a-zA-Z0-9 _. @ -]. Outros caracteres são substituídos por sua correspondência ASCII ou simplesmente omitidos. Em colisões, um número será adicionado / aumentado. O nome de usuário interno é usado para identificar um usuário internamente. É também o nome padrão da pasta inicial do usuário. Também faz parte de URLs remotos, por exemplo, para todos os serviços * DAV. Com essa configuração, o comportamento padrão pode ser substituído. As alterações terão efeito apenas em usuários LDAP recém-mapeados (adicionados). Deixe em branco para o comportamento padrão."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/user_ldap/l10n/pt_BR.json b/apps/user_ldap/l10n/pt_BR.json
index d68c76225ea..c471ee4b424 100644
--- a/apps/user_ldap/l10n/pt_BR.json
+++ b/apps/user_ldap/l10n/pt_BR.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "Campo Reservado \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home em uma configuração de armazenamento externo será substituído pelo valor do atributo especificado",
"Internal Username" : "Nome de usuário interno",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Por padrão, o nome de usuário interno será criado a partir do atributo UUID. Isso garante que o nome de usuário seja único e os caracteres não precisem ser convertidos. O nome de usuário interno tem a restrição de que apenas estes caracteres são permitidos: [a-zA-Z0-9 _. @ -]. Outros caracteres são substituídos por sua correspondência ASCII ou simplesmente omitidos. Em colisões, um número será adicionado / aumentado. O nome de usuário interno é usado para identificar um usuário internamente. É também o nome padrão da pasta inicial do usuário. Também faz parte de URLs remotos, por exemplo, para todos os serviços * DAV. Com essa configuração, o comportamento padrão pode ser substituído. As alterações terão efeito apenas em usuários LDAP recém-mapeados (adicionados). Deixe em branco para o comportamento padrão.",
"Internal Username Attribute:" : "Atributo Interno de Nome de Usuário:",
"Override UUID detection" : "Substituir detecção UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Por padrão, o atributo UUID é detectado automaticamente. O atributo UUID é usado para identificar corretamente os usuários e grupos LDAP. Além disso, o nome de usuário interno será criado com base no UUID, se não especificado acima. Você pode substituir a configuração e passar um atributo de sua escolha. Você deve certificar-se de que o atributo de sua escolha pode ser lido tanto por usuários quanto por grupos, e que seja único. Deixe-o em branco para o comportamento padrão. As alterações terão efeito apenas para usuários e grupos LDAP recém mapeados (adicionados).",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Mapeamento de Usuário Username-LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Os nomes de usuários são usados para armazenar e atribuir metadados. Para identificar e reconhecer com precisão os usuários, cada usuário LDAP terá um nome de usuário interno. Isso requer um mapeamento do nome de usuário para o usuário LDAP. O nome de usuário criado é mapeado para o UUID do usuário LDAP. Além disso, o DN também é armazenado em cache para reduzir a interação LDAP, mas não é usado para identificação. Se o DN mudar, as alterações serão encontradas. O nome de usuário interno é usado em todo lugar. Limpar os mapeamentos gerará sobras em todos os lugares. Limpar os mapeamentos não é sensível à configuração e afeta todas as configurações do LDAP! Nunca limpe os mapeamentos em um ambiente de produção, apenas em um estágio de teste ou experimental.",
"Clear Username-LDAP User Mapping" : "Limpar Mapeamento de Usuário username-LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Limpar Mapeamento do Grupo groupname-LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Limpar Mapeamento do Grupo groupname-LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Por padrão, o nome de usuário interno será criado a partir do atributo UUID. Isso garante que o nome de usuário seja único e os caracteres não precisem ser convertidos. O nome de usuário interno tem a restrição de que apenas estes caracteres são permitidos: [a-zA-Z0-9 _. @ -]. Outros caracteres são substituídos por sua correspondência ASCII ou simplesmente omitidos. Em colisões, um número será adicionado / aumentado. O nome de usuário interno é usado para identificar um usuário internamente. É também o nome padrão da pasta inicial do usuário. Também faz parte de URLs remotos, por exemplo, para todos os serviços * DAV. Com essa configuração, o comportamento padrão pode ser substituído. As alterações terão efeito apenas em usuários LDAP recém-mapeados (adicionados). Deixe em branco para o comportamento padrão."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ru.js b/apps/user_ldap/l10n/ru.js
index 875c27a9787..97c5dec096d 100644
--- a/apps/user_ldap/l10n/ru.js
+++ b/apps/user_ldap/l10n/ru.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "Поле-заполнитель \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "В конфигурации внешнего хранилища $home будет заменен значением указанного атрибута",
"Internal Username" : "Внутреннее имя пользователя",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "По умолчанию внутреннее имя пользователя будет создано из атрибута UUID. Это даёт гарантию того, что имя пользователя уникально и символы не нужно конвертировать. Внутреннее имя пользователя имеет ограничение на то, что только эти символы допустимы: [ a-zA-Z0-9_.@-]. Другие символы замещаются их корреспондирующими символами ASCII или же просто отбрасываются. При коллизиях добавляется или увеличивается номер. Внутреннее имя пользователя используется для идентификации пользователя внутри системы. Также это по умолчанию имя для домашней папки пользователя. Также это часть адресов URL, например для всех служб *DAV. С помощью этой установки, поведение по умолчанию может быть изменено. Оставьте его пустым для поведения по умолчанию. Изменения будут иметь эффект только для вновь спроецированных (добавленных) пользователей LDAP. ",
"Internal Username Attribute:" : "Атрибут для внутреннего имени:",
"Override UUID detection" : "Переопределить нахождение UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "По умолчанию ownCloud определяет атрибут UUID автоматически. Этот атрибут используется для того, чтобы достоверно идентифицировать пользователей и группы LDAP. Также на основании атрибута UUID создается внутреннее имя пользователя, если выше не указано иначе. Вы можете переопределить эту настройку и указать свой атрибут по выбору. Вы должны удостовериться, что выбранный вами атрибут может быть выбран для пользователей и групп, а также то, что он уникальный. Оставьте поле пустым для поведения по умолчанию. Изменения вступят в силу только для новых подключенных (добавленных) пользователей и групп LDAP.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Соответствия Имя-Пользователь LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Имена пользователей используются для хранения и назначения метаданных. Для точной идентификации и распознавания пользователей, каждый пользователь LDAP будет иметь свое внутреннее имя пользователя. Это требует привязки имени пользователя к пользователю LDAP. При создании имя пользователя назначается идентификатору UUID пользователя LDAP. Помимо этого кешируется DN для уменьшения числа обращений к LDAP, однако он не используется для идентификации. Если DN был изменён, то изменения будут найдены. Внутреннее имя используется повсеместно. После сброса привязок в базе могут сохраниться остатки старой информации. Сброс привязок не привязан к конфигурации, он повлияет на все LDAP подключения! Ни в коем случае не рекомендуется сбрасывать привязки если система уже находится в эксплуатации, только на этапе тестирования.",
"Clear Username-LDAP User Mapping" : "Очистить соответствия Имя-Пользователь LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Очистить соответствия Группа-Группа LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Очистить соответствия Группа-Группа LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "По умолчанию внутреннее имя пользователя будет создано из атрибута UUID. Это даёт гарантию того, что имя пользователя уникально и символы не нужно конвертировать. Внутреннее имя пользователя имеет ограничение на то, что только эти символы допустимы: [ a-zA-Z0-9_.@-]. Другие символы замещаются их корреспондирующими символами ASCII или же просто отбрасываются. При коллизиях добавляется или увеличивается номер. Внутреннее имя пользователя используется для идентификации пользователя внутри системы. Также это по умолчанию имя для домашней папки пользователя. Также это часть адресов URL, например для всех служб *DAV. С помощью этой установки, поведение по умолчанию может быть изменено. Оставьте его пустым для поведения по умолчанию. Изменения будут иметь эффект только для вновь спроецированных (добавленных) пользователей LDAP. "
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/user_ldap/l10n/ru.json b/apps/user_ldap/l10n/ru.json
index 15d8f44d1d0..b69e8d11da1 100644
--- a/apps/user_ldap/l10n/ru.json
+++ b/apps/user_ldap/l10n/ru.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "Поле-заполнитель \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "В конфигурации внешнего хранилища $home будет заменен значением указанного атрибута",
"Internal Username" : "Внутреннее имя пользователя",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "По умолчанию внутреннее имя пользователя будет создано из атрибута UUID. Это даёт гарантию того, что имя пользователя уникально и символы не нужно конвертировать. Внутреннее имя пользователя имеет ограничение на то, что только эти символы допустимы: [ a-zA-Z0-9_.@-]. Другие символы замещаются их корреспондирующими символами ASCII или же просто отбрасываются. При коллизиях добавляется или увеличивается номер. Внутреннее имя пользователя используется для идентификации пользователя внутри системы. Также это по умолчанию имя для домашней папки пользователя. Также это часть адресов URL, например для всех служб *DAV. С помощью этой установки, поведение по умолчанию может быть изменено. Оставьте его пустым для поведения по умолчанию. Изменения будут иметь эффект только для вновь спроецированных (добавленных) пользователей LDAP. ",
"Internal Username Attribute:" : "Атрибут для внутреннего имени:",
"Override UUID detection" : "Переопределить нахождение UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "По умолчанию ownCloud определяет атрибут UUID автоматически. Этот атрибут используется для того, чтобы достоверно идентифицировать пользователей и группы LDAP. Также на основании атрибута UUID создается внутреннее имя пользователя, если выше не указано иначе. Вы можете переопределить эту настройку и указать свой атрибут по выбору. Вы должны удостовериться, что выбранный вами атрибут может быть выбран для пользователей и групп, а также то, что он уникальный. Оставьте поле пустым для поведения по умолчанию. Изменения вступят в силу только для новых подключенных (добавленных) пользователей и групп LDAP.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Соответствия Имя-Пользователь LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Имена пользователей используются для хранения и назначения метаданных. Для точной идентификации и распознавания пользователей, каждый пользователь LDAP будет иметь свое внутреннее имя пользователя. Это требует привязки имени пользователя к пользователю LDAP. При создании имя пользователя назначается идентификатору UUID пользователя LDAP. Помимо этого кешируется DN для уменьшения числа обращений к LDAP, однако он не используется для идентификации. Если DN был изменён, то изменения будут найдены. Внутреннее имя используется повсеместно. После сброса привязок в базе могут сохраниться остатки старой информации. Сброс привязок не привязан к конфигурации, он повлияет на все LDAP подключения! Ни в коем случае не рекомендуется сбрасывать привязки если система уже находится в эксплуатации, только на этапе тестирования.",
"Clear Username-LDAP User Mapping" : "Очистить соответствия Имя-Пользователь LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Очистить соответствия Группа-Группа LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Очистить соответствия Группа-Группа LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "По умолчанию внутреннее имя пользователя будет создано из атрибута UUID. Это даёт гарантию того, что имя пользователя уникально и символы не нужно конвертировать. Внутреннее имя пользователя имеет ограничение на то, что только эти символы допустимы: [ a-zA-Z0-9_.@-]. Другие символы замещаются их корреспондирующими символами ASCII или же просто отбрасываются. При коллизиях добавляется или увеличивается номер. Внутреннее имя пользователя используется для идентификации пользователя внутри системы. Также это по умолчанию имя для домашней папки пользователя. Также это часть адресов URL, например для всех служб *DAV. С помощью этой установки, поведение по умолчанию может быть изменено. Оставьте его пустым для поведения по умолчанию. Изменения будут иметь эффект только для вновь спроецированных (добавленных) пользователей LDAP. "
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/sc.js b/apps/user_ldap/l10n/sc.js
index 1441ef541d6..1ee542957e2 100644
--- a/apps/user_ldap/l10n/sc.js
+++ b/apps/user_ldap/l10n/sc.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" Campu sostitutu temporàneu",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in una cunfiguratzione de archiviatzione de foras s'at a cambiare cun su valore de s'atributu ispetzìficu",
"Internal Username" : "Nùmene utente de intro",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "A manera predefinida, su nùmene utente de intro s'at a creare dae s'atributu UUID. Si segurat chi su nùmene utente siat ùnicu e chi non si depant cunvertire is caràteres. Su nùmene utente de intro permitit s'impreu de caràteres ispetzìficos: [a-zA-Z0-9_.@-]. Is àteros caràteres si cambiant cun sa currispondèntzia ASCII o non si ponent. S'in casu de cunflitu, s'agiunghet/creschet unu nùmeru. Su nùmene utente de intro s'impreat pro identificare un'utente de intro. Est puru su nùmene predefinidu pro sa cartella printzipale de s'utente. Est puru una parte de URL remotos, pro esèmpiu pro totu is servìtzios *DAV. Cun custa impostatzione, su funtzionamentu predefinidu si podet brincare. Is càmbios ant a èssere efetivos isceti in is utèntzias noas assotziadas LDAP (agiuntas). Lassa bòidu pro funtzionamentu predefinidu.",
"Internal Username Attribute:" : "Atributu nùmene utente de intro:",
"Override UUID detection" : "Ignora rilevada UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "A manera predefinida, s'atributu UUID si rilevat in automàticu. S'atributu UUID est impreadu pro identificare cun seguresa is utentes e grupos LDAP. In prus, su nùmene utente de intro s'at a creare basadu subra de s'UUID, si non s'ispetzìficat àteru. Podes ignorare s'impostatzione e frunire un'atributu seberadu dae te. Ti depes segurare chi s'atributu seberadu si potzat otènnere siat pro utenets siat pro grupos e chi siat ùnicu. Lassa bòidu pro funtzionamentu predefinidu. Is càmbios ant a èssere efetivos isceti pro is ùtèntzias e grupos noos LDAP assotziados (agiuntos).",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Assòtziu Nùmene utente-Utente LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Is nùmenes utente d'impreant pro archiviare e assignare is metadatos. Pro identificare a pretzisu e connòschere is utentes, cada utente LDAP at a tènnere unu nùmene utente de intro. Custu rechedet un'assòtziu dae nùmene utente a utente LDAP. Su nùmene utente creadu est assotziadu a s'UUID de s'utente LDAP. In prus su DN si ponet in memòria temporànea pro minimare s'interatzione cun LDAP, ma non s'impreat pro s'identificatzione. Si su DN càmbiat, is càmbios s'ant a agatare. Su nùmene utente de intro s'impreat in totue. Limpiende is assòtzios s'ant a lassare arrastos a s'at a interessare totu sa cunfiguratzione LDAP! Non limpies mai is assòtzios in un'ambiente de produtzione, ma isceti in una fase de proa o isperimentos.",
"Clear Username-LDAP User Mapping" : "Lìmpia assòtziu Nùmene utente-Utente LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Lìmpia assòtziu Nùmene de su grupu-Grupu LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Lìmpia assòtziu Nùmene de su grupu-Grupu LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "A manera predefinida, su nùmene utente de intro s'at a creare dae s'atributu UUID. Si segurat chi su nùmene utente siat ùnicu e chi non si depant cunvertire is caràteres. Su nùmene utente de intro permitit s'impreu de caràteres ispetzìficos: [a-zA-Z0-9_.@-]. Is àteros caràteres si cambiant cun sa currispondèntzia ASCII o non si ponent. S'in casu de cunflitu, s'agiunghet/creschet unu nùmeru. Su nùmene utente de intro s'impreat pro identificare un'utente de intro. Est puru su nùmene predefinidu pro sa cartella printzipale de s'utente. Est puru una parte de URL remotos, pro esèmpiu pro totu is servìtzios *DAV. Cun custa impostatzione, su funtzionamentu predefinidu si podet brincare. Is càmbios ant a èssere efetivos isceti in is utèntzias noas assotziadas LDAP (agiuntas). Lassa bòidu pro funtzionamentu predefinidu."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/sc.json b/apps/user_ldap/l10n/sc.json
index 8ccfc45015c..aa853747535 100644
--- a/apps/user_ldap/l10n/sc.json
+++ b/apps/user_ldap/l10n/sc.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "\"$home\" Campu sostitutu temporàneu",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in una cunfiguratzione de archiviatzione de foras s'at a cambiare cun su valore de s'atributu ispetzìficu",
"Internal Username" : "Nùmene utente de intro",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "A manera predefinida, su nùmene utente de intro s'at a creare dae s'atributu UUID. Si segurat chi su nùmene utente siat ùnicu e chi non si depant cunvertire is caràteres. Su nùmene utente de intro permitit s'impreu de caràteres ispetzìficos: [a-zA-Z0-9_.@-]. Is àteros caràteres si cambiant cun sa currispondèntzia ASCII o non si ponent. S'in casu de cunflitu, s'agiunghet/creschet unu nùmeru. Su nùmene utente de intro s'impreat pro identificare un'utente de intro. Est puru su nùmene predefinidu pro sa cartella printzipale de s'utente. Est puru una parte de URL remotos, pro esèmpiu pro totu is servìtzios *DAV. Cun custa impostatzione, su funtzionamentu predefinidu si podet brincare. Is càmbios ant a èssere efetivos isceti in is utèntzias noas assotziadas LDAP (agiuntas). Lassa bòidu pro funtzionamentu predefinidu.",
"Internal Username Attribute:" : "Atributu nùmene utente de intro:",
"Override UUID detection" : "Ignora rilevada UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "A manera predefinida, s'atributu UUID si rilevat in automàticu. S'atributu UUID est impreadu pro identificare cun seguresa is utentes e grupos LDAP. In prus, su nùmene utente de intro s'at a creare basadu subra de s'UUID, si non s'ispetzìficat àteru. Podes ignorare s'impostatzione e frunire un'atributu seberadu dae te. Ti depes segurare chi s'atributu seberadu si potzat otènnere siat pro utenets siat pro grupos e chi siat ùnicu. Lassa bòidu pro funtzionamentu predefinidu. Is càmbios ant a èssere efetivos isceti pro is ùtèntzias e grupos noos LDAP assotziados (agiuntos).",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Assòtziu Nùmene utente-Utente LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Is nùmenes utente d'impreant pro archiviare e assignare is metadatos. Pro identificare a pretzisu e connòschere is utentes, cada utente LDAP at a tènnere unu nùmene utente de intro. Custu rechedet un'assòtziu dae nùmene utente a utente LDAP. Su nùmene utente creadu est assotziadu a s'UUID de s'utente LDAP. In prus su DN si ponet in memòria temporànea pro minimare s'interatzione cun LDAP, ma non s'impreat pro s'identificatzione. Si su DN càmbiat, is càmbios s'ant a agatare. Su nùmene utente de intro s'impreat in totue. Limpiende is assòtzios s'ant a lassare arrastos a s'at a interessare totu sa cunfiguratzione LDAP! Non limpies mai is assòtzios in un'ambiente de produtzione, ma isceti in una fase de proa o isperimentos.",
"Clear Username-LDAP User Mapping" : "Lìmpia assòtziu Nùmene utente-Utente LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Lìmpia assòtziu Nùmene de su grupu-Grupu LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Lìmpia assòtziu Nùmene de su grupu-Grupu LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "A manera predefinida, su nùmene utente de intro s'at a creare dae s'atributu UUID. Si segurat chi su nùmene utente siat ùnicu e chi non si depant cunvertire is caràteres. Su nùmene utente de intro permitit s'impreu de caràteres ispetzìficos: [a-zA-Z0-9_.@-]. Is àteros caràteres si cambiant cun sa currispondèntzia ASCII o non si ponent. S'in casu de cunflitu, s'agiunghet/creschet unu nùmeru. Su nùmene utente de intro s'impreat pro identificare un'utente de intro. Est puru su nùmene predefinidu pro sa cartella printzipale de s'utente. Est puru una parte de URL remotos, pro esèmpiu pro totu is servìtzios *DAV. Cun custa impostatzione, su funtzionamentu predefinidu si podet brincare. Is càmbios ant a èssere efetivos isceti in is utèntzias noas assotziadas LDAP (agiuntas). Lassa bòidu pro funtzionamentu predefinidu."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/sk.js b/apps/user_ldap/l10n/sk.js
index d57816d18c3..db140b7d85f 100644
--- a/apps/user_ldap/l10n/sk.js
+++ b/apps/user_ldap/l10n/sk.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "Výplňová kolónka „$home“",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$ home bude v nastavení externého úložiska nahradená hodnotou zadaného atribútu ",
"Internal Username" : "Interné používateľské meno",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "V predvolenom nastavení sa interné používateľské meno vytvorí z atribútu UUID. Zabezpečuje jedinečnosť používateľského mena a nie je potrebné meniť znaky. Interné používateľské meno má obmedzenia, ktoré povoľujú iba tieto znaky: [a-zA-Z0-9 _. @ -]. Ostatné znaky sa nahradia zodpovedajúcimi znakmi ASCII alebo sa jednoducho vynechajú. Pri konfliktoch bude pridané/zvýšené číslo. Interné používateľské meno sa používa na internú identifikáciu používateľa. Je to tiež predvolený názov domovského priečinka používateľa. Je tiež súčasťou URL, napríklad pre všetky služby * DAV. Týmto nastavením môže byť predvolené správanie zmenené. Nechajte prázdne ak chcete nechať predvolené nastavenie. Zmeny majú vplyv iba na novo namapovaných (pridaných) užívateľov LDAP.",
"Internal Username Attribute:" : "Atribút interného používateľského mena:",
"Override UUID detection" : "Prepísať UUID detekciu",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "V predvolenom nastavení sa atribút UUID deteguje automaticky. Atribút UUID sa používa na jednoznačnú identifikáciu používateľov a skupín z LDAPu. Naviac sa na základe UUID vytvára aj interné používateľské meno, ak nie je nastavené inak. Môžete predvolené nastavenie prepísať a použiť atribút ktorý si sami zvolíte. Musíte sa ale ubezpečiť, že atribút, ktorý vyberiete, bude uvedený pri používateľoch aj pri skupinách a bude jedinečný. Ak voľbu ponecháte prázdnu, použije sa predvolené správanie. Zmena bude mať vplyv len na novo namapovaných (pridaných) používateľov a skupiny z LDAPu.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Mapovanie názvov LDAP používateľských mien",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Používateľské mená sa používajú na ukladanie a prideľovanie meta údajov. Pre presnú identifikáciu a rozpoznávanie má každý používateľ LDAP interné používateľské meno. To si vyžaduje mapovanie používateľského mena na užívateľa LDAP. Vytvorené meno používateľa je mapované na UUID používateľa LDAP. Okrem toho sa DN ukladá aj do vyrovnávacej pamäte, aby sa znížila interakcia LDAP, ale nepoužíva sa na identifikáciu. Ak sa DN zmení, zmeny sa nájdu. Interné používateľské meno sa používa všade. Vymazanie mápovania bude mať pozostatky všade. Vymazanie mapovania nie je citlivé na nastavenie, ovplyvňuje všetky nastavenia LDAP! Nikdy nemažte mapovanie vo produkčnom prostredí, ale iba v testovacej alebo experimentálnej fáze.",
"Clear Username-LDAP User Mapping" : "Zrušiť mapovanie LDAP používateľských mien",
- "Clear Groupname-LDAP Group Mapping" : "Zrušiť mapovanie názvov LDAP skupín"
+ "Clear Groupname-LDAP Group Mapping" : "Zrušiť mapovanie názvov LDAP skupín",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "V predvolenom nastavení sa interné používateľské meno vytvorí z atribútu UUID. Zabezpečuje jedinečnosť používateľského mena a nie je potrebné meniť znaky. Interné používateľské meno má obmedzenia, ktoré povoľujú iba tieto znaky: [a-zA-Z0-9 _. @ -]. Ostatné znaky sa nahradia zodpovedajúcimi znakmi ASCII alebo sa jednoducho vynechajú. Pri konfliktoch bude pridané/zvýšené číslo. Interné používateľské meno sa používa na internú identifikáciu používateľa. Je to tiež predvolený názov domovského priečinka používateľa. Je tiež súčasťou URL, napríklad pre všetky služby * DAV. Týmto nastavením môže byť predvolené správanie zmenené. Nechajte prázdne ak chcete nechať predvolené nastavenie. Zmeny majú vplyv iba na novo namapovaných (pridaných) užívateľov LDAP."
},
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/user_ldap/l10n/sk.json b/apps/user_ldap/l10n/sk.json
index a4cf9f55c0b..fd49f95e6da 100644
--- a/apps/user_ldap/l10n/sk.json
+++ b/apps/user_ldap/l10n/sk.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "Výplňová kolónka „$home“",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$ home bude v nastavení externého úložiska nahradená hodnotou zadaného atribútu ",
"Internal Username" : "Interné používateľské meno",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "V predvolenom nastavení sa interné používateľské meno vytvorí z atribútu UUID. Zabezpečuje jedinečnosť používateľského mena a nie je potrebné meniť znaky. Interné používateľské meno má obmedzenia, ktoré povoľujú iba tieto znaky: [a-zA-Z0-9 _. @ -]. Ostatné znaky sa nahradia zodpovedajúcimi znakmi ASCII alebo sa jednoducho vynechajú. Pri konfliktoch bude pridané/zvýšené číslo. Interné používateľské meno sa používa na internú identifikáciu používateľa. Je to tiež predvolený názov domovského priečinka používateľa. Je tiež súčasťou URL, napríklad pre všetky služby * DAV. Týmto nastavením môže byť predvolené správanie zmenené. Nechajte prázdne ak chcete nechať predvolené nastavenie. Zmeny majú vplyv iba na novo namapovaných (pridaných) užívateľov LDAP.",
"Internal Username Attribute:" : "Atribút interného používateľského mena:",
"Override UUID detection" : "Prepísať UUID detekciu",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "V predvolenom nastavení sa atribút UUID deteguje automaticky. Atribút UUID sa používa na jednoznačnú identifikáciu používateľov a skupín z LDAPu. Naviac sa na základe UUID vytvára aj interné používateľské meno, ak nie je nastavené inak. Môžete predvolené nastavenie prepísať a použiť atribút ktorý si sami zvolíte. Musíte sa ale ubezpečiť, že atribút, ktorý vyberiete, bude uvedený pri používateľoch aj pri skupinách a bude jedinečný. Ak voľbu ponecháte prázdnu, použije sa predvolené správanie. Zmena bude mať vplyv len na novo namapovaných (pridaných) používateľov a skupiny z LDAPu.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Mapovanie názvov LDAP používateľských mien",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Používateľské mená sa používajú na ukladanie a prideľovanie meta údajov. Pre presnú identifikáciu a rozpoznávanie má každý používateľ LDAP interné používateľské meno. To si vyžaduje mapovanie používateľského mena na užívateľa LDAP. Vytvorené meno používateľa je mapované na UUID používateľa LDAP. Okrem toho sa DN ukladá aj do vyrovnávacej pamäte, aby sa znížila interakcia LDAP, ale nepoužíva sa na identifikáciu. Ak sa DN zmení, zmeny sa nájdu. Interné používateľské meno sa používa všade. Vymazanie mápovania bude mať pozostatky všade. Vymazanie mapovania nie je citlivé na nastavenie, ovplyvňuje všetky nastavenia LDAP! Nikdy nemažte mapovanie vo produkčnom prostredí, ale iba v testovacej alebo experimentálnej fáze.",
"Clear Username-LDAP User Mapping" : "Zrušiť mapovanie LDAP používateľských mien",
- "Clear Groupname-LDAP Group Mapping" : "Zrušiť mapovanie názvov LDAP skupín"
+ "Clear Groupname-LDAP Group Mapping" : "Zrušiť mapovanie názvov LDAP skupín",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "V predvolenom nastavení sa interné používateľské meno vytvorí z atribútu UUID. Zabezpečuje jedinečnosť používateľského mena a nie je potrebné meniť znaky. Interné používateľské meno má obmedzenia, ktoré povoľujú iba tieto znaky: [a-zA-Z0-9 _. @ -]. Ostatné znaky sa nahradia zodpovedajúcimi znakmi ASCII alebo sa jednoducho vynechajú. Pri konfliktoch bude pridané/zvýšené číslo. Interné používateľské meno sa používa na internú identifikáciu používateľa. Je to tiež predvolený názov domovského priečinka používateľa. Je tiež súčasťou URL, napríklad pre všetky služby * DAV. Týmto nastavením môže byť predvolené správanie zmenené. Nechajte prázdne ak chcete nechať predvolené nastavenie. Zmeny majú vplyv iba na novo namapovaných (pridaných) užívateľov LDAP."
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/sl.js b/apps/user_ldap/l10n/sl.js
index 529ea067e5a..f0ce477ab1a 100644
--- a/apps/user_ldap/l10n/sl.js
+++ b/apps/user_ldap/l10n/sl.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "Polje vsebnika »$home«",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "Vrednost »$home« bo znotraj nastavitev zunanje shrambe zamenjaj z vrednostjo določenega atributa.",
"Internal Username" : "Programsko uporabniško ime",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Privzeto je notranje uporabniško ime ustvarjeno po atributu UUID. To zagotavlja, da je uporabniško ime enkratno in da znakov ni treba posebej pretvarjati. Notrajne uporabniško ime ima določeno omejitev uporabe izključno znakov [a-zA-Z0-9_.@- ]. Vsi drugi znaki so zamenjani z ustreznimi ASCII zamenjavami ali pa so enostavno izpuščeni. V primeru spora je k imenu dodana še številka. Notranje uporabniško ime je namenjeno določitvi istovetnosti in je hkrati tudi privzeto ime uporabnikove osebne mape. Je tudi del oddaljenega naslova URL, na primer za vse storitve *DAV. Ta možnost nastavitve privzetega sistema prepiše, spremembe pa se uveljavijo le za na novo dodane (preslikane) uporabnike LDAP. Za privzeto delovanje mora biti polje prazno.",
"Internal Username Attribute:" : "Programski atribut uporabniškega imena:",
"Override UUID detection" : "Prezri zaznavo UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Privzeto je atribut UUID samodejno zaznan. Uporabljen je za določevanje uporabnikov LDAP in skupin. Notranje uporabniško ime je določeno prav na atributu UUID, če ni določeno drugače. To nastavitev je mogoče prepisati in poslati poljuben atribut. Zagotoviti je treba le, da je ta pridobljen kot enolični podatek za uporabnika ali skupino. Prazno polje določa privzeti način. Spremembe bodo vplivale na novo preslikane (dodane) uporabnike LDAP in skupine.",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Uporabniška preslikava uporabniškega imena na LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Uporabniška imena se uporabljajo za shranjevanje in dodeljevanje metapodatkov. Za natančno določevanje uporabnikov je vsakemu uporabniku LDAP preslikano tudi notranje uporabniško ime in sicer na UUID uporabnika LDAP. Poleg tega se enoznačno ime DN shrani tudi v predpomnilnik, da se zmanjša število poslanih zahtevkov na strežnik, a se to ne uporablja za določevanje. Če se enoznačno ime spremeni, bodo usrezno usklajene tudi spremembe. Notranje uporabniško ime se sicer uporablja na več mestih, zato je pričakovati, da ostanejo pri čiščenju preslikav nepovezani podatki. To brisanje ne vpliva upošteva ravni nastavitev, ampak deluje na vse nastavitve LDAP! Preslikav ni nikoli piporočljivo počistiti v produkcijskem okolju, je pa to mogoče v preizkusnem. ",
"Clear Username-LDAP User Mapping" : "Izbriši preslikavo uporabniškega imena na LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Izbriši preslikavo skupine na LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Izbriši preslikavo skupine na LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Privzeto je notranje uporabniško ime ustvarjeno po atributu UUID. To zagotavlja, da je uporabniško ime enkratno in da znakov ni treba posebej pretvarjati. Notrajne uporabniško ime ima določeno omejitev uporabe izključno znakov [a-zA-Z0-9_.@- ]. Vsi drugi znaki so zamenjani z ustreznimi ASCII zamenjavami ali pa so enostavno izpuščeni. V primeru spora je k imenu dodana še številka. Notranje uporabniško ime je namenjeno določitvi istovetnosti in je hkrati tudi privzeto ime uporabnikove osebne mape. Je tudi del oddaljenega naslova URL, na primer za vse storitve *DAV. Ta možnost nastavitve privzetega sistema prepiše, spremembe pa se uveljavijo le za na novo dodane (preslikane) uporabnike LDAP. Za privzeto delovanje mora biti polje prazno."
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/user_ldap/l10n/sl.json b/apps/user_ldap/l10n/sl.json
index 19608be27f4..b7297f70588 100644
--- a/apps/user_ldap/l10n/sl.json
+++ b/apps/user_ldap/l10n/sl.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "Polje vsebnika »$home«",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "Vrednost »$home« bo znotraj nastavitev zunanje shrambe zamenjaj z vrednostjo določenega atributa.",
"Internal Username" : "Programsko uporabniško ime",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Privzeto je notranje uporabniško ime ustvarjeno po atributu UUID. To zagotavlja, da je uporabniško ime enkratno in da znakov ni treba posebej pretvarjati. Notrajne uporabniško ime ima določeno omejitev uporabe izključno znakov [a-zA-Z0-9_.@- ]. Vsi drugi znaki so zamenjani z ustreznimi ASCII zamenjavami ali pa so enostavno izpuščeni. V primeru spora je k imenu dodana še številka. Notranje uporabniško ime je namenjeno določitvi istovetnosti in je hkrati tudi privzeto ime uporabnikove osebne mape. Je tudi del oddaljenega naslova URL, na primer za vse storitve *DAV. Ta možnost nastavitve privzetega sistema prepiše, spremembe pa se uveljavijo le za na novo dodane (preslikane) uporabnike LDAP. Za privzeto delovanje mora biti polje prazno.",
"Internal Username Attribute:" : "Programski atribut uporabniškega imena:",
"Override UUID detection" : "Prezri zaznavo UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Privzeto je atribut UUID samodejno zaznan. Uporabljen je za določevanje uporabnikov LDAP in skupin. Notranje uporabniško ime je določeno prav na atributu UUID, če ni določeno drugače. To nastavitev je mogoče prepisati in poslati poljuben atribut. Zagotoviti je treba le, da je ta pridobljen kot enolični podatek za uporabnika ali skupino. Prazno polje določa privzeti način. Spremembe bodo vplivale na novo preslikane (dodane) uporabnike LDAP in skupine.",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "Uporabniška preslikava uporabniškega imena na LDAP",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Uporabniška imena se uporabljajo za shranjevanje in dodeljevanje metapodatkov. Za natančno določevanje uporabnikov je vsakemu uporabniku LDAP preslikano tudi notranje uporabniško ime in sicer na UUID uporabnika LDAP. Poleg tega se enoznačno ime DN shrani tudi v predpomnilnik, da se zmanjša število poslanih zahtevkov na strežnik, a se to ne uporablja za določevanje. Če se enoznačno ime spremeni, bodo usrezno usklajene tudi spremembe. Notranje uporabniško ime se sicer uporablja na več mestih, zato je pričakovati, da ostanejo pri čiščenju preslikav nepovezani podatki. To brisanje ne vpliva upošteva ravni nastavitev, ampak deluje na vse nastavitve LDAP! Preslikav ni nikoli piporočljivo počistiti v produkcijskem okolju, je pa to mogoče v preizkusnem. ",
"Clear Username-LDAP User Mapping" : "Izbriši preslikavo uporabniškega imena na LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Izbriši preslikavo skupine na LDAP"
+ "Clear Groupname-LDAP Group Mapping" : "Izbriši preslikavo skupine na LDAP",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Privzeto je notranje uporabniško ime ustvarjeno po atributu UUID. To zagotavlja, da je uporabniško ime enkratno in da znakov ni treba posebej pretvarjati. Notrajne uporabniško ime ima določeno omejitev uporabe izključno znakov [a-zA-Z0-9_.@- ]. Vsi drugi znaki so zamenjani z ustreznimi ASCII zamenjavami ali pa so enostavno izpuščeni. V primeru spora je k imenu dodana še številka. Notranje uporabniško ime je namenjeno določitvi istovetnosti in je hkrati tudi privzeto ime uporabnikove osebne mape. Je tudi del oddaljenega naslova URL, na primer za vse storitve *DAV. Ta možnost nastavitve privzetega sistema prepiše, spremembe pa se uveljavijo le za na novo dodane (preslikane) uporabnike LDAP. Za privzeto delovanje mora biti polje prazno."
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/tr.js b/apps/user_ldap/l10n/tr.js
index 3e2b9b2bcb0..2579ead0c55 100644
--- a/apps/user_ldap/l10n/tr.js
+++ b/apps/user_ldap/l10n/tr.js
@@ -46,7 +46,7 @@ OC.L10N.register(
"Select attributes" : "Öznitelikleri seçin",
"User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Kullanıcı bulunamadı. Lütfen oturum açma özniteliklerini ve kullanıcı adını denetleyin. Etkin süzgeç (komut satırı doğrulamasında kullanmak için kopyalayıp yapıştırın): <br/>",
"User found and settings verified." : "Kullanıcı bulundu ve ayarlar doğrulandı.",
- "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Çok sayıda kullanıcı bulunduğundan ve yalnız birinci kullanıcı oturum açabileceğinden arama ölçütlerinizi sıkılaştırmayı deneyin.",
+ "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Çok sayıda kullanıcı bulunduğundan ve yalnızca birinci kullanıcı oturum açabileceğinden arama ölçütlerinizi sıkılaştırmayı deneyin.",
"An unspecified error occurred. Please check log and settings." : "Bilinmeyen bir sorun çıktı. Lütfen günlüğü ve ayarları denetleyin.",
"The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Arama süzgeci, açılmış ve kapatılmış parantez sayılarının eşit olmaması gibi bir söz dizimi sorunu nedeniyle geçersiz. Lütfen gözden geçirin.",
"A connection error to LDAP/AD occurred. Please check host, port and credentials." : "Bir LDAP/AD bağlantı sorunu çıktı. Lütfen istemci, kapı numarası ve kimlik doğrulama bilgilerini denetleyin.",
@@ -71,8 +71,8 @@ OC.L10N.register(
"Test Configuration" : "Yapılandırmayı sına",
"Help" : "Yardım",
"Groups meeting these criteria are available in %s:" : "%s içinde bu ölçüte uygun gruplar var:",
- "Only these object classes:" : "Yalnız şu nesne sınıflarına:",
- "Only from these groups:" : "Yalnız şu gruplardan:",
+ "Only these object classes:" : "Yalnızca şu nesne sınıflarına:",
+ "Only from these groups:" : "Yalnızca şu gruplardan:",
"Search groups" : "Grup arama",
"Available groups" : "Kullanılabilecek gruplar",
"Selected groups" : "Seçilmiş gruplar",
@@ -137,9 +137,9 @@ OC.L10N.register(
"Give an optional backup host. It must be a replica of the main LDAP/AD server." : "İsteğe bağlı olarak bir yedekleme sunucusu belirtin. Ana LDAP/AD sunucusunun kopyası olmalıdır.",
"Backup (Replica) Port" : "Yedek (Replika) Kapı Numarası",
"Disable Main Server" : "Ana Sunucuyu Devre Dışı Bırak",
- "Only connect to the replica server." : "Yalnız yedek sunucu ile bağlantı kurulsun.",
+ "Only connect to the replica server." : "Yalnızca yedek sunucu ile bağlantı kurulsun.",
"Turn off SSL certificate validation." : "SSL sertifika doğrulaması kullanılmasın.",
- "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Önerilmez, yalnız deneme amacıyla kullanın! Bağlantı yalnız bu seçenek etkinleştirildiğinde çalışıyorsa LDAP sunucusunun SSL sertifikasını %s sunucuzun içine aktarın.",
+ "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Önerilmez, yalnızca deneme amacıyla kullanın! Bağlantı yalnız bu seçenek etkinleştirildiğinde çalışıyorsa LDAP sunucusunun SSL sertifikasını %s sunucuzun içine aktarın.",
"Cache Time-To-Live" : "Ön Bellek Time-To-Live Değeri",
"in seconds. A change empties the cache." : "saniye cinsinden. Değişiklik ön belleği temizler.",
"Directory Settings" : "Dizin Ayarları",
@@ -160,14 +160,14 @@ OC.L10N.register(
"Dynamic Group Member URL" : "Devingen Grup Üye Adresi",
"The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "Bu grup nesneleri üzerindeki LDAP özniteliği, grupa hangi nesnelerin ait olduğunu bulan bir LDAP arama adresi içeriyor (Seçenek boş bırakıldığında dinamik grup üyeliği özelliği devre dışı kalır).",
"Nested Groups" : "İç İçe Gruplar",
- "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Bu seçenek etkinleştirildiğinde, gruplar içinde gruplar desteklenir (Yalnız grup üyesi özniteliği DN içeriyorsa çalışır).",
+ "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Bu seçenek etkinleştirildiğinde, gruplar içinde gruplar desteklenir (Yalnızca grup üyesi özniteliği DN içeriyorsa çalışır).",
"Paging chunksize" : "Sayfalandırma yığın boyutu",
"Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Yığın boyutu, kullanıcı ya da grup listeleri gibi, çok sayıda sonuç verebilen sayfalandırılmış LDAP aramaları için kullanılır (0 olarak ayarlandığında bu durumlarda sayfalandırılmış LDAP aramaları devre dışı kalır).",
"Enable LDAP password changes per user" : "Kullanıcılar LDAP parolalarını değiştirebilsin",
- "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : " Bu seçenek etkinleştirildiğinde, LDAP kullanıcıları kendi parolalarını değiştirebilir ve Süper Yöneticiler ile Grup Yöneticileri kendi LDAP kullanıcılarının parolalarını değiştirebilir. Yalnız erişim denetimi ilkeleri LDAP sunucuya uygun olarak yapılandırılmış ise çalışır. Parolalar LDAP sunucuya düz metin biçiminde aktarıldığından, LDAP sunucu üzerinde aktarım şifrelemesi ve parola karması kullanılmalıdır.",
+ "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : " Bu seçenek etkinleştirildiğinde, LDAP kullanıcıları kendi parolalarını değiştirebilir ve Süper Yöneticiler ile Grup Yöneticileri kendi LDAP kullanıcılarının parolalarını değiştirebilir. Yalnızca erişim denetimi ilkeleri LDAP sunucuya uygun olarak yapılandırılmış ise çalışır. Parolalar LDAP sunucuya düz metin biçiminde aktarıldığından, LDAP sunucu üzerinde aktarım şifrelemesi ve parola karması kullanılmalıdır.",
"(New password is sent as plain text to LDAP)" : "(Yeni parola LDAP üzerine düz metin olarak gönderildi)",
"Default password policy DN" : "Varsayılan parola ilkesi DN",
- "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "Parola süresinin sona erme işlemleri için kullanılacak varsayılan parola ilkesi için DN. Yalnız her kullanıcı için LDAP parola değişikliği etkinleştirilmiş ise çalışır ve yalnız OpenLDAP tarafından desteklenir. Parola süresi sona erme işlemlerini devre dışı bırakmak için boş bırakın.",
+ "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "Parola süresinin sona erme işlemleri için kullanılacak varsayılan parola ilkesi için DN. Yalnızca her kullanıcı için LDAP parola değişikliği etkinleştirilmiş ise çalışır ve yalnızca OpenLDAP tarafından desteklenir. Parola süresi sona erme işlemlerini devre dışı bırakmak için boş bırakın.",
"Special Attributes" : "Özel Öznitelikler",
"Quota Field" : "Kota Alanı",
"Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Kullanıcının varsayılan kotasının kullanılması için boş bırakın ya da bir LDAP/AD özniteliği belirtin.",
@@ -180,15 +180,16 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" Yer Belirleyici Alanı",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "Bir dış depolama yapılandırmasında $home yerine belirtilen öznitelik konulur",
"Internal Username" : "İç kullanıcı adı",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Varsayılan olarak, iç kullanıcı adı UUID özniteliğinden oluşturulur. Böylece kullanıcı adının eşsiz olması ve dönüştürülmesi gereken karakterler içermediğinden emin olunur. İç kullanıcı adında kısıtlaması yalnız şu karakterleri kullanılabilir: [ a-zA-Z0-9_.@-]. Diğer karakterler ASCII karşılıklarına dönüştürülür ya da yok sayılır. Çakışmalarda ada bir sayı eklenir. İç kullanıcı adı bir kullanıcıyı içsel olarak belirlemeye yarar. Aynı zamanda kullanıcı ana klasörünün varsayılan adı olarak da kullanılır. İnternet adreslerinin, örneğin *DAV servislerinin bir parçasıdır. Bu seçenek ile varsayılan davranış değiştirilebilir. Değişiklikler yalnız yeni eşleştirilecek (eklenecek) LDAP kullanıcılarını etkiler. Varsayılan davranışı kullanmak için boş bırakın. ",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Varsayılan olarak, iç kullanıcı adı UUID özniteliğinden oluşturulur. Böylece kullanıcı adının eşsiz olması ve dönüştürülmesi gereken karakterler içermediğinden emin olunur. İç kullanıcı adında kısıtlaması yalnızca şu karakterleri kullanılabilir: [ a-zA-Z0-9_.@-]. Diğer karakterler ASCII karşılıklarına dönüştürülür ya da yok sayılır. Çakışmalarda ada bir sayı eklenir. İç kullanıcı adı bir kullanıcıyı içsel olarak belirlemeye yarar. Aynı zamanda kullanıcı ana klasörünün varsayılan adı olarak da kullanılır. İnternet adreslerinin, örneğin *DAV servislerinin bir parçasıdır. Bu seçenek ile varsayılan davranış değiştirilebilir. Değişiklikler yalnızca yeni eşleştirilecek (eklenecek) LDAP kullanıcılarını etkiler. Varsayılan davranışı kullanmak için boş bırakın. ",
"Internal Username Attribute:" : "İç kullanıcı adı özniteliği:",
"Override UUID detection" : "UUID algılaması değiştirilsin",
- "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Varsayılan olarak, UUID özniteliği otomatik olarak algılanır. UUID özniteliği LDAP kullanıcı ve gruplarını kesin olarak belirlemek için kullanılır. Yukarıda başka türlü belirtilmemişse, bu UUID için bir iç kullanıcı adı oluşturulur. Bu ayarı değiştirerek istenilen bir öznitelik belirtilebilir. Ancak istenilen özniteliğin eşsiz olduğundan ve hem kullanıcı hem de gruplar tarafından kullanıldığından emin olunmalıdır. Varsayılan davranış için boş bırakın. Değişiklikler yalnız yeni eşleştirilen (eklenen) LDAP kullanıcı ve gruplarını etkiler.",
+ "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Varsayılan olarak, UUID özniteliği otomatik olarak algılanır. UUID özniteliği LDAP kullanıcı ve gruplarını kesin olarak belirlemek için kullanılır. Yukarıda başka türlü belirtilmemişse, bu UUID için bir iç kullanıcı adı oluşturulur. Bu ayarı değiştirerek istenilen bir öznitelik belirtilebilir. Ancak istenilen özniteliğin eşsiz olduğundan ve hem kullanıcı hem de gruplar tarafından kullanıldığından emin olunmalıdır. Varsayılan davranış için boş bırakın. Değişiklikler yalnızca yeni eşleştirilen (eklenen) LDAP kullanıcı ve gruplarını etkiler.",
"UUID Attribute for Users:" : "Kullanıcılar için UUID Özniteliği:",
"UUID Attribute for Groups:" : "Gruplar için UUID Özniteliği:",
"Username-LDAP User Mapping" : "Kullanıcı Adı-LDAP Kullanıcısı Eşleştirme",
- "Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Kullanıcı adları, üst veri depolaması ve ataması için kullanılır. Kullanıcıları kesin olarak belirlemek ve algılamak için, her LDAP kullanıcısına bir iç kullanıcı verilir. Bu kullanıcı adı ile LDAP kullanıcısının eşleştirilmesi gerekir. Oluşturulan kullanıcı adı LDAP kullanıcısının UUID değeri ile eşleştirilir. Bunun yanında LDAP etkileşimini azaltmak için DN ön belleğe alınır ancak bu işlem kimlik belirleme için kullanılmaz. DN üzerinde yapılan değişiklikler aktarılır. İç kullanıcı her yerde kullanıldığından, bir eşleştirmeyi kaldırmak pek çok yerde kalıntılar bırakır. Eşleştirmeleri kaldırmak yalnız yapılandırmaya bağlı değildir, tüm LDAP yapılandırmalarını etkiler! Üretim ortamında eşleştirmeleri asla kaldırmayın, yalnız sınama ya da deney aşamalarında kullanın.",
+ "Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Kullanıcı adları, üst veri depolaması ve ataması için kullanılır. Kullanıcıları kesin olarak belirlemek ve algılamak için, her LDAP kullanıcısına bir iç kullanıcı verilir. Bu kullanıcı adı ile LDAP kullanıcısının eşleştirilmesi gerekir. Oluşturulan kullanıcı adı LDAP kullanıcısının UUID değeri ile eşleştirilir. Bunun yanında LDAP etkileşimini azaltmak için DN ön belleğe alınır ancak bu işlem kimlik belirleme için kullanılmaz. DN üzerinde yapılan değişiklikler aktarılır. İç kullanıcı her yerde kullanıldığından, bir eşleştirmeyi kaldırmak pek çok yerde kalıntılar bırakır. Eşleştirmeleri kaldırmak yalnızca yapılandırmaya bağlı değildir, tüm LDAP yapılandırmalarını etkiler! Üretim ortamında eşleştirmeleri asla kaldırmayın, yalnızca sınama ya da deney aşamalarında kullanın.",
"Clear Username-LDAP User Mapping" : "Kullanıcı Adı-LDAP Kullanıcısı Eşleştirmesini Kaldır",
- "Clear Groupname-LDAP Group Mapping" : "Grup Adı-LDAP Grubu Eşleştirmesini Kaldır"
+ "Clear Groupname-LDAP Group Mapping" : "Grup Adı-LDAP Grubu Eşleştirmesini Kaldır",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Varsayılan olarak, iç kullanıcı adı UUID özniteliğinden oluşturulur. Böylece kullanıcı adının eşsiz olması ve dönüştürülmesi gereken karakterler içermediğinden emin olunur. İç kullanıcı adında kısıtlaması yalnızca şu karakterleri kullanılabilir: [ a-zA-Z0-9_.@-]. Diğer karakterler ASCII karşılıklarına dönüştürülür ya da yok sayılır. Çakışmalarda ada bir sayı eklenir. İç kullanıcı adı bir kullanıcıyı içsel olarak belirlemeye yarar. Aynı zamanda kullanıcı ana klasörünün varsayılan adı olarak da kullanılır. İnternet adreslerinin, örneğin *DAV servislerinin bir parçasıdır. Bu seçenek ile varsayılan davranış değiştirilebilir. Değişiklikler yalnızca yeni eşleştirilecek (eklenecek) LDAP kullanıcılarını etkiler. Varsayılan davranışı kullanmak için boş bırakın. "
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/user_ldap/l10n/tr.json b/apps/user_ldap/l10n/tr.json
index 7f14b4d54b7..112a0e7afa0 100644
--- a/apps/user_ldap/l10n/tr.json
+++ b/apps/user_ldap/l10n/tr.json
@@ -44,7 +44,7 @@
"Select attributes" : "Öznitelikleri seçin",
"User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Kullanıcı bulunamadı. Lütfen oturum açma özniteliklerini ve kullanıcı adını denetleyin. Etkin süzgeç (komut satırı doğrulamasında kullanmak için kopyalayıp yapıştırın): <br/>",
"User found and settings verified." : "Kullanıcı bulundu ve ayarlar doğrulandı.",
- "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Çok sayıda kullanıcı bulunduğundan ve yalnız birinci kullanıcı oturum açabileceğinden arama ölçütlerinizi sıkılaştırmayı deneyin.",
+ "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Çok sayıda kullanıcı bulunduğundan ve yalnızca birinci kullanıcı oturum açabileceğinden arama ölçütlerinizi sıkılaştırmayı deneyin.",
"An unspecified error occurred. Please check log and settings." : "Bilinmeyen bir sorun çıktı. Lütfen günlüğü ve ayarları denetleyin.",
"The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Arama süzgeci, açılmış ve kapatılmış parantez sayılarının eşit olmaması gibi bir söz dizimi sorunu nedeniyle geçersiz. Lütfen gözden geçirin.",
"A connection error to LDAP/AD occurred. Please check host, port and credentials." : "Bir LDAP/AD bağlantı sorunu çıktı. Lütfen istemci, kapı numarası ve kimlik doğrulama bilgilerini denetleyin.",
@@ -69,8 +69,8 @@
"Test Configuration" : "Yapılandırmayı sına",
"Help" : "Yardım",
"Groups meeting these criteria are available in %s:" : "%s içinde bu ölçüte uygun gruplar var:",
- "Only these object classes:" : "Yalnız şu nesne sınıflarına:",
- "Only from these groups:" : "Yalnız şu gruplardan:",
+ "Only these object classes:" : "Yalnızca şu nesne sınıflarına:",
+ "Only from these groups:" : "Yalnızca şu gruplardan:",
"Search groups" : "Grup arama",
"Available groups" : "Kullanılabilecek gruplar",
"Selected groups" : "Seçilmiş gruplar",
@@ -135,9 +135,9 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." : "İsteğe bağlı olarak bir yedekleme sunucusu belirtin. Ana LDAP/AD sunucusunun kopyası olmalıdır.",
"Backup (Replica) Port" : "Yedek (Replika) Kapı Numarası",
"Disable Main Server" : "Ana Sunucuyu Devre Dışı Bırak",
- "Only connect to the replica server." : "Yalnız yedek sunucu ile bağlantı kurulsun.",
+ "Only connect to the replica server." : "Yalnızca yedek sunucu ile bağlantı kurulsun.",
"Turn off SSL certificate validation." : "SSL sertifika doğrulaması kullanılmasın.",
- "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Önerilmez, yalnız deneme amacıyla kullanın! Bağlantı yalnız bu seçenek etkinleştirildiğinde çalışıyorsa LDAP sunucusunun SSL sertifikasını %s sunucuzun içine aktarın.",
+ "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Önerilmez, yalnızca deneme amacıyla kullanın! Bağlantı yalnız bu seçenek etkinleştirildiğinde çalışıyorsa LDAP sunucusunun SSL sertifikasını %s sunucuzun içine aktarın.",
"Cache Time-To-Live" : "Ön Bellek Time-To-Live Değeri",
"in seconds. A change empties the cache." : "saniye cinsinden. Değişiklik ön belleği temizler.",
"Directory Settings" : "Dizin Ayarları",
@@ -158,14 +158,14 @@
"Dynamic Group Member URL" : "Devingen Grup Üye Adresi",
"The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "Bu grup nesneleri üzerindeki LDAP özniteliği, grupa hangi nesnelerin ait olduğunu bulan bir LDAP arama adresi içeriyor (Seçenek boş bırakıldığında dinamik grup üyeliği özelliği devre dışı kalır).",
"Nested Groups" : "İç İçe Gruplar",
- "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Bu seçenek etkinleştirildiğinde, gruplar içinde gruplar desteklenir (Yalnız grup üyesi özniteliği DN içeriyorsa çalışır).",
+ "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Bu seçenek etkinleştirildiğinde, gruplar içinde gruplar desteklenir (Yalnızca grup üyesi özniteliği DN içeriyorsa çalışır).",
"Paging chunksize" : "Sayfalandırma yığın boyutu",
"Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Yığın boyutu, kullanıcı ya da grup listeleri gibi, çok sayıda sonuç verebilen sayfalandırılmış LDAP aramaları için kullanılır (0 olarak ayarlandığında bu durumlarda sayfalandırılmış LDAP aramaları devre dışı kalır).",
"Enable LDAP password changes per user" : "Kullanıcılar LDAP parolalarını değiştirebilsin",
- "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : " Bu seçenek etkinleştirildiğinde, LDAP kullanıcıları kendi parolalarını değiştirebilir ve Süper Yöneticiler ile Grup Yöneticileri kendi LDAP kullanıcılarının parolalarını değiştirebilir. Yalnız erişim denetimi ilkeleri LDAP sunucuya uygun olarak yapılandırılmış ise çalışır. Parolalar LDAP sunucuya düz metin biçiminde aktarıldığından, LDAP sunucu üzerinde aktarım şifrelemesi ve parola karması kullanılmalıdır.",
+ "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : " Bu seçenek etkinleştirildiğinde, LDAP kullanıcıları kendi parolalarını değiştirebilir ve Süper Yöneticiler ile Grup Yöneticileri kendi LDAP kullanıcılarının parolalarını değiştirebilir. Yalnızca erişim denetimi ilkeleri LDAP sunucuya uygun olarak yapılandırılmış ise çalışır. Parolalar LDAP sunucuya düz metin biçiminde aktarıldığından, LDAP sunucu üzerinde aktarım şifrelemesi ve parola karması kullanılmalıdır.",
"(New password is sent as plain text to LDAP)" : "(Yeni parola LDAP üzerine düz metin olarak gönderildi)",
"Default password policy DN" : "Varsayılan parola ilkesi DN",
- "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "Parola süresinin sona erme işlemleri için kullanılacak varsayılan parola ilkesi için DN. Yalnız her kullanıcı için LDAP parola değişikliği etkinleştirilmiş ise çalışır ve yalnız OpenLDAP tarafından desteklenir. Parola süresi sona erme işlemlerini devre dışı bırakmak için boş bırakın.",
+ "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "Parola süresinin sona erme işlemleri için kullanılacak varsayılan parola ilkesi için DN. Yalnızca her kullanıcı için LDAP parola değişikliği etkinleştirilmiş ise çalışır ve yalnızca OpenLDAP tarafından desteklenir. Parola süresi sona erme işlemlerini devre dışı bırakmak için boş bırakın.",
"Special Attributes" : "Özel Öznitelikler",
"Quota Field" : "Kota Alanı",
"Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Kullanıcının varsayılan kotasının kullanılması için boş bırakın ya da bir LDAP/AD özniteliği belirtin.",
@@ -178,15 +178,16 @@
"\"$home\" Placeholder Field" : "\"$home\" Yer Belirleyici Alanı",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "Bir dış depolama yapılandırmasında $home yerine belirtilen öznitelik konulur",
"Internal Username" : "İç kullanıcı adı",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Varsayılan olarak, iç kullanıcı adı UUID özniteliğinden oluşturulur. Böylece kullanıcı adının eşsiz olması ve dönüştürülmesi gereken karakterler içermediğinden emin olunur. İç kullanıcı adında kısıtlaması yalnız şu karakterleri kullanılabilir: [ a-zA-Z0-9_.@-]. Diğer karakterler ASCII karşılıklarına dönüştürülür ya da yok sayılır. Çakışmalarda ada bir sayı eklenir. İç kullanıcı adı bir kullanıcıyı içsel olarak belirlemeye yarar. Aynı zamanda kullanıcı ana klasörünün varsayılan adı olarak da kullanılır. İnternet adreslerinin, örneğin *DAV servislerinin bir parçasıdır. Bu seçenek ile varsayılan davranış değiştirilebilir. Değişiklikler yalnız yeni eşleştirilecek (eklenecek) LDAP kullanıcılarını etkiler. Varsayılan davranışı kullanmak için boş bırakın. ",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Varsayılan olarak, iç kullanıcı adı UUID özniteliğinden oluşturulur. Böylece kullanıcı adının eşsiz olması ve dönüştürülmesi gereken karakterler içermediğinden emin olunur. İç kullanıcı adında kısıtlaması yalnızca şu karakterleri kullanılabilir: [ a-zA-Z0-9_.@-]. Diğer karakterler ASCII karşılıklarına dönüştürülür ya da yok sayılır. Çakışmalarda ada bir sayı eklenir. İç kullanıcı adı bir kullanıcıyı içsel olarak belirlemeye yarar. Aynı zamanda kullanıcı ana klasörünün varsayılan adı olarak da kullanılır. İnternet adreslerinin, örneğin *DAV servislerinin bir parçasıdır. Bu seçenek ile varsayılan davranış değiştirilebilir. Değişiklikler yalnızca yeni eşleştirilecek (eklenecek) LDAP kullanıcılarını etkiler. Varsayılan davranışı kullanmak için boş bırakın. ",
"Internal Username Attribute:" : "İç kullanıcı adı özniteliği:",
"Override UUID detection" : "UUID algılaması değiştirilsin",
- "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Varsayılan olarak, UUID özniteliği otomatik olarak algılanır. UUID özniteliği LDAP kullanıcı ve gruplarını kesin olarak belirlemek için kullanılır. Yukarıda başka türlü belirtilmemişse, bu UUID için bir iç kullanıcı adı oluşturulur. Bu ayarı değiştirerek istenilen bir öznitelik belirtilebilir. Ancak istenilen özniteliğin eşsiz olduğundan ve hem kullanıcı hem de gruplar tarafından kullanıldığından emin olunmalıdır. Varsayılan davranış için boş bırakın. Değişiklikler yalnız yeni eşleştirilen (eklenen) LDAP kullanıcı ve gruplarını etkiler.",
+ "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Varsayılan olarak, UUID özniteliği otomatik olarak algılanır. UUID özniteliği LDAP kullanıcı ve gruplarını kesin olarak belirlemek için kullanılır. Yukarıda başka türlü belirtilmemişse, bu UUID için bir iç kullanıcı adı oluşturulur. Bu ayarı değiştirerek istenilen bir öznitelik belirtilebilir. Ancak istenilen özniteliğin eşsiz olduğundan ve hem kullanıcı hem de gruplar tarafından kullanıldığından emin olunmalıdır. Varsayılan davranış için boş bırakın. Değişiklikler yalnızca yeni eşleştirilen (eklenen) LDAP kullanıcı ve gruplarını etkiler.",
"UUID Attribute for Users:" : "Kullanıcılar için UUID Özniteliği:",
"UUID Attribute for Groups:" : "Gruplar için UUID Özniteliği:",
"Username-LDAP User Mapping" : "Kullanıcı Adı-LDAP Kullanıcısı Eşleştirme",
- "Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Kullanıcı adları, üst veri depolaması ve ataması için kullanılır. Kullanıcıları kesin olarak belirlemek ve algılamak için, her LDAP kullanıcısına bir iç kullanıcı verilir. Bu kullanıcı adı ile LDAP kullanıcısının eşleştirilmesi gerekir. Oluşturulan kullanıcı adı LDAP kullanıcısının UUID değeri ile eşleştirilir. Bunun yanında LDAP etkileşimini azaltmak için DN ön belleğe alınır ancak bu işlem kimlik belirleme için kullanılmaz. DN üzerinde yapılan değişiklikler aktarılır. İç kullanıcı her yerde kullanıldığından, bir eşleştirmeyi kaldırmak pek çok yerde kalıntılar bırakır. Eşleştirmeleri kaldırmak yalnız yapılandırmaya bağlı değildir, tüm LDAP yapılandırmalarını etkiler! Üretim ortamında eşleştirmeleri asla kaldırmayın, yalnız sınama ya da deney aşamalarında kullanın.",
+ "Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Kullanıcı adları, üst veri depolaması ve ataması için kullanılır. Kullanıcıları kesin olarak belirlemek ve algılamak için, her LDAP kullanıcısına bir iç kullanıcı verilir. Bu kullanıcı adı ile LDAP kullanıcısının eşleştirilmesi gerekir. Oluşturulan kullanıcı adı LDAP kullanıcısının UUID değeri ile eşleştirilir. Bunun yanında LDAP etkileşimini azaltmak için DN ön belleğe alınır ancak bu işlem kimlik belirleme için kullanılmaz. DN üzerinde yapılan değişiklikler aktarılır. İç kullanıcı her yerde kullanıldığından, bir eşleştirmeyi kaldırmak pek çok yerde kalıntılar bırakır. Eşleştirmeleri kaldırmak yalnızca yapılandırmaya bağlı değildir, tüm LDAP yapılandırmalarını etkiler! Üretim ortamında eşleştirmeleri asla kaldırmayın, yalnızca sınama ya da deney aşamalarında kullanın.",
"Clear Username-LDAP User Mapping" : "Kullanıcı Adı-LDAP Kullanıcısı Eşleştirmesini Kaldır",
- "Clear Groupname-LDAP Group Mapping" : "Grup Adı-LDAP Grubu Eşleştirmesini Kaldır"
+ "Clear Groupname-LDAP Group Mapping" : "Grup Adı-LDAP Grubu Eşleştirmesini Kaldır",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "Varsayılan olarak, iç kullanıcı adı UUID özniteliğinden oluşturulur. Böylece kullanıcı adının eşsiz olması ve dönüştürülmesi gereken karakterler içermediğinden emin olunur. İç kullanıcı adında kısıtlaması yalnızca şu karakterleri kullanılabilir: [ a-zA-Z0-9_.@-]. Diğer karakterler ASCII karşılıklarına dönüştürülür ya da yok sayılır. Çakışmalarda ada bir sayı eklenir. İç kullanıcı adı bir kullanıcıyı içsel olarak belirlemeye yarar. Aynı zamanda kullanıcı ana klasörünün varsayılan adı olarak da kullanılır. İnternet adreslerinin, örneğin *DAV servislerinin bir parçasıdır. Bu seçenek ile varsayılan davranış değiştirilebilir. Değişiklikler yalnızca yeni eşleştirilecek (eklenecek) LDAP kullanıcılarını etkiler. Varsayılan davranışı kullanmak için boş bırakın. "
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/zh_CN.js b/apps/user_ldap/l10n/zh_CN.js
index 56d13cc3dcb..87f2a3b4518 100644
--- a/apps/user_ldap/l10n/zh_CN.js
+++ b/apps/user_ldap/l10n/zh_CN.js
@@ -180,7 +180,6 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" 占位字段",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "位于外部存储配置的 $home 将被指定属性替换",
"Internal Username" : "内部用户名",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "默认情况下,内部用户名将从UUID属性创建。它确保用户名是唯一的,并且不需要转换字符。内部用户名只允许下列字符:[a-zA-Z0-9_.@-]。其他字符被替换为它们的ASCII对应或简单地省略。在冲突时会增加/增大一个数字。内部用户名用于内部识别用户。它也是用户主文件夹的默认名称。它也是远程 URL 的一部分,例如所有*DAV服务。使用此设置,可以覆盖默认行为。更改仅对新映射(添加)的LDAP用户有效。留空代表使用默认行为。",
"Internal Username Attribute:" : "内部用户名属性:",
"Override UUID detection" : "覆盖 UUID 检测",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "ownCloud 默认会自动检测 UUID 属性。UUID 属性用来无误地识别 LDAP 用户和组。同时,如果上面没有特别设置,内部用户名也基于 UUID 创建。也可以覆盖设置,直接指定一个属性。但一定要确保指定的属性取得的用户和组是唯一的。留空,则执行默认操作。更改只影响新映射(或增加)的 LDAP 用户和组。",
@@ -189,6 +188,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "用户名-LDAP用户映射",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "用户名用于存储和分配元数据。为了精确的区分和识别用户,每个 LDAP 用户都会有一个内部的用户名。这要求建立一个用户名到 LDAP 用户的映射。创建的用户名会被映射到 LDAP 用户的 UUID。另外为了节省 LDAP 连接开销,DN 会被缓存,但不会用于识别。如果 DN 变了,这些变化会被识别到。在 Nextcloud 各个页面会使用内部用户名。清空映射会造成系统里面有大量的残留信息。清空映射会影响所有的 LDAP 配置,而不仅仅是当前配置。不要在生产环境里面应用清空映射,请仅用于测试环境或者早期验证步骤。",
"Clear Username-LDAP User Mapping" : "清除用户-LDAP用户映射",
- "Clear Groupname-LDAP Group Mapping" : "清除组用户-LDAP级映射"
+ "Clear Groupname-LDAP Group Mapping" : "清除组用户-LDAP级映射",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "默认情况下,内部用户名将从UUID属性创建。它确保用户名是唯一的,并且不需要转换字符。内部用户名只允许下列字符:[a-zA-Z0-9_.@-]。其他字符被替换为它们的ASCII对应或简单地省略。在冲突时会增加/增大一个数字。内部用户名用于内部识别用户。它也是用户主文件夹的默认名称。它也是远程 URL 的一部分,例如所有*DAV服务。使用此设置,可以覆盖默认行为。更改仅对新映射(添加)的LDAP用户有效。留空代表使用默认行为。"
},
"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/zh_CN.json b/apps/user_ldap/l10n/zh_CN.json
index 3b7d504b870..f1dda1ab41a 100644
--- a/apps/user_ldap/l10n/zh_CN.json
+++ b/apps/user_ldap/l10n/zh_CN.json
@@ -178,7 +178,6 @@
"\"$home\" Placeholder Field" : "\"$home\" 占位字段",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "位于外部存储配置的 $home 将被指定属性替换",
"Internal Username" : "内部用户名",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "默认情况下,内部用户名将从UUID属性创建。它确保用户名是唯一的,并且不需要转换字符。内部用户名只允许下列字符:[a-zA-Z0-9_.@-]。其他字符被替换为它们的ASCII对应或简单地省略。在冲突时会增加/增大一个数字。内部用户名用于内部识别用户。它也是用户主文件夹的默认名称。它也是远程 URL 的一部分,例如所有*DAV服务。使用此设置,可以覆盖默认行为。更改仅对新映射(添加)的LDAP用户有效。留空代表使用默认行为。",
"Internal Username Attribute:" : "内部用户名属性:",
"Override UUID detection" : "覆盖 UUID 检测",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "ownCloud 默认会自动检测 UUID 属性。UUID 属性用来无误地识别 LDAP 用户和组。同时,如果上面没有特别设置,内部用户名也基于 UUID 创建。也可以覆盖设置,直接指定一个属性。但一定要确保指定的属性取得的用户和组是唯一的。留空,则执行默认操作。更改只影响新映射(或增加)的 LDAP 用户和组。",
@@ -187,6 +186,7 @@
"Username-LDAP User Mapping" : "用户名-LDAP用户映射",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "用户名用于存储和分配元数据。为了精确的区分和识别用户,每个 LDAP 用户都会有一个内部的用户名。这要求建立一个用户名到 LDAP 用户的映射。创建的用户名会被映射到 LDAP 用户的 UUID。另外为了节省 LDAP 连接开销,DN 会被缓存,但不会用于识别。如果 DN 变了,这些变化会被识别到。在 Nextcloud 各个页面会使用内部用户名。清空映射会造成系统里面有大量的残留信息。清空映射会影响所有的 LDAP 配置,而不仅仅是当前配置。不要在生产环境里面应用清空映射,请仅用于测试环境或者早期验证步骤。",
"Clear Username-LDAP User Mapping" : "清除用户-LDAP用户映射",
- "Clear Groupname-LDAP Group Mapping" : "清除组用户-LDAP级映射"
+ "Clear Groupname-LDAP Group Mapping" : "清除组用户-LDAP级映射",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "默认情况下,内部用户名将从UUID属性创建。它确保用户名是唯一的,并且不需要转换字符。内部用户名只允许下列字符:[a-zA-Z0-9_.@-]。其他字符被替换为它们的ASCII对应或简单地省略。在冲突时会增加/增大一个数字。内部用户名用于内部识别用户。它也是用户主文件夹的默认名称。它也是远程 URL 的一部分,例如所有*DAV服务。使用此设置,可以覆盖默认行为。更改仅对新映射(添加)的LDAP用户有效。留空代表使用默认行为。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/zh_HK.js b/apps/user_ldap/l10n/zh_HK.js
index 4fa4af97fa4..a9bfbd833d5 100644
--- a/apps/user_ldap/l10n/zh_HK.js
+++ b/apps/user_ldap/l10n/zh_HK.js
@@ -180,7 +180,7 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" 佔位符字段",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "外部存儲配置中的 $home 將替換為指定屬性的值",
"Internal Username" : "內部用戶名稱",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "默認情況下,內部用戶名將從UUID屬性創建。這樣可以確保用戶名是唯一的,並且不需要轉換任何字符。內部用戶名的限制是只能使用以下字符:[a-zA-Z0-9_.@-]。其他字符被替換為它們的ASCII對應或被略去。發生相抵觸時,將加入數字。內部用戶名用於在內部識別用戶。其也是用戶主資料夾的默認名稱。也是遠端URL的一部分,舉例來說,會用於所有 *DAV 服務。使用此設置,默認的行為可以被覆寫。更改僅對新映射(添加)的LDAP用戶有效。將其留空會使用默認行為。",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "預設情況下,內部使用者名稱將從 UUID 屬性建立。其確保了使用者名稱是唯一且不需要轉換字元。內部使用者名稱的限制是只能使用下列字元:[a-zA-Z0-9_.@-]。其他字元會使用其 ASCII 對映或被忽略。發生碰撞時,將會加入數字。內部使用者名稱用於內部識別使用者。其也是使用者家資料夾的預設名稱。也是遠端 URL 的一部分,舉例來說,會用於所有 *DAV 服務。使用此設定,預設的行為將會被覆寫。變更僅對新映射(新增)的 LDAP 使用者有效。將其留空會使用預設行為。",
"Internal Username Attribute:" : "內部用戶名稱屬性:",
"Override UUID detection" : "偵測覆寫UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "預設情況下,UUID 屬性會自動偵測。UUID 屬性用來準確識別 LDAP 用戶及群組。此外,如果未在上方指定,內部用戶名稱會基於 UUID 建立。您能覆蓋設定並直接指定屬性,但一定要確保指定的屬性能被用戶及群組取得且唯一。留空則執行默認行為。變更只會對新映射(加入)的 LDAP 用戶及群組生效。",
@@ -189,6 +189,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "用戶名-LDAP 用戶 Mapping",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "用戶名用於存儲和分配元數據。為了精確地區分和識別用戶,每個LDAP用戶都會有一個內部的用戶名。這要求建立一個用戶名到LDAP用戶的映射。創建的用戶名會被映射到 LDAP用戶的UUID。另外為了節省LDAP連接開銷,DN會被緩存,但不會使用識別。如果DN變了,這些變化會被識別到。在Nextcloud各個頁面會使用內部用戶名。清除映射會造成 系統裡面有大量的殘留信息。清除映射會影響所有的LDAP配置,同時進行雙向配置。不要在生產環境裡面應用可變映射,請僅用於測試環境或早期驗證步驟。",
"Clear Username-LDAP User Mapping" : "清除 用戶名-LDAP 用戶 Mapping",
- "Clear Groupname-LDAP Group Mapping" : "清除 群組名稱-LDAP 群組 Mapping"
+ "Clear Groupname-LDAP Group Mapping" : "清除 群組名稱-LDAP 群組 Mapping",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "默認情況下,內部用戶名將從UUID屬性創建。這樣可以確保用戶名是唯一的,並且不需要轉換任何字符。內部用戶名的限制是只能使用以下字符:[a-zA-Z0-9_.@-]。其他字符被替換為它們的ASCII對應或被略去。發生相抵觸時,將加入數字。內部用戶名用於在內部識別用戶。其也是用戶主資料夾的默認名稱。也是遠端URL的一部分,舉例來說,會用於所有 *DAV 服務。使用此設置,默認的行為可以被覆寫。更改僅對新映射(添加)的LDAP用戶有效。將其留空會使用默認行為。"
},
"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/zh_HK.json b/apps/user_ldap/l10n/zh_HK.json
index 1f61bf0924b..d31ff89bea3 100644
--- a/apps/user_ldap/l10n/zh_HK.json
+++ b/apps/user_ldap/l10n/zh_HK.json
@@ -178,7 +178,7 @@
"\"$home\" Placeholder Field" : "\"$home\" 佔位符字段",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "外部存儲配置中的 $home 將替換為指定屬性的值",
"Internal Username" : "內部用戶名稱",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "默認情況下,內部用戶名將從UUID屬性創建。這樣可以確保用戶名是唯一的,並且不需要轉換任何字符。內部用戶名的限制是只能使用以下字符:[a-zA-Z0-9_.@-]。其他字符被替換為它們的ASCII對應或被略去。發生相抵觸時,將加入數字。內部用戶名用於在內部識別用戶。其也是用戶主資料夾的默認名稱。也是遠端URL的一部分,舉例來說,會用於所有 *DAV 服務。使用此設置,默認的行為可以被覆寫。更改僅對新映射(添加)的LDAP用戶有效。將其留空會使用默認行為。",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "預設情況下,內部使用者名稱將從 UUID 屬性建立。其確保了使用者名稱是唯一且不需要轉換字元。內部使用者名稱的限制是只能使用下列字元:[a-zA-Z0-9_.@-]。其他字元會使用其 ASCII 對映或被忽略。發生碰撞時,將會加入數字。內部使用者名稱用於內部識別使用者。其也是使用者家資料夾的預設名稱。也是遠端 URL 的一部分,舉例來說,會用於所有 *DAV 服務。使用此設定,預設的行為將會被覆寫。變更僅對新映射(新增)的 LDAP 使用者有效。將其留空會使用預設行為。",
"Internal Username Attribute:" : "內部用戶名稱屬性:",
"Override UUID detection" : "偵測覆寫UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "預設情況下,UUID 屬性會自動偵測。UUID 屬性用來準確識別 LDAP 用戶及群組。此外,如果未在上方指定,內部用戶名稱會基於 UUID 建立。您能覆蓋設定並直接指定屬性,但一定要確保指定的屬性能被用戶及群組取得且唯一。留空則執行默認行為。變更只會對新映射(加入)的 LDAP 用戶及群組生效。",
@@ -187,6 +187,7 @@
"Username-LDAP User Mapping" : "用戶名-LDAP 用戶 Mapping",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "用戶名用於存儲和分配元數據。為了精確地區分和識別用戶,每個LDAP用戶都會有一個內部的用戶名。這要求建立一個用戶名到LDAP用戶的映射。創建的用戶名會被映射到 LDAP用戶的UUID。另外為了節省LDAP連接開銷,DN會被緩存,但不會使用識別。如果DN變了,這些變化會被識別到。在Nextcloud各個頁面會使用內部用戶名。清除映射會造成 系統裡面有大量的殘留信息。清除映射會影響所有的LDAP配置,同時進行雙向配置。不要在生產環境裡面應用可變映射,請僅用於測試環境或早期驗證步驟。",
"Clear Username-LDAP User Mapping" : "清除 用戶名-LDAP 用戶 Mapping",
- "Clear Groupname-LDAP Group Mapping" : "清除 群組名稱-LDAP 群組 Mapping"
+ "Clear Groupname-LDAP Group Mapping" : "清除 群組名稱-LDAP 群組 Mapping",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "默認情況下,內部用戶名將從UUID屬性創建。這樣可以確保用戶名是唯一的,並且不需要轉換任何字符。內部用戶名的限制是只能使用以下字符:[a-zA-Z0-9_.@-]。其他字符被替換為它們的ASCII對應或被略去。發生相抵觸時,將加入數字。內部用戶名用於在內部識別用戶。其也是用戶主資料夾的默認名稱。也是遠端URL的一部分,舉例來說,會用於所有 *DAV 服務。使用此設置,默認的行為可以被覆寫。更改僅對新映射(添加)的LDAP用戶有效。將其留空會使用默認行為。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/zh_TW.js b/apps/user_ldap/l10n/zh_TW.js
index ae6bce46f4c..9903eb28149 100644
--- a/apps/user_ldap/l10n/zh_TW.js
+++ b/apps/user_ldap/l10n/zh_TW.js
@@ -180,7 +180,7 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" 佔位字串欄位",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "外部儲存空間設定中的 $home 將會以指定屬性的值取代",
"Internal Username" : "內部使用者名稱",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "預設情況下,內部使用者名稱將從 UUID 屬性建立。其確保了使用者名稱是唯一且不需要轉換字元。內部使用者名稱的限制是只能使用下列字元:[a-zA-Z0-9_.@-]。其他字元會使用其 ASCII 對映或被忽略。發生碰撞時,將會加入數字。內部使用者名稱用於內部識別使用者。其也是使用者家資料夾的預設名稱。也是遠端 URL 的一部分,舉例來說,會用於所有 *DAV 服務。使用此設定,預設的行為將會被覆寫。變更僅對新映射(新增)的 LDAP 使用者有效。將其留空會使用預設行為。",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "預設情況下,內部使用者名稱將從 UUID 屬性建立。其確保了使用者名稱是唯一且不需要轉換字元。內部使用者名稱的限制是只能使用下列字元:[a-zA-Z0-9_.@-]。其他字元會使用其 ASCII 對映或被忽略。發生碰撞時,將會加入數字。內部使用者名稱用於內部識別使用者。其也是使用者家資料夾的預設名稱。也是遠端 URL 的一部分,舉例來說,會用於所有 *DAV 服務。使用此設定,預設的行為將會被覆寫。變更僅對新映射(新增)的 LDAP 使用者有效。將其留空會使用預設行為。",
"Internal Username Attribute:" : "內部使用者名稱屬性:",
"Override UUID detection" : "偵測覆寫 UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "預設情況下,UUID 屬性會自動偵測。UUID 屬性用來準確識別 LDAP 使用者及群組。此外,如果未在上方指定,內部使用者名稱會以 UUID 為基礎建立。您能覆寫設定並直接指定屬性,但一定要確保指定的屬性能被使用者及群組取得且唯一。留空則執行預設行為。變更只會對新映射(新增)的 LDAP 使用者及群組生效。",
@@ -189,6 +189,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "使用者-LDAP 使用者映射",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "使用者名稱用於儲存並指派詮釋資料。為了精確識別並認出使用者,每個 LDAP 使用者都將會有內部使用者名稱。這需要從使用者名稱到 LDAP 使用者的映射。已建立的使用者名稱會映射到 LDAP 使用者的 UUID。另外,DN 會被快取以減少 LDAP 互動,但不會用於識別。若 DN 變更,將會找到變更。內部使用者名稱將會全面使用。清除映射將會讓到處都是未連結的項目。清除映射對設定並不敏感,其會影響到所有 LDAP 設定!不要在生產環境中清除映射,僅將其用於測試或實驗階段。",
"Clear Username-LDAP User Mapping" : "清除使用者名稱-LDAP 使用者映射",
- "Clear Groupname-LDAP Group Mapping" : "清除群組名稱-LDAP 群組映射"
+ "Clear Groupname-LDAP Group Mapping" : "清除群組名稱-LDAP 群組映射",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "預設情況下,內部使用者名稱將從 UUID 屬性建立。其確保了使用者名稱是唯一且不需要轉換字元。內部使用者名稱的限制是只能使用下列字元:[a-zA-Z0-9_.@-]。其他字元會使用其 ASCII 對映或被忽略。發生碰撞時,將會加入數字。內部使用者名稱用於內部識別使用者。其也是使用者家資料夾的預設名稱。也是遠端 URL 的一部分,舉例來說,會用於所有 *DAV 服務。使用此設定,預設的行為將會被覆寫。變更僅對新映射(新增)的 LDAP 使用者有效。將其留空會使用預設行為。"
},
"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/zh_TW.json b/apps/user_ldap/l10n/zh_TW.json
index 4bd8de1d127..31f38fb2807 100644
--- a/apps/user_ldap/l10n/zh_TW.json
+++ b/apps/user_ldap/l10n/zh_TW.json
@@ -178,7 +178,7 @@
"\"$home\" Placeholder Field" : "\"$home\" 佔位字串欄位",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "外部儲存空間設定中的 $home 將會以指定屬性的值取代",
"Internal Username" : "內部使用者名稱",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "預設情況下,內部使用者名稱將從 UUID 屬性建立。其確保了使用者名稱是唯一且不需要轉換字元。內部使用者名稱的限制是只能使用下列字元:[a-zA-Z0-9_.@-]。其他字元會使用其 ASCII 對映或被忽略。發生碰撞時,將會加入數字。內部使用者名稱用於內部識別使用者。其也是使用者家資料夾的預設名稱。也是遠端 URL 的一部分,舉例來說,會用於所有 *DAV 服務。使用此設定,預設的行為將會被覆寫。變更僅對新映射(新增)的 LDAP 使用者有效。將其留空會使用預設行為。",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "預設情況下,內部使用者名稱將從 UUID 屬性建立。其確保了使用者名稱是唯一且不需要轉換字元。內部使用者名稱的限制是只能使用下列字元:[a-zA-Z0-9_.@-]。其他字元會使用其 ASCII 對映或被忽略。發生碰撞時,將會加入數字。內部使用者名稱用於內部識別使用者。其也是使用者家資料夾的預設名稱。也是遠端 URL 的一部分,舉例來說,會用於所有 *DAV 服務。使用此設定,預設的行為將會被覆寫。變更僅對新映射(新增)的 LDAP 使用者有效。將其留空會使用預設行為。",
"Internal Username Attribute:" : "內部使用者名稱屬性:",
"Override UUID detection" : "偵測覆寫 UUID",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "預設情況下,UUID 屬性會自動偵測。UUID 屬性用來準確識別 LDAP 使用者及群組。此外,如果未在上方指定,內部使用者名稱會以 UUID 為基礎建立。您能覆寫設定並直接指定屬性,但一定要確保指定的屬性能被使用者及群組取得且唯一。留空則執行預設行為。變更只會對新映射(新增)的 LDAP 使用者及群組生效。",
@@ -187,6 +187,7 @@
"Username-LDAP User Mapping" : "使用者-LDAP 使用者映射",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "使用者名稱用於儲存並指派詮釋資料。為了精確識別並認出使用者,每個 LDAP 使用者都將會有內部使用者名稱。這需要從使用者名稱到 LDAP 使用者的映射。已建立的使用者名稱會映射到 LDAP 使用者的 UUID。另外,DN 會被快取以減少 LDAP 互動,但不會用於識別。若 DN 變更,將會找到變更。內部使用者名稱將會全面使用。清除映射將會讓到處都是未連結的項目。清除映射對設定並不敏感,其會影響到所有 LDAP 設定!不要在生產環境中清除映射,僅將其用於測試或實驗階段。",
"Clear Username-LDAP User Mapping" : "清除使用者名稱-LDAP 使用者映射",
- "Clear Groupname-LDAP Group Mapping" : "清除群組名稱-LDAP 群組映射"
+ "Clear Groupname-LDAP Group Mapping" : "清除群組名稱-LDAP 群組映射",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "預設情況下,內部使用者名稱將從 UUID 屬性建立。其確保了使用者名稱是唯一且不需要轉換字元。內部使用者名稱的限制是只能使用下列字元:[a-zA-Z0-9_.@-]。其他字元會使用其 ASCII 對映或被忽略。發生碰撞時,將會加入數字。內部使用者名稱用於內部識別使用者。其也是使用者家資料夾的預設名稱。也是遠端 URL 的一部分,舉例來說,會用於所有 *DAV 服務。使用此設定,預設的行為將會被覆寫。變更僅對新映射(新增)的 LDAP 使用者有效。將其留空會使用預設行為。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/user_ldap/lib/Connection.php b/apps/user_ldap/lib/Connection.php
index 565fb415e58..89b58b7ebfd 100644
--- a/apps/user_ldap/lib/Connection.php
+++ b/apps/user_ldap/lib/Connection.php
@@ -128,7 +128,7 @@ class Connection extends LDAPUtility {
protected $ignoreValidation = false;
/**
- * @var array{dn?: mixed, hash?: string, result?: bool}
+ * @var array{sum?: string, result?: bool}
*/
protected $bindResult = [];
@@ -672,11 +672,7 @@ class Connection extends LDAPUtility {
if (
count($this->bindResult) !== 0
- && $this->bindResult['dn'] === $this->configuration->ldapAgentName
- && \OC::$server->getHasher()->verify(
- $this->configPrefix . $this->configuration->ldapAgentPassword,
- $this->bindResult['hash']
- )
+ && $this->bindResult['sum'] === md5($this->configuration->ldapAgentName . $this->configPrefix . $this->configuration->ldapAgentPassword)
) {
// don't attempt to bind again with the same data as before
// bind might have been invoked via getConnectionResource(),
@@ -689,8 +685,7 @@ class Connection extends LDAPUtility {
$this->configuration->ldapAgentPassword);
$this->bindResult = [
- 'dn' => $this->configuration->ldapAgentName,
- 'hash' => \OC::$server->getHasher()->hash($this->configPrefix . $this->configuration->ldapAgentPassword),
+ 'sum' => md5($this->configuration->ldapAgentName . $this->configPrefix . $this->configuration->ldapAgentPassword),
'result' => $ldapLogin,
];
diff --git a/apps/user_ldap/lib/Group_LDAP.php b/apps/user_ldap/lib/Group_LDAP.php
index f9d9b061743..8fcb10cb850 100644
--- a/apps/user_ldap/lib/Group_LDAP.php
+++ b/apps/user_ldap/lib/Group_LDAP.php
@@ -55,12 +55,12 @@ use Psr\Log\LoggerInterface;
class Group_LDAP extends BackendUtility implements GroupInterface, IGroupLDAP, IGetDisplayNameBackend, IDeleteGroupBackend {
protected $enabled = false;
- /** @var string[][] $cachedGroupMembers array of users with gid as key */
- protected $cachedGroupMembers;
- /** @var string[] $cachedGroupsByMember array of groups with uid as key */
- protected $cachedGroupsByMember;
- /** @var string[] $cachedNestedGroups array of groups with gid (DN) as key */
- protected $cachedNestedGroups;
+ /** @var CappedMemoryCache<string[]> $cachedGroupMembers array of users with gid as key */
+ protected CappedMemoryCache $cachedGroupMembers;
+ /** @var CappedMemoryCache<string[]> $cachedGroupsByMember array of groups with uid as key */
+ protected CappedMemoryCache $cachedGroupsByMember;
+ /** @var CappedMemoryCache<string[]> $cachedNestedGroups array of groups with gid (DN) as key */
+ protected CappedMemoryCache $cachedNestedGroups;
/** @var GroupPluginManager */
protected $groupPluginManager;
/** @var LoggerInterface */
diff --git a/apps/user_ldap/lib/Helper.php b/apps/user_ldap/lib/Helper.php
index 437fab6b6a8..3ca5de67874 100644
--- a/apps/user_ldap/lib/Helper.php
+++ b/apps/user_ldap/lib/Helper.php
@@ -35,15 +35,10 @@ use OCP\IConfig;
use OCP\IDBConnection;
class Helper {
-
- /** @var IConfig */
- private $config;
-
- /** @var IDBConnection */
- private $connection;
-
- /** @var CappedMemoryCache */
- protected $sanitizeDnCache;
+ private IConfig $config;
+ private IDBConnection $connection;
+ /** @var CappedMemoryCache<string> */
+ protected CappedMemoryCache $sanitizeDnCache;
public function __construct(IConfig $config,
IDBConnection $connection) {
diff --git a/apps/user_ldap/lib/User/Manager.php b/apps/user_ldap/lib/User/Manager.php
index e752b113e3f..e52b093f5af 100644
--- a/apps/user_ldap/lib/User/Manager.php
+++ b/apps/user_ldap/lib/User/Manager.php
@@ -47,43 +47,20 @@ use Psr\Log\LoggerInterface;
* cache
*/
class Manager {
- /** @var Access */
- protected $access;
-
- /** @var IConfig */
- protected $ocConfig;
-
- /** @var IDBConnection */
- protected $db;
-
- /** @var IUserManager */
- protected $userManager;
-
- /** @var INotificationManager */
- protected $notificationManager;
-
- /** @var FilesystemHelper */
- protected $ocFilesystem;
-
- /** @var LoggerInterface */
- protected $logger;
-
- /** @var Image */
- protected $image;
-
- /** @param \OCP\IAvatarManager */
- protected $avatarManager;
-
- /**
- * @var CappedMemoryCache $usersByDN
- */
- protected $usersByDN;
- /**
- * @var CappedMemoryCache $usersByUid
- */
- protected $usersByUid;
- /** @var IManager */
- private $shareManager;
+ protected ?Access $access = null;
+ protected IConfig $ocConfig;
+ protected IDBConnection $db;
+ protected IUserManager $userManager;
+ protected INotificationManager $notificationManager;
+ protected FilesystemHelper $ocFilesystem;
+ protected LoggerInterface $logger;
+ protected Image $image;
+ protected IAvatarManager $avatarManager;
+ /** @var CappedMemoryCache<User> $usersByDN */
+ protected CappedMemoryCache $usersByDN;
+ /** @var CappedMemoryCache<User> $usersByUid */
+ protected CappedMemoryCache $usersByUid;
+ private IManager $shareManager;
public function __construct(
IConfig $ocConfig,
diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php
index 7c0f31663f0..110b6b248c7 100644
--- a/apps/user_ldap/templates/settings.php
+++ b/apps/user_ldap/templates/settings.php
@@ -125,7 +125,7 @@ style('user_ldap', 'settings');
</fieldset>
<fieldset id="ldapSettings-2">
<p><strong><?php p($l->t('Internal Username'));?></strong></p>
- <p class="ldapIndent"><?php p($l->t('By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior.'));?></p>
+ <p class="ldapIndent"><?php p($l->t('By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior.'));?></p>
<p class="ldapIndent"><label for="ldap_expert_username_attr"><?php p($l->t('Internal Username Attribute:'));?></label><input type="text" id="ldap_expert_username_attr" name="ldap_expert_username_attr" data-default="<?php p($_['ldap_expert_username_attr_default']); ?>" /></p>
<p><strong><?php p($l->t('Override UUID detection'));?></strong></p>
<p class="ldapIndent"><?php p($l->t('By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups.'));?></p>
diff --git a/apps/user_status/css/user-status-menu.css b/apps/user_status/css/user-status-menu.css
new file mode 100644
index 00000000000..9966be2f4ff
--- /dev/null
+++ b/apps/user_status/css/user-status-menu.css
@@ -0,0 +1,101 @@
+@charset "UTF-8";
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @copyright Copyright (c) 2020 Georg Ehrke
+ *
+ * @author Georg Ehrke <oc.list@georgehrke.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
+ *
+ * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+/**
+ * @see core/src/icons.js
+ */
+/**
+ * SVG COLOR API
+ *
+ * @param string $icon the icon filename
+ * @param string $dir the icon folder within /core/img if $core or app name
+ * @param string $color the desired color in hexadecimal
+ * @param int $version the version of the file
+ * @param bool [$core] search icon in core
+ *
+ * @returns A background image with the url to the set to the requested icon.
+ */
+.icon-user-status {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-app-dark);
+}
+
+.icon-user-status-online {
+ background-image: url("../img/user-status-online.svg");
+}
+
+.icon-user-status-away {
+ background-image: url("../img/user-status-away.svg");
+}
+
+.icon-user-status-dnd {
+ background-image: url("../img/user-status-dnd.svg");
+}
+
+.icon-user-status-invisible {
+ /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
+ background-image: var(--icon-user-status-invisible-dark);
+}
+
+/*# sourceMappingURL=user-status-menu.css.map */
diff --git a/apps/user_status/css/user-status-menu.css.map b/apps/user_status/css/user-status-menu.css.map
new file mode 100644
index 00000000000..0363c914a41
--- /dev/null
+++ b/apps/user_status/css/user-status-menu.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","user-status-menu.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD1BA;ACuCC;EAEA;;;ADrCD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAID;ACsBC;EAEA","file":"user-status-menu.css"} \ No newline at end of file
diff --git a/apps/user_status/css/user-status-menu.scss b/apps/user_status/css/user-status-menu.scss
index 0591bf15748..6dc681c1448 100644
--- a/apps/user_status/css/user-status-menu.scss
+++ b/apps/user_status/css/user-status-menu.scss
@@ -19,9 +19,11 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
+@use 'variables';
+@import 'functions';
.icon-user-status {
- @include icon-color('app', 'user_status', $color-black, 1);
+ @include icon-color('app', 'user_status', variables.$color-black, 1);
}
.icon-user-status-online {
@@ -38,5 +40,5 @@
// TODO: debug why icon-black-white does not work here
.icon-user-status-invisible {
- @include icon-color('user-status-invisible', 'user_status', $color-black, 1);
+ @include icon-color('user-status-invisible', 'user_status', variables.$color-black, 1);
}
diff --git a/apps/weather_status/l10n/eu.js b/apps/weather_status/l10n/eu.js
index d36bcaaf2dd..f900f4afe01 100644
--- a/apps/weather_status/l10n/eu.js
+++ b/apps/weather_status/l10n/eu.js
@@ -21,18 +21,18 @@ OC.L10N.register(
"{temperature} {unit} partly cloudy" : "{temperature} {unit} hodei-tarteak",
"{temperature} {unit} foggy later today" : "{temperature} {unit} lainotu egingo da geroago",
"{temperature} {unit} foggy" : "{temperature} {unit} lainotsu",
- "{temperature} {unit} light rainfall later today" : "{tenperatura} {unitatea} eurite arina gaur beranduago",
- "{temperature} {unit} light rainfall" : "{tenperatura} {unitatea} prezipitazio arina",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} eurite arina gaur beranduago",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} prezipitazio arina",
"{temperature} {unit} rainfall later today" : "{temperature} {unit} prezipitazioa gaur beranduago",
- "{temperature} {unit} rainfall" : "{tenperatura} {unitatea} prezipitazioa",
- "{temperature} {unit} heavy rainfall later today" : "{tenperatura} {unitatea} eurite handia gaur beranduago",
- "{temperature} {unit} heavy rainfall" : "{tenperatura} {unitatea} euri-jasa",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} prezipitazioa",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} eurite handia gaur beranduago",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} euri-jasa",
"{temperature} {unit} rainfall showers later today" : "{temperature} {unit} euri zaparrada gaur beranduago",
- "{temperature} {unit} rainfall showers" : "{tenperatura} {unitatea} euri zaparradak gaur beranduago",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} euri zaparradak gaur beranduago",
"{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} zaparrada arinak gaur beranduago",
- "{temperature} {unit} light rainfall showers" : "{tenperatura} {unitatea} zaparrada arinak",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} zaparrada arinak",
"{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} euri zaparrada handiak gaur beranduago",
- "{temperature} {unit} heavy rainfall showers" : "{tenperatura} {unitatea} euri zaparrada handiak",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} euri zaparrada handiak",
"More weather for {adr}" : "Eguraldi gehiago {adr}-(e)rako",
"Loading weather" : "Eguraldia kargatzen",
"Remove from favorites" : "Kendu gogokoetatik",
diff --git a/apps/weather_status/l10n/eu.json b/apps/weather_status/l10n/eu.json
index 3e974d1dba5..4296fd48265 100644
--- a/apps/weather_status/l10n/eu.json
+++ b/apps/weather_status/l10n/eu.json
@@ -19,18 +19,18 @@
"{temperature} {unit} partly cloudy" : "{temperature} {unit} hodei-tarteak",
"{temperature} {unit} foggy later today" : "{temperature} {unit} lainotu egingo da geroago",
"{temperature} {unit} foggy" : "{temperature} {unit} lainotsu",
- "{temperature} {unit} light rainfall later today" : "{tenperatura} {unitatea} eurite arina gaur beranduago",
- "{temperature} {unit} light rainfall" : "{tenperatura} {unitatea} prezipitazio arina",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} eurite arina gaur beranduago",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} prezipitazio arina",
"{temperature} {unit} rainfall later today" : "{temperature} {unit} prezipitazioa gaur beranduago",
- "{temperature} {unit} rainfall" : "{tenperatura} {unitatea} prezipitazioa",
- "{temperature} {unit} heavy rainfall later today" : "{tenperatura} {unitatea} eurite handia gaur beranduago",
- "{temperature} {unit} heavy rainfall" : "{tenperatura} {unitatea} euri-jasa",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} prezipitazioa",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} eurite handia gaur beranduago",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} euri-jasa",
"{temperature} {unit} rainfall showers later today" : "{temperature} {unit} euri zaparrada gaur beranduago",
- "{temperature} {unit} rainfall showers" : "{tenperatura} {unitatea} euri zaparradak gaur beranduago",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} euri zaparradak gaur beranduago",
"{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} zaparrada arinak gaur beranduago",
- "{temperature} {unit} light rainfall showers" : "{tenperatura} {unitatea} zaparrada arinak",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} zaparrada arinak",
"{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} euri zaparrada handiak gaur beranduago",
- "{temperature} {unit} heavy rainfall showers" : "{tenperatura} {unitatea} euri zaparrada handiak",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} euri zaparrada handiak",
"More weather for {adr}" : "Eguraldi gehiago {adr}-(e)rako",
"Loading weather" : "Eguraldia kargatzen",
"Remove from favorites" : "Kendu gogokoetatik",
diff --git a/apps/weather_status/l10n/ro.js b/apps/weather_status/l10n/ro.js
new file mode 100644
index 00000000000..d9de644cf65
--- /dev/null
+++ b/apps/weather_status/l10n/ro.js
@@ -0,0 +1,37 @@
+OC.L10N.register(
+ "weather_status",
+ {
+ "Unknown address" : "Adresă necunoscută",
+ "No result." : "Niciun rezultat.",
+ "Malformed JSON data." : "Informațiile în format JSON au expirat.",
+ "Error" : "Eroare",
+ "Weather status" : "Starea vremii",
+ "Weather status in your dashboard" : "Starea vremii pe ecranul principal",
+ "Detect location" : "Detectează locația",
+ "Set custom address" : "Setează adresă personalizată",
+ "Favorites" : "Favorite",
+ "{temperature} {unit} clear sky later today" : "{temperature} {unit} cer senin astăzi mai târziu",
+ "{temperature} {unit} clear sky" : "{temperature} {unit} cer senin",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} înourat mai târziu",
+ "{temperature} {unit} cloudy" : "{temperature} {unit} înourat",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} vreme frumoasă astăzi mai târziu",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} vreme frumoasă",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parțial înourat astăzi mai târziu",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} parțial înourat",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} încețoșat astăzi mai târziu",
+ "{temperature} {unit} foggy" : "{temperature} {unit} încețoșat",
+ "More weather for {adr}" : "Mai multe informații despre vreme pentru {adr}",
+ "Loading weather" : "Se încarcă datele despre vreme",
+ "Remove from favorites" : "Șterge din favorite",
+ "Add as favorite" : "Adaugă ca favorit",
+ "You are not logged in." : "Nu ești înregistrat",
+ "There was an error getting the weather status information." : "A apărut o eroare când sa încercat preluarea de informații despre vreme.",
+ "No weather information found" : "Nu s-au găsit informații despre vreme",
+ "Location not found" : "Locația nu a fost găsită",
+ "There was an error setting the location address." : "A apărut o eroare în timpul setării locației adresei.",
+ "There was an error setting the location." : "A apărut o eroare în timpul setării locației.",
+ "There was an error saving the mode." : "A apărut o eroare în timpul salvării modului.",
+ "There was an error using personal address." : "A apărut o eroare în timpul folosirii adresei perosnale.",
+ "Set location for weather" : "Setează locația pentru vreme"
+},
+"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/weather_status/l10n/ro.json b/apps/weather_status/l10n/ro.json
new file mode 100644
index 00000000000..e872a46c24c
--- /dev/null
+++ b/apps/weather_status/l10n/ro.json
@@ -0,0 +1,35 @@
+{ "translations": {
+ "Unknown address" : "Adresă necunoscută",
+ "No result." : "Niciun rezultat.",
+ "Malformed JSON data." : "Informațiile în format JSON au expirat.",
+ "Error" : "Eroare",
+ "Weather status" : "Starea vremii",
+ "Weather status in your dashboard" : "Starea vremii pe ecranul principal",
+ "Detect location" : "Detectează locația",
+ "Set custom address" : "Setează adresă personalizată",
+ "Favorites" : "Favorite",
+ "{temperature} {unit} clear sky later today" : "{temperature} {unit} cer senin astăzi mai târziu",
+ "{temperature} {unit} clear sky" : "{temperature} {unit} cer senin",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} înourat mai târziu",
+ "{temperature} {unit} cloudy" : "{temperature} {unit} înourat",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} vreme frumoasă astăzi mai târziu",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} vreme frumoasă",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parțial înourat astăzi mai târziu",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} parțial înourat",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} încețoșat astăzi mai târziu",
+ "{temperature} {unit} foggy" : "{temperature} {unit} încețoșat",
+ "More weather for {adr}" : "Mai multe informații despre vreme pentru {adr}",
+ "Loading weather" : "Se încarcă datele despre vreme",
+ "Remove from favorites" : "Șterge din favorite",
+ "Add as favorite" : "Adaugă ca favorit",
+ "You are not logged in." : "Nu ești înregistrat",
+ "There was an error getting the weather status information." : "A apărut o eroare când sa încercat preluarea de informații despre vreme.",
+ "No weather information found" : "Nu s-au găsit informații despre vreme",
+ "Location not found" : "Locația nu a fost găsită",
+ "There was an error setting the location address." : "A apărut o eroare în timpul setării locației adresei.",
+ "There was an error setting the location." : "A apărut o eroare în timpul setării locației.",
+ "There was an error saving the mode." : "A apărut o eroare în timpul salvării modului.",
+ "There was an error using personal address." : "A apărut o eroare în timpul folosirii adresei perosnale.",
+ "Set location for weather" : "Setează locația pentru vreme"
+},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
+} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/de_DE.js b/apps/workflowengine/l10n/de_DE.js
index 52515a22796..526b88d87c8 100644
--- a/apps/workflowengine/l10n/de_DE.js
+++ b/apps/workflowengine/l10n/de_DE.js
@@ -54,7 +54,7 @@ OC.L10N.register(
"Images" : "Bilder",
"Office documents" : "Office-Dokumente",
"PDF documents" : "PDF-Dokumente",
- "Custom mimetype" : "Benutzerdefinierter Mime-Typ",
+ "Custom mimetype" : "Benutzerdefinierter MIME-Typ",
"Select a tag" : "Schlagwort auswählen",
"No results" : "Keine Ergebnisse",
"%s (invisible)" : "%s (unsichtbar)",
diff --git a/apps/workflowengine/l10n/de_DE.json b/apps/workflowengine/l10n/de_DE.json
index 9c6debcdbe5..7102c73c8a7 100644
--- a/apps/workflowengine/l10n/de_DE.json
+++ b/apps/workflowengine/l10n/de_DE.json
@@ -52,7 +52,7 @@
"Images" : "Bilder",
"Office documents" : "Office-Dokumente",
"PDF documents" : "PDF-Dokumente",
- "Custom mimetype" : "Benutzerdefinierter Mime-Typ",
+ "Custom mimetype" : "Benutzerdefinierter MIME-Typ",
"Select a tag" : "Schlagwort auswählen",
"No results" : "Keine Ergebnisse",
"%s (invisible)" : "%s (unsichtbar)",
diff --git a/apps/workflowengine/lib/Manager.php b/apps/workflowengine/lib/Manager.php
index 34dbf507b91..f6c3e3086c2 100644
--- a/apps/workflowengine/lib/Manager.php
+++ b/apps/workflowengine/lib/Manager.php
@@ -109,8 +109,8 @@ class Manager implements IManager {
/** @var ILogger */
protected $logger;
- /** @var CappedMemoryCache */
- protected $operationsByScope = [];
+ /** @var CappedMemoryCache<int[]> */
+ protected CappedMemoryCache $operationsByScope;
/** @var IUserSession */
protected $session;
@@ -350,10 +350,11 @@ class Manager implements IManager {
$qb->setParameters(['scope' => $scopeContext->getScope(), 'scopeId' => $scopeContext->getScopeId()]);
$result = $qb->execute();
- $this->operationsByScope[$scopeContext->getHash()] = [];
+ $operations = [];
while (($opId = $result->fetchOne()) !== false) {
- $this->operationsByScope[$scopeContext->getHash()][] = (int)$opId;
+ $operations[] = (int)$opId;
}
+ $this->operationsByScope[$scopeContext->getHash()] = $operations;
$result->closeCursor();
return in_array($id, $this->operationsByScope[$scopeContext->getHash()], true);
diff --git a/apps/workflowengine/src/components/Event.vue b/apps/workflowengine/src/components/Event.vue
index 97f24af22f3..5f4b8dd87b0 100644
--- a/apps/workflowengine/src/components/Event.vue
+++ b/apps/workflowengine/src/components/Event.vue
@@ -111,7 +111,7 @@ export default {
}
.multiselect:not(.multiselect--disabled)::v-deep .multiselect__tags .multiselect__single {
- background-image: var(--icon-triangle-s-000);
+ background-image: var(--icon-triangle-s-dark);
background-repeat: no-repeat;
background-position: right center;
}
diff --git a/apps/workflowengine/src/components/Operation.vue b/apps/workflowengine/src/components/Operation.vue
index 47a40eca950..a148ef3097b 100644
--- a/apps/workflowengine/src/components/Operation.vue
+++ b/apps/workflowengine/src/components/Operation.vue
@@ -4,11 +4,9 @@
<div class="actions__item__description">
<h3>{{ operation.name }}</h3>
<small>{{ operation.description }}</small>
- <div>
- <button v-if="colored">
- {{ t('workflowengine', 'Add new flow') }}
- </button>
- </div>
+ <Button v-if="colored">
+ {{ t('workflowengine', 'Add new flow') }}
+ </Button>
</div>
<div class="actions__item_options">
<slot />
@@ -17,8 +15,13 @@
</template>
<script>
+import Button from '@nextcloud/vue/dist/Components/Button'
+
export default {
name: 'Operation',
+ components: {
+ Button,
+ },
props: {
operation: {
type: Object,
diff --git a/apps/workflowengine/src/components/Rule.vue b/apps/workflowengine/src/components/Rule.vue
index 6240b304968..3ee01680819 100644
--- a/apps/workflowengine/src/components/Rule.vue
+++ b/apps/workflowengine/src/components/Rule.vue
@@ -31,17 +31,19 @@
@input="updateOperation" />
</Operation>
<div class="buttons">
- <button class="status-button icon"
- :class="ruleStatus.class"
- @click="saveRule">
- {{ ruleStatus.title }}
- </button>
- <button v-if="rule.id < -1 || dirty" @click="cancelRule">
+ <Button v-if="rule.id < -1 || dirty" @click="cancelRule">
{{ t('workflowengine', 'Cancel') }}
- </button>
- <button v-else-if="!dirty" @click="deleteRule">
+ </Button>
+ <Button v-else-if="!dirty" @click="deleteRule">
{{ t('workflowengine', 'Delete') }}
- </button>
+ </Button>
+ <Button :type="ruleStatus.type"
+ @click="saveRule">
+ <template #icon>
+ <component :is="ruleStatus.icon" :size="20" />
+ </template>
+ {{ ruleStatus.title }}
+ </Button>
</div>
<p v-if="error" class="error-message">
{{ error }}
@@ -54,6 +56,11 @@
import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'
import Actions from '@nextcloud/vue/dist/Components/Actions'
import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
+import Button from '@nextcloud/vue/dist/Components/Button'
+import ArrowRight from 'vue-material-design-icons/ArrowRight.vue'
+import CheckMark from 'vue-material-design-icons/Check.vue'
+import Close from 'vue-material-design-icons/Close.vue'
+
import Event from './Event'
import Check from './Check'
import Operation from './Operation'
@@ -61,7 +68,7 @@ import Operation from './Operation'
export default {
name: 'Rule',
components: {
- Operation, Check, Event, Actions, ActionButton,
+ Operation, Check, Event, Actions, ActionButton, Button, ArrowRight, CheckMark, Close,
},
directives: {
Tooltip,
@@ -89,14 +96,15 @@ export default {
if (this.error || !this.rule.valid || this.rule.checks.length === 0 || this.rule.checks.some((check) => check.invalid === true)) {
return {
title: t('workflowengine', 'The configuration is invalid'),
- class: 'icon-close-white invalid',
+ icon: 'Close',
+ type: 'warning',
tooltip: { placement: 'bottom', show: true, content: this.error },
}
}
if (!this.dirty) {
- return { title: t('workflowengine', 'Active'), class: 'icon icon-checkmark' }
+ return { title: t('workflowengine', 'Active'), icon: 'CheckMark', type: 'success' }
}
- return { title: t('workflowengine', 'Save'), class: 'icon-confirm-white primary' }
+ return { title: t('workflowengine', 'Save'), icon: 'ArrowRight', type: 'primary' }
},
lastCheckComplete() {
@@ -170,18 +178,16 @@ export default {
</script>
<style scoped lang="scss">
- button.icon {
- padding-left: 32px;
- background-position: 10px center;
- }
.buttons {
- display: block;
- overflow: hidden;
+ display: flex;
+ justify-content: end;
button {
- float: right;
- height: 34px;
+ margin-left: 5px;
+ }
+ button:last-child{
+ margin-right: 10px;
}
}
@@ -190,27 +196,6 @@ export default {
margin-right: 10px;
}
- .status-button {
- transition: 0.5s ease all;
- display: block;
- margin: 3px 10px 3px auto;
- }
- .status-button.primary {
- padding-left: 32px;
- background-position: 10px center;
- }
- .status-button:not(.primary) {
- background-color: var(--color-main-background);
- }
- .status-button.invalid {
- background-color: var(--color-warning);
- color: #fff;
- border: none;
- }
- .status-button.icon-checkmark {
- border: 1px solid var(--color-success);
- }
-
.flow-icon {
width: 44px;
}
diff --git a/apps/workflowengine/src/styles/operation.scss b/apps/workflowengine/src/styles/operation.scss
index 89c105d58fe..d936c64e2de 100644
--- a/apps/workflowengine/src/styles/operation.scss
+++ b/apps/workflowengine/src/styles/operation.scss
@@ -24,6 +24,7 @@
flex-grow: 1;
display: flex;
flex-direction: column;
+ align-items: center;
}
.actions__item_options {
width: 100%;