aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/base.php62
-rw-r--r--lib/composer/autoload.php17
-rw-r--r--lib/composer/composer/autoload_classmap.php33
-rw-r--r--lib/composer/composer/autoload_static.php33
-rw-r--r--lib/l10n/ar.js8
-rw-r--r--lib/l10n/ar.json8
-rw-r--r--lib/l10n/ast.js8
-rw-r--r--lib/l10n/ast.json8
-rw-r--r--lib/l10n/az.js2
-rw-r--r--lib/l10n/az.json2
-rw-r--r--lib/l10n/bg.js26
-rw-r--r--lib/l10n/bg.json26
-rw-r--r--lib/l10n/bs.js2
-rw-r--r--lib/l10n/bs.json2
-rw-r--r--lib/l10n/ca.js111
-rw-r--r--lib/l10n/ca.json111
-rw-r--r--lib/l10n/cs.js24
-rw-r--r--lib/l10n/cs.json24
-rw-r--r--lib/l10n/da.js132
-rw-r--r--lib/l10n/da.json132
-rw-r--r--lib/l10n/de.js24
-rw-r--r--lib/l10n/de.json24
-rw-r--r--lib/l10n/de_DE.js24
-rw-r--r--lib/l10n/de_DE.json24
-rw-r--r--lib/l10n/el.js16
-rw-r--r--lib/l10n/el.json16
-rw-r--r--lib/l10n/en_GB.js111
-rw-r--r--lib/l10n/en_GB.json111
-rw-r--r--lib/l10n/eo.js13
-rw-r--r--lib/l10n/eo.json13
-rw-r--r--lib/l10n/es.js28
-rw-r--r--lib/l10n/es.json28
-rw-r--r--lib/l10n/es_419.js10
-rw-r--r--lib/l10n/es_419.json10
-rw-r--r--lib/l10n/es_AR.js12
-rw-r--r--lib/l10n/es_AR.json12
-rw-r--r--lib/l10n/es_CL.js10
-rw-r--r--lib/l10n/es_CL.json10
-rw-r--r--lib/l10n/es_CO.js10
-rw-r--r--lib/l10n/es_CO.json10
-rw-r--r--lib/l10n/es_CR.js10
-rw-r--r--lib/l10n/es_CR.json10
-rw-r--r--lib/l10n/es_DO.js10
-rw-r--r--lib/l10n/es_DO.json10
-rw-r--r--lib/l10n/es_EC.js10
-rw-r--r--lib/l10n/es_EC.json10
-rw-r--r--lib/l10n/es_GT.js10
-rw-r--r--lib/l10n/es_GT.json10
-rw-r--r--lib/l10n/es_HN.js10
-rw-r--r--lib/l10n/es_HN.json10
-rw-r--r--lib/l10n/es_MX.js10
-rw-r--r--lib/l10n/es_MX.json10
-rw-r--r--lib/l10n/es_NI.js10
-rw-r--r--lib/l10n/es_NI.json10
-rw-r--r--lib/l10n/es_PA.js10
-rw-r--r--lib/l10n/es_PA.json10
-rw-r--r--lib/l10n/es_PE.js10
-rw-r--r--lib/l10n/es_PE.json10
-rw-r--r--lib/l10n/es_PR.js10
-rw-r--r--lib/l10n/es_PR.json10
-rw-r--r--lib/l10n/es_PY.js10
-rw-r--r--lib/l10n/es_PY.json10
-rw-r--r--lib/l10n/es_SV.js10
-rw-r--r--lib/l10n/es_SV.json10
-rw-r--r--lib/l10n/es_UY.js10
-rw-r--r--lib/l10n/es_UY.json10
-rw-r--r--lib/l10n/et_EE.js6
-rw-r--r--lib/l10n/et_EE.json6
-rw-r--r--lib/l10n/eu.js18
-rw-r--r--lib/l10n/eu.json18
-rw-r--r--lib/l10n/fa.js162
-rw-r--r--lib/l10n/fa.json162
-rw-r--r--lib/l10n/fi.js18
-rw-r--r--lib/l10n/fi.json18
-rw-r--r--lib/l10n/fr.js33
-rw-r--r--lib/l10n/fr.json33
-rw-r--r--lib/l10n/gl.js68
-rw-r--r--lib/l10n/gl.json68
-rw-r--r--lib/l10n/he.js12
-rw-r--r--lib/l10n/he.json12
-rw-r--r--lib/l10n/hr.js12
-rw-r--r--lib/l10n/hr.json12
-rw-r--r--lib/l10n/hu.js26
-rw-r--r--lib/l10n/hu.json26
-rw-r--r--lib/l10n/ia.js2
-rw-r--r--lib/l10n/ia.json2
-rw-r--r--lib/l10n/id.js8
-rw-r--r--lib/l10n/id.json8
-rw-r--r--lib/l10n/is.js10
-rw-r--r--lib/l10n/is.json10
-rw-r--r--lib/l10n/it.js12
-rw-r--r--lib/l10n/it.json12
-rw-r--r--lib/l10n/ja.js27
-rw-r--r--lib/l10n/ja.json27
-rw-r--r--lib/l10n/ka_GE.js10
-rw-r--r--lib/l10n/ka_GE.json10
-rw-r--r--lib/l10n/kab.js2
-rw-r--r--lib/l10n/kab.json2
-rw-r--r--lib/l10n/km.js2
-rw-r--r--lib/l10n/km.json2
-rw-r--r--lib/l10n/kn.js2
-rw-r--r--lib/l10n/kn.json2
-rw-r--r--lib/l10n/ko.js17
-rw-r--r--lib/l10n/ko.json17
-rw-r--r--lib/l10n/lt_LT.js8
-rw-r--r--lib/l10n/lt_LT.json8
-rw-r--r--lib/l10n/lv.js14
-rw-r--r--lib/l10n/lv.json14
-rw-r--r--lib/l10n/mk.js49
-rw-r--r--lib/l10n/mk.json49
-rw-r--r--lib/l10n/nb.js11
-rw-r--r--lib/l10n/nb.json11
-rw-r--r--lib/l10n/nl.js12
-rw-r--r--lib/l10n/nl.json12
-rw-r--r--lib/l10n/nn_NO.js2
-rw-r--r--lib/l10n/nn_NO.json2
-rw-r--r--lib/l10n/pl.js24
-rw-r--r--lib/l10n/pl.json24
-rw-r--r--lib/l10n/pt_BR.js22
-rw-r--r--lib/l10n/pt_BR.json22
-rw-r--r--lib/l10n/pt_PT.js10
-rw-r--r--lib/l10n/pt_PT.json10
-rw-r--r--lib/l10n/ro.js6
-rw-r--r--lib/l10n/ro.json6
-rw-r--r--lib/l10n/ru.js27
-rw-r--r--lib/l10n/ru.json27
-rw-r--r--lib/l10n/sc.js12
-rw-r--r--lib/l10n/sc.json12
-rw-r--r--lib/l10n/sk.js29
-rw-r--r--lib/l10n/sk.json29
-rw-r--r--lib/l10n/sl.js13
-rw-r--r--lib/l10n/sl.json13
-rw-r--r--lib/l10n/sq.js8
-rw-r--r--lib/l10n/sq.json8
-rw-r--r--lib/l10n/sr.js10
-rw-r--r--lib/l10n/sr.json10
-rw-r--r--lib/l10n/sv.js55
-rw-r--r--lib/l10n/sv.json55
-rw-r--r--lib/l10n/th.js8
-rw-r--r--lib/l10n/th.json8
-rw-r--r--lib/l10n/tr.js22
-rw-r--r--lib/l10n/tr.json22
-rw-r--r--lib/l10n/ug.js2
-rw-r--r--lib/l10n/ug.json2
-rw-r--r--lib/l10n/uk.js131
-rw-r--r--lib/l10n/uk.json131
-rw-r--r--lib/l10n/vi.js4
-rw-r--r--lib/l10n/vi.json4
-rw-r--r--lib/l10n/zh_CN.js75
-rw-r--r--lib/l10n/zh_CN.json75
-rw-r--r--lib/l10n/zh_HK.js24
-rw-r--r--lib/l10n/zh_HK.json24
-rw-r--r--lib/l10n/zh_TW.js26
-rw-r--r--lib/l10n/zh_TW.json26
-rw-r--r--lib/private/Accounts/AccountManager.php9
-rw-r--r--lib/private/Accounts/Hooks.php3
-rw-r--r--lib/private/App/AppStore/Bundles/BundleFetcher.php28
-rw-r--r--lib/private/App/PlatformRepository.php9
-rw-r--r--lib/private/AppConfig.php9
-rw-r--r--lib/private/AppFramework/DependencyInjection/DIContainer.php37
-rw-r--r--lib/private/AppFramework/Http/Dispatcher.php2
-rw-r--r--lib/private/AppFramework/Http/Request.php3
-rw-r--r--lib/private/AppFramework/Middleware/PublicShare/PublicShareMiddleware.php22
-rw-r--r--lib/private/AppFramework/Middleware/Security/CORSMiddleware.php4
-rw-r--r--lib/private/AppFramework/Utility/SimpleContainer.php11
-rw-r--r--lib/private/Authentication/Events/LoginFailed.php12
-rw-r--r--lib/private/Authentication/Listeners/LoginFailedListener.php3
-rw-r--r--lib/private/Authentication/Login/EmailLoginCommand.php12
-rw-r--r--lib/private/Authentication/Login/LoggedInCheckCommand.php3
-rw-r--r--lib/private/Authentication/Token/PublicKeyTokenProvider.php84
-rw-r--r--lib/private/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDao.php4
-rw-r--r--lib/private/Authentication/TwoFactorAuth/Manager.php4
-rw-r--r--lib/private/Authentication/WebAuthn/Manager.php5
-rw-r--r--lib/private/Calendar/Manager.php6
-rw-r--r--lib/private/Collaboration/Collaborators/MailPlugin.php22
-rw-r--r--lib/private/Collaboration/Reference/File/FileReferenceProvider.php18
-rw-r--r--lib/private/Collaboration/Reference/LinkReferenceProvider.php1
-rw-r--r--lib/private/Collaboration/Reference/ReferenceManager.php1
-rw-r--r--lib/private/Comments/Manager.php2
-rw-r--r--lib/private/Config.php54
-rw-r--r--lib/private/Contacts/ContactsMenu/ContactsStore.php7
-rw-r--r--lib/private/ContactsManager.php18
-rw-r--r--lib/private/DB/Connection.php13
-rw-r--r--lib/private/DB/ConnectionFactory.php4
-rw-r--r--lib/private/DB/MigrationService.php9
-rw-r--r--lib/private/DB/Migrator.php2
-rw-r--r--lib/private/Dashboard/Manager.php16
-rw-r--r--lib/private/Federation/CloudIdManager.php3
-rw-r--r--lib/private/Files/Cache/CacheEntry.php2
-rw-r--r--lib/private/Files/Cache/Propagator.php46
-rw-r--r--lib/private/Files/Cache/Storage.php2
-rw-r--r--lib/private/Files/Cache/Wrapper/CacheJail.php4
-rw-r--r--lib/private/Files/Filesystem.php27
-rw-r--r--lib/private/Files/Node/Folder.php15
-rw-r--r--lib/private/Files/Node/Node.php6
-rw-r--r--lib/private/Files/ObjectStore/ObjectStoreStorage.php32
-rw-r--r--lib/private/Files/ObjectStore/S3ObjectTrait.php6
-rw-r--r--lib/private/Files/Search/QueryOptimizer/PathPrefixOptimizer.php9
-rw-r--r--lib/private/Files/Search/SearchComparison.php4
-rw-r--r--lib/private/Files/SetupManager.php26
-rw-r--r--lib/private/Files/SimpleFS/NewSimpleFile.php4
-rw-r--r--lib/private/Files/SimpleFS/SimpleFolder.php15
-rw-r--r--lib/private/Files/Storage/Common.php30
-rw-r--r--lib/private/Files/Storage/DAV.php46
-rw-r--r--lib/private/Files/Storage/FailedStorage.php4
-rw-r--r--lib/private/Files/Storage/Local.php66
-rw-r--r--lib/private/Files/Storage/PolyFill/CopyDirectory.php14
-rw-r--r--lib/private/Files/Storage/Wrapper/Availability.php8
-rw-r--r--lib/private/Files/Storage/Wrapper/Encoding.php16
-rw-r--r--lib/private/Files/Storage/Wrapper/Encryption.php43
-rw-r--r--lib/private/Files/Storage/Wrapper/Jail.php16
-rw-r--r--lib/private/Files/Storage/Wrapper/PermissionsMask.php12
-rw-r--r--lib/private/Files/Storage/Wrapper/Wrapper.php16
-rw-r--r--lib/private/Files/Stream/Encryption.php3
-rw-r--r--lib/private/Files/Stream/SeekableHttpStream.php11
-rw-r--r--lib/private/Files/View.php150
-rw-r--r--lib/private/Group/DisplayNameCache.php87
-rw-r--r--lib/private/Group/Group.php2
-rw-r--r--lib/private/Group/Manager.php17
-rw-r--r--lib/private/Http/Client/Client.php18
-rw-r--r--lib/private/Http/Client/ClientService.php10
-rw-r--r--lib/private/Http/Client/DnsPinMiddleware.php16
-rw-r--r--lib/private/Http/Client/LocalAddressChecker.php97
-rw-r--r--lib/private/L10N/Factory.php13
-rw-r--r--lib/private/Lockdown/Filesystem/NullStorage.php4
-rw-r--r--lib/private/Log/ErrorHandler.php84
-rw-r--r--lib/private/Log/Errorlog.php5
-rw-r--r--lib/private/Mail/Message.php18
-rw-r--r--lib/private/Memcache/Redis.php48
-rw-r--r--lib/private/Metadata/FileEventListener.php5
-rw-r--r--lib/private/Metadata/FileMetadata.php2
-rw-r--r--lib/private/Metadata/FileMetadataMapper.php43
-rw-r--r--lib/private/Metadata/MetadataManager.php10
-rw-r--r--lib/private/Metadata/Provider/ExifProvider.php107
-rw-r--r--lib/private/NavigationManager.php2
-rw-r--r--lib/private/Net/HostnameClassifier.php74
-rw-r--r--lib/private/Net/IpAddressClassifier.php81
-rw-r--r--lib/private/Notification/Manager.php2
-rw-r--r--lib/private/OCS/CoreCapabilities.php5
-rw-r--r--lib/private/Preview/BackgroundCleanupJob.php8
-rw-r--r--lib/private/Preview/Generator.php166
-rw-r--r--lib/private/Preview/HEIC.php3
-rw-r--r--lib/private/Preview/Imaginary.php21
-rw-r--r--lib/private/PreviewManager.php41
-rw-r--r--lib/private/Profile/Actions/FediverseAction.php90
-rw-r--r--lib/private/Profile/ProfileManager.php2
-rw-r--r--lib/private/Profiler/FileProfilerStorage.php1
-rw-r--r--lib/private/Profiler/Profiler.php4
-rw-r--r--lib/private/Repair.php39
-rw-r--r--lib/private/Repair/CleanUpAbandonedApps.php53
-rw-r--r--lib/private/Repair/ClearGeneratedAvatarCache.php9
-rw-r--r--lib/private/Repair/ClearGeneratedAvatarCacheJob.php38
-rw-r--r--lib/private/Repair/MoveUpdaterStepFile.php2
-rw-r--r--lib/private/Repair/NC25/AddMissingSecretJob.php63
-rw-r--r--lib/private/Repair/Owncloud/InstallCoreBundle.php79
-rw-r--r--lib/private/Repair/RepairMimeTypes.php13
-rw-r--r--lib/private/Security/Crypto.php17
-rw-r--r--lib/private/Security/Hasher.php9
-rw-r--r--lib/private/Security/RateLimiting/Limiter.php6
-rw-r--r--lib/private/Security/RemoteHostValidator.php76
-rw-r--r--lib/private/Security/VerificationToken/VerificationToken.php9
-rw-r--r--lib/private/Server.php52
-rw-r--r--lib/private/ServerContainer.php18
-rw-r--r--lib/private/Session/CryptoSessionData.php7
-rw-r--r--lib/private/Setup.php44
-rw-r--r--lib/private/Setup/MySQL.php3
-rw-r--r--lib/private/Setup/PostgreSQL.php11
-rw-r--r--lib/private/Share/Share.php405
-rw-r--r--lib/private/Share20/DefaultShareProvider.php4
-rw-r--r--lib/private/Share20/Manager.php2
-rw-r--r--lib/private/Share20/ProviderFactory.php39
-rw-r--r--lib/private/Share20/UserRemovedListener.php3
-rw-r--r--lib/private/StreamImage.php34
-rw-r--r--lib/private/Streamer.php2
-rw-r--r--lib/private/Support/Subscription/Assertion.php55
-rw-r--r--lib/private/Support/Subscription/Registry.php43
-rw-r--r--lib/private/SystemConfig.php4
-rw-r--r--lib/private/TagManager.php81
-rw-r--r--lib/private/Tagging/TagMapper.php37
-rw-r--r--lib/private/Tags.php389
-rw-r--r--lib/private/Talk/Broker.php8
-rw-r--r--lib/private/Template/Base.php2
-rw-r--r--lib/private/Template/CSSResourceLocator.php13
-rw-r--r--lib/private/Template/JSCombiner.php2
-rw-r--r--lib/private/Template/JSConfigHelper.php18
-rw-r--r--lib/private/Template/JSResourceLocator.php8
-rwxr-xr-xlib/private/Template/ResourceLocator.php19
-rw-r--r--lib/private/TemplateLayout.php54
-rw-r--r--lib/private/Updater.php3
-rw-r--r--lib/private/User/Listeners/BeforeUserDeletedListener.php (renamed from lib/private/User/Listeners/UserDeletedListener.php)10
-rw-r--r--lib/private/User/Manager.php87
-rw-r--r--lib/private/User/Session.php9
-rw-r--r--lib/private/legacy/OC_App.php2
-rw-r--r--lib/private/legacy/OC_DB.php184
-rw-r--r--lib/private/legacy/OC_DB_StatementWrapper.php135
-rw-r--r--lib/private/legacy/OC_Helper.php12
-rw-r--r--lib/private/legacy/OC_Image.php393
-rw-r--r--lib/private/legacy/OC_Response.php13
-rw-r--r--lib/private/legacy/OC_Util.php11
-rw-r--r--lib/public/Accounts/IAccountManager.php2
-rw-r--r--lib/public/AppFramework/Db/Mapper.php370
-rw-r--r--lib/public/AppFramework/Http/RedirectToDefaultAppResponse.php4
-rw-r--r--lib/public/AppFramework/OCSController.php2
-rw-r--r--lib/public/Authentication/Events/AnyLoginFailedEvent.php62
-rw-r--r--lib/public/Authentication/TwoFactorAuth/IRegistry.php2
-rw-r--r--lib/public/BeforeSabrePubliclyLoadedEvent.php31
-rw-r--r--lib/public/Calendar/ICalendar.php23
-rw-r--r--lib/public/Calendar/ICreateFromString.php7
-rw-r--r--lib/public/Calendar/IHandleImipMessage.php48
-rw-r--r--lib/public/Collaboration/Reference/IReference.php2
-rw-r--r--lib/public/Collaboration/Reference/Reference.php (renamed from lib/private/Collaboration/Reference/Reference.php)114
-rw-r--r--lib/public/Contacts/IManager.php9
-rw-r--r--lib/public/Dashboard/IConditionalWidget.php44
-rw-r--r--lib/public/Defaults.php2
-rw-r--r--lib/public/Files/SimpleFS/ISimpleFolder.php17
-rw-r--r--lib/public/Files/Storage.php12
-rw-r--r--lib/public/Files/Storage/IStorage.php12
-rw-r--r--lib/public/Group/Events/GroupChangedEvent.php94
-rw-r--r--lib/public/IGroupManager.php10
-rw-r--r--lib/public/IImage.php67
-rw-r--r--lib/public/ITags.php34
-rw-r--r--lib/public/IURLGenerator.php11
-rw-r--r--lib/public/IUserManager.php8
-rw-r--r--lib/public/Migration/IMigrationStep.php17
-rw-r--r--lib/public/Migration/SimpleMigrationStep.php26
-rw-r--r--lib/public/Notification/IManager.php2
-rw-r--r--lib/public/Preview/BeforePreviewFetchedEvent.php51
-rw-r--r--lib/public/Profiler/IProfiler.php6
-rw-r--r--lib/public/Security/IRemoteHostValidator.php51
-rw-r--r--lib/public/Server.php8
-rw-r--r--lib/public/Share/IManager.php2
-rw-r--r--lib/public/Support/Subscription/IAssertion.php44
-rw-r--r--lib/public/Talk/IBroker.php11
-rw-r--r--lib/public/Talk/IConversation.php8
-rw-r--r--lib/public/Talk/ITalkBackend.php10
-rw-r--r--lib/public/User/Backend/ICountMappedUsersBackend.php (renamed from lib/private/App/AppStore/Bundles/CoreBundle.php)31
-rw-r--r--lib/public/Util.php27
337 files changed, 5969 insertions, 3749 deletions
diff --git a/lib/base.php b/lib/base.php
index 055cc6786f0..7098fb19fdd 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -72,6 +72,7 @@ use OC\Encryption\HookManager;
use OC\Files\Filesystem;
use OC\Share20\Hooks;
use OCP\User\Events\UserChangedEvent;
+use function OCP\Log\logger;
require_once 'public/Constants.php';
@@ -593,6 +594,7 @@ class OC {
// Add default composer PSR-4 autoloader
self::$composerAutoloader = require_once OC::$SERVERROOT . '/lib/composer/autoload.php';
+ self::$composerAutoloader->setApcuPrefix('composer_autoload');
try {
self::initPaths();
@@ -661,9 +663,20 @@ class OC {
$config = \OC::$server->get(\OCP\IConfig::class);
if (!defined('PHPUNIT_RUN')) {
- OC\Log\ErrorHandler::setLogger(\OC::$server->getLogger());
- $debug = $config->getSystemValue('debug', false);
- OC\Log\ErrorHandler::register($debug);
+ $errorHandler = new OC\Log\ErrorHandler(
+ \OCP\Server::get(\Psr\Log\LoggerInterface::class),
+ );
+ $exceptionHandler = [$errorHandler, 'onException'];
+ if ($config->getSystemValue('debug', false)) {
+ set_error_handler([$errorHandler, 'onAll'], E_ALL);
+ if (\OC::$CLI) {
+ $exceptionHandler = ['OC_Template', 'printExceptionErrorPage'];
+ }
+ } else {
+ set_error_handler([$errorHandler, 'onError']);
+ }
+ register_shutdown_function([$errorHandler, 'onShutdown']);
+ set_exception_handler($exceptionHandler);
}
/** @var \OC\AppFramework\Bootstrap\Coordinator $bootstrapCoordinator */
@@ -745,7 +758,6 @@ class OC {
}
self::registerCleanupHooks($systemConfig);
- self::registerFilesystemHooks();
self::registerShareHooks($systemConfig);
self::registerEncryptionWrapperAndHooks();
self::registerAccountHooks();
@@ -803,7 +815,7 @@ class OC {
if (!$isScssRequest) {
http_response_code(400);
- \OC::$server->getLogger()->warning(
+ \OC::$server->getLogger()->info(
'Trusted domain error. "{remoteAddress}" tried to access using "{host}" as host.',
[
'app' => 'core',
@@ -918,15 +930,6 @@ class OC {
}
/**
- * register hooks for the filesystem
- */
- public static function registerFilesystemHooks() {
- // Check for blacklisted files
- OC_Hook::connect('OC_Filesystem', 'write', Filesystem::class, 'isBlacklisted');
- OC_Hook::connect('OC_Filesystem', 'rename', Filesystem::class, 'isBlacklisted');
- }
-
- /**
* register hooks for sharing
*/
public static function registerShareHooks(\OC\SystemConfig $systemConfig) {
@@ -1079,15 +1082,28 @@ class OC {
return;
}
- // Someone is logged in
- if (\OC::$server->getUserSession()->isLoggedIn()) {
- OC_App::loadApps();
- OC_User::setupBackends();
- OC_Util::setupFS();
- header('Location: ' . \OC::$server->getURLGenerator()->linkToDefaultPageUrl());
- } else {
- // Not handled and not logged in
- header('Location: ' . \OC::$server->getURLGenerator()->linkToRouteAbsolute('core.login.showLoginForm'));
+ // Redirect to the default app or login only as an entry point
+ if ($requestPath === '') {
+ // Someone is logged in
+ if (\OC::$server->getUserSession()->isLoggedIn()) {
+ header('Location: ' . \OC::$server->getURLGenerator()->linkToDefaultPageUrl());
+ } else {
+ // Not handled and not logged in
+ header('Location: ' . \OC::$server->getURLGenerator()->linkToRouteAbsolute('core.login.showLoginForm'));
+ }
+ return;
+ }
+
+ try {
+ return OC::$server->get(\OC\Route\Router::class)->match('/error/404');
+ } catch (\Exception $e) {
+ logger('core')->emergency($e->getMessage(), ['exception' => $e]);
+ $l = \OC::$server->getL10N('lib');
+ OC_Template::printErrorPage(
+ $l->t('404'),
+ $l->t('The page could not be found on the server.'),
+ 404
+ );
}
}
diff --git a/lib/composer/autoload.php b/lib/composer/autoload.php
index fe5311f43f1..b3b39129e7a 100644
--- a/lib/composer/autoload.php
+++ b/lib/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index 40a5efea347..08a871e8466 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -31,7 +31,6 @@ return array(
'OCP\\AppFramework\\Db\\DoesNotExistException' => $baseDir . '/lib/public/AppFramework/Db/DoesNotExistException.php',
'OCP\\AppFramework\\Db\\Entity' => $baseDir . '/lib/public/AppFramework/Db/Entity.php',
'OCP\\AppFramework\\Db\\IMapperException' => $baseDir . '/lib/public/AppFramework/Db/IMapperException.php',
- 'OCP\\AppFramework\\Db\\Mapper' => $baseDir . '/lib/public/AppFramework/Db/Mapper.php',
'OCP\\AppFramework\\Db\\MultipleObjectsReturnedException' => $baseDir . '/lib/public/AppFramework/Db/MultipleObjectsReturnedException.php',
'OCP\\AppFramework\\Db\\QBMapper' => $baseDir . '/lib/public/AppFramework/Db/QBMapper.php',
'OCP\\AppFramework\\Db\\TTransactional' => $baseDir . '/lib/public/AppFramework/Db/TTransactional.php',
@@ -84,6 +83,7 @@ return array(
'OCP\\App\\AppPathNotFoundException' => $baseDir . '/lib/public/App/AppPathNotFoundException.php',
'OCP\\App\\IAppManager' => $baseDir . '/lib/public/App/IAppManager.php',
'OCP\\App\\ManagerEvent' => $baseDir . '/lib/public/App/ManagerEvent.php',
+ 'OCP\\Authentication\\Events\\AnyLoginFailedEvent' => $baseDir . '/lib/public/Authentication/Events/AnyLoginFailedEvent.php',
'OCP\\Authentication\\Events\\LoginFailedEvent' => $baseDir . '/lib/public/Authentication/Events/LoginFailedEvent.php',
'OCP\\Authentication\\Exceptions\\CredentialsUnavailableException' => $baseDir . '/lib/public/Authentication/Exceptions/CredentialsUnavailableException.php',
'OCP\\Authentication\\Exceptions\\PasswordUnavailableException' => $baseDir . '/lib/public/Authentication/Exceptions/PasswordUnavailableException.php',
@@ -114,6 +114,7 @@ return array(
'OCP\\BackgroundJob\\Job' => $baseDir . '/lib/public/BackgroundJob/Job.php',
'OCP\\BackgroundJob\\QueuedJob' => $baseDir . '/lib/public/BackgroundJob/QueuedJob.php',
'OCP\\BackgroundJob\\TimedJob' => $baseDir . '/lib/public/BackgroundJob/TimedJob.php',
+ 'OCP\\BeforeSabrePubliclyLoadedEvent' => $baseDir . '/lib/public/BeforeSabrePubliclyLoadedEvent.php',
'OCP\\Broadcast\\Events\\IBroadcastEvent' => $baseDir . '/lib/public/Broadcast/Events/IBroadcastEvent.php',
'OCP\\Cache\\CappedMemoryCache' => $baseDir . '/lib/public/Cache/CappedMemoryCache.php',
'OCP\\Calendar\\BackendTemporarilyUnavailableException' => $baseDir . '/lib/public/Calendar/BackendTemporarilyUnavailableException.php',
@@ -122,6 +123,7 @@ return array(
'OCP\\Calendar\\ICalendarProvider' => $baseDir . '/lib/public/Calendar/ICalendarProvider.php',
'OCP\\Calendar\\ICalendarQuery' => $baseDir . '/lib/public/Calendar/ICalendarQuery.php',
'OCP\\Calendar\\ICreateFromString' => $baseDir . '/lib/public/Calendar/ICreateFromString.php',
+ 'OCP\\Calendar\\IHandleImipMessage' => $baseDir . '/lib/public/Calendar/IHandleImipMessage.php',
'OCP\\Calendar\\IManager' => $baseDir . '/lib/public/Calendar/IManager.php',
'OCP\\Calendar\\IMetadataProvider' => $baseDir . '/lib/public/Calendar/IMetadataProvider.php',
'OCP\\Calendar\\Resource\\IBackend' => $baseDir . '/lib/public/Calendar/Resource/IBackend.php',
@@ -145,6 +147,7 @@ return array(
'OCP\\Collaboration\\Reference\\IReference' => $baseDir . '/lib/public/Collaboration/Reference/IReference.php',
'OCP\\Collaboration\\Reference\\IReferenceManager' => $baseDir . '/lib/public/Collaboration/Reference/IReferenceManager.php',
'OCP\\Collaboration\\Reference\\IReferenceProvider' => $baseDir . '/lib/public/Collaboration/Reference/IReferenceProvider.php',
+ 'OCP\\Collaboration\\Reference\\Reference' => $baseDir . '/lib/public/Collaboration/Reference/Reference.php',
'OCP\\Collaboration\\Reference\\RenderReferenceEvent' => $baseDir . '/lib/public/Collaboration/Reference/RenderReferenceEvent.php',
'OCP\\Collaboration\\Resources\\CollectionException' => $baseDir . '/lib/public/Collaboration/Resources/CollectionException.php',
'OCP\\Collaboration\\Resources\\ICollection' => $baseDir . '/lib/public/Collaboration/Resources/ICollection.php',
@@ -193,6 +196,7 @@ return array(
'OCP\\Dashboard\\Exceptions\\DashboardAppNotAvailableException' => $baseDir . '/lib/public/Dashboard/Exceptions/DashboardAppNotAvailableException.php',
'OCP\\Dashboard\\IAPIWidget' => $baseDir . '/lib/public/Dashboard/IAPIWidget.php',
'OCP\\Dashboard\\IButtonWidget' => $baseDir . '/lib/public/Dashboard/IButtonWidget.php',
+ 'OCP\\Dashboard\\IConditionalWidget' => $baseDir . '/lib/public/Dashboard/IConditionalWidget.php',
'OCP\\Dashboard\\IDashboardManager' => $baseDir . '/lib/public/Dashboard/IDashboardManager.php',
'OCP\\Dashboard\\IDashboardWidget' => $baseDir . '/lib/public/Dashboard/IDashboardWidget.php',
'OCP\\Dashboard\\IIconWidget' => $baseDir . '/lib/public/Dashboard/IIconWidget.php',
@@ -400,6 +404,7 @@ return array(
'OCP\\Group\\Events\\BeforeGroupDeletedEvent' => $baseDir . '/lib/public/Group/Events/BeforeGroupDeletedEvent.php',
'OCP\\Group\\Events\\BeforeUserAddedEvent' => $baseDir . '/lib/public/Group/Events/BeforeUserAddedEvent.php',
'OCP\\Group\\Events\\BeforeUserRemovedEvent' => $baseDir . '/lib/public/Group/Events/BeforeUserRemovedEvent.php',
+ 'OCP\\Group\\Events\\GroupChangedEvent' => $baseDir . '/lib/public/Group/Events/GroupChangedEvent.php',
'OCP\\Group\\Events\\GroupCreatedEvent' => $baseDir . '/lib/public/Group/Events/GroupCreatedEvent.php',
'OCP\\Group\\Events\\GroupDeletedEvent' => $baseDir . '/lib/public/Group/Events/GroupDeletedEvent.php',
'OCP\\Group\\Events\\SubAdminAddedEvent' => $baseDir . '/lib/public/Group/Events/SubAdminAddedEvent.php',
@@ -493,6 +498,7 @@ return array(
'OCP\\Notification\\INotifier' => $baseDir . '/lib/public/Notification/INotifier.php',
'OCP\\OCS\\IDiscoveryService' => $baseDir . '/lib/public/OCS/IDiscoveryService.php',
'OCP\\PreConditionNotMetException' => $baseDir . '/lib/public/PreConditionNotMetException.php',
+ 'OCP\\Preview\\BeforePreviewFetchedEvent' => $baseDir . '/lib/public/Preview/BeforePreviewFetchedEvent.php',
'OCP\\Preview\\IProvider' => $baseDir . '/lib/public/Preview/IProvider.php',
'OCP\\Preview\\IProviderV2' => $baseDir . '/lib/public/Preview/IProviderV2.php',
'OCP\\Preview\\IVersionedPreviewFile' => $baseDir . '/lib/public/Preview/IVersionedPreviewFile.php',
@@ -533,6 +539,7 @@ return array(
'OCP\\Security\\ICredentialsManager' => $baseDir . '/lib/public/Security/ICredentialsManager.php',
'OCP\\Security\\ICrypto' => $baseDir . '/lib/public/Security/ICrypto.php',
'OCP\\Security\\IHasher' => $baseDir . '/lib/public/Security/IHasher.php',
+ 'OCP\\Security\\IRemoteHostValidator' => $baseDir . '/lib/public/Security/IRemoteHostValidator.php',
'OCP\\Security\\ISecureRandom' => $baseDir . '/lib/public/Security/ISecureRandom.php',
'OCP\\Security\\ITrustedDomainHelper' => $baseDir . '/lib/public/Security/ITrustedDomainHelper.php',
'OCP\\Security\\VerificationToken\\IVerificationToken' => $baseDir . '/lib/public/Security/VerificationToken/IVerificationToken.php',
@@ -566,6 +573,7 @@ return array(
'OCP\\Support\\CrashReport\\IRegistry' => $baseDir . '/lib/public/Support/CrashReport/IRegistry.php',
'OCP\\Support\\CrashReport\\IReporter' => $baseDir . '/lib/public/Support/CrashReport/IReporter.php',
'OCP\\Support\\Subscription\\Exception\\AlreadyRegisteredException' => $baseDir . '/lib/public/Support/Subscription/Exception/AlreadyRegisteredException.php',
+ 'OCP\\Support\\Subscription\\IAssertion' => $baseDir . '/lib/public/Support/Subscription/IAssertion.php',
'OCP\\Support\\Subscription\\IRegistry' => $baseDir . '/lib/public/Support/Subscription/IRegistry.php',
'OCP\\Support\\Subscription\\ISubscription' => $baseDir . '/lib/public/Support/Subscription/ISubscription.php',
'OCP\\Support\\Subscription\\ISupportedApps' => $baseDir . '/lib/public/Support/Subscription/ISupportedApps.php',
@@ -596,6 +604,7 @@ return array(
'OCP\\UserStatus\\IUserStatus' => $baseDir . '/lib/public/UserStatus/IUserStatus.php',
'OCP\\User\\Backend\\ABackend' => $baseDir . '/lib/public/User/Backend/ABackend.php',
'OCP\\User\\Backend\\ICheckPasswordBackend' => $baseDir . '/lib/public/User/Backend/ICheckPasswordBackend.php',
+ 'OCP\\User\\Backend\\ICountMappedUsersBackend' => $baseDir . '/lib/public/User/Backend/ICountMappedUsersBackend.php',
'OCP\\User\\Backend\\ICountUsersBackend' => $baseDir . '/lib/public/User/Backend/ICountUsersBackend.php',
'OCP\\User\\Backend\\ICreateUserBackend' => $baseDir . '/lib/public/User/Backend/ICreateUserBackend.php',
'OCP\\User\\Backend\\ICustomLogout' => $baseDir . '/lib/public/User/Backend/ICustomLogout.php',
@@ -720,7 +729,6 @@ return array(
'OC\\App\\AppManager' => $baseDir . '/lib/private/App/AppManager.php',
'OC\\App\\AppStore\\Bundles\\Bundle' => $baseDir . '/lib/private/App/AppStore/Bundles/Bundle.php',
'OC\\App\\AppStore\\Bundles\\BundleFetcher' => $baseDir . '/lib/private/App/AppStore/Bundles/BundleFetcher.php',
- 'OC\\App\\AppStore\\Bundles\\CoreBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/CoreBundle.php',
'OC\\App\\AppStore\\Bundles\\EducationBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/EducationBundle.php',
'OC\\App\\AppStore\\Bundles\\EnterpriseBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/EnterpriseBundle.php',
'OC\\App\\AppStore\\Bundles\\GroupwareBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/GroupwareBundle.php',
@@ -836,7 +844,6 @@ return array(
'OC\\Collaboration\\Reference\\File\\FileReferenceEventListener' => $baseDir . '/lib/private/Collaboration/Reference/File/FileReferenceEventListener.php',
'OC\\Collaboration\\Reference\\File\\FileReferenceProvider' => $baseDir . '/lib/private/Collaboration/Reference/File/FileReferenceProvider.php',
'OC\\Collaboration\\Reference\\LinkReferenceProvider' => $baseDir . '/lib/private/Collaboration/Reference/LinkReferenceProvider.php',
- 'OC\\Collaboration\\Reference\\Reference' => $baseDir . '/lib/private/Collaboration/Reference/Reference.php',
'OC\\Collaboration\\Reference\\ReferenceManager' => $baseDir . '/lib/private/Collaboration/Reference/ReferenceManager.php',
'OC\\Collaboration\\Resources\\Collection' => $baseDir . '/lib/private/Collaboration/Resources/Collection.php',
'OC\\Collaboration\\Resources\\Listener' => $baseDir . '/lib/private/Collaboration/Resources/Listener.php',
@@ -938,6 +945,7 @@ return array(
'OC\\Core\\Command\\Maintenance\\Mimetype\\UpdateJS' => $baseDir . '/core/Command/Maintenance/Mimetype/UpdateJS.php',
'OC\\Core\\Command\\Maintenance\\Mode' => $baseDir . '/core/Command/Maintenance/Mode.php',
'OC\\Core\\Command\\Maintenance\\Repair' => $baseDir . '/core/Command/Maintenance/Repair.php',
+ 'OC\\Core\\Command\\Maintenance\\RepairShareOwnership' => $baseDir . '/core/Command/Maintenance/RepairShareOwnership.php',
'OC\\Core\\Command\\Maintenance\\UpdateHtaccess' => $baseDir . '/core/Command/Maintenance/UpdateHtaccess.php',
'OC\\Core\\Command\\Maintenance\\UpdateTheme' => $baseDir . '/core/Command/Maintenance/UpdateTheme.php',
'OC\\Core\\Command\\Preview\\Repair' => $baseDir . '/core/Command/Preview/Repair.php',
@@ -978,6 +986,7 @@ return array(
'OC\\Core\\Controller\\CollaborationResourcesController' => $baseDir . '/core/Controller/CollaborationResourcesController.php',
'OC\\Core\\Controller\\ContactsMenuController' => $baseDir . '/core/Controller/ContactsMenuController.php',
'OC\\Core\\Controller\\CssController' => $baseDir . '/core/Controller/CssController.php',
+ 'OC\\Core\\Controller\\ErrorController' => $baseDir . '/core/Controller/ErrorController.php',
'OC\\Core\\Controller\\GuestAvatarController' => $baseDir . '/core/Controller/GuestAvatarController.php',
'OC\\Core\\Controller\\HoverCardController' => $baseDir . '/core/Controller/HoverCardController.php',
'OC\\Core\\Controller\\JsController' => $baseDir . '/core/Controller/JsController.php',
@@ -996,6 +1005,7 @@ return array(
'OC\\Core\\Controller\\SetupController' => $baseDir . '/core/Controller/SetupController.php',
'OC\\Core\\Controller\\TwoFactorChallengeController' => $baseDir . '/core/Controller/TwoFactorChallengeController.php',
'OC\\Core\\Controller\\UnifiedSearchController' => $baseDir . '/core/Controller/UnifiedSearchController.php',
+ 'OC\\Core\\Controller\\UnsupportedBrowserController' => $baseDir . '/core/Controller/UnsupportedBrowserController.php',
'OC\\Core\\Controller\\UserController' => $baseDir . '/core/Controller/UserController.php',
'OC\\Core\\Controller\\WalledGardenController' => $baseDir . '/core/Controller/WalledGardenController.php',
'OC\\Core\\Controller\\WebAuthnController' => $baseDir . '/core/Controller/WebAuthnController.php',
@@ -1012,6 +1022,7 @@ return array(
'OC\\Core\\Events\\PasswordResetEvent' => $baseDir . '/core/Events/PasswordResetEvent.php',
'OC\\Core\\Exception\\LoginFlowV2NotFoundException' => $baseDir . '/core/Exception/LoginFlowV2NotFoundException.php',
'OC\\Core\\Exception\\ResetPasswordException' => $baseDir . '/core/Exception/ResetPasswordException.php',
+ 'OC\\Core\\Listener\\BeforeTemplateRenderedListener' => $baseDir . '/core/Listener/BeforeTemplateRenderedListener.php',
'OC\\Core\\Middleware\\TwoFactorMiddleware' => $baseDir . '/core/Middleware/TwoFactorMiddleware.php',
'OC\\Core\\Migrations\\Version13000Date20170705121758' => $baseDir . '/core/Migrations/Version13000Date20170705121758.php',
'OC\\Core\\Migrations\\Version13000Date20170718121200' => $baseDir . '/core/Migrations/Version13000Date20170718121200.php',
@@ -1064,6 +1075,7 @@ return array(
'OC\\Core\\Migrations\\Version24000Date20220425072957' => $baseDir . '/core/Migrations/Version24000Date20220425072957.php',
'OC\\Core\\Migrations\\Version25000Date20220515204012' => $baseDir . '/core/Migrations/Version25000Date20220515204012.php',
'OC\\Core\\Migrations\\Version25000Date20220602190540' => $baseDir . '/core/Migrations/Version25000Date20220602190540.php',
+ 'OC\\Core\\Migrations\\Version25000Date20221007010957' => $baseDir . '/core/Migrations/Version25000Date20221007010957.php',
'OC\\Core\\Notification\\CoreNotifier' => $baseDir . '/core/Notification/CoreNotifier.php',
'OC\\Core\\Service\\LoginFlowV2Service' => $baseDir . '/core/Service/LoginFlowV2Service.php',
'OC\\DB\\Adapter' => $baseDir . '/lib/private/DB/Adapter.php',
@@ -1271,6 +1283,7 @@ return array(
'OC\\GlobalScale\\Config' => $baseDir . '/lib/private/GlobalScale/Config.php',
'OC\\Group\\Backend' => $baseDir . '/lib/private/Group/Backend.php',
'OC\\Group\\Database' => $baseDir . '/lib/private/Group/Database.php',
+ 'OC\\Group\\DisplayNameCache' => $baseDir . '/lib/private/Group/DisplayNameCache.php',
'OC\\Group\\Group' => $baseDir . '/lib/private/Group/Group.php',
'OC\\Group\\Manager' => $baseDir . '/lib/private/Group/Manager.php',
'OC\\Group\\MetaData' => $baseDir . '/lib/private/Group/MetaData.php',
@@ -1282,7 +1295,6 @@ return array(
'OC\\Http\\Client\\Client' => $baseDir . '/lib/private/Http/Client/Client.php',
'OC\\Http\\Client\\ClientService' => $baseDir . '/lib/private/Http/Client/ClientService.php',
'OC\\Http\\Client\\DnsPinMiddleware' => $baseDir . '/lib/private/Http/Client/DnsPinMiddleware.php',
- 'OC\\Http\\Client\\LocalAddressChecker' => $baseDir . '/lib/private/Http/Client/LocalAddressChecker.php',
'OC\\Http\\Client\\NegativeDnsCache' => $baseDir . '/lib/private/Http/Client/NegativeDnsCache.php',
'OC\\Http\\Client\\Response' => $baseDir . '/lib/private/Http/Client/Response.php',
'OC\\Http\\CookieHelper' => $baseDir . '/lib/private/Http/CookieHelper.php',
@@ -1356,6 +1368,8 @@ return array(
'OC\\NaturalSort_DefaultCollator' => $baseDir . '/lib/private/NaturalSort_DefaultCollator.php',
'OC\\NavigationManager' => $baseDir . '/lib/private/NavigationManager.php',
'OC\\NeedsUpdateException' => $baseDir . '/lib/private/NeedsUpdateException.php',
+ 'OC\\Net\\HostnameClassifier' => $baseDir . '/lib/private/Net/HostnameClassifier.php',
+ 'OC\\Net\\IpAddressClassifier' => $baseDir . '/lib/private/Net/IpAddressClassifier.php',
'OC\\NotSquareException' => $baseDir . '/lib/private/NotSquareException.php',
'OC\\Notification\\Action' => $baseDir . '/lib/private/Notification/Action.php',
'OC\\Notification\\Manager' => $baseDir . '/lib/private/Notification/Manager.php',
@@ -1408,6 +1422,7 @@ return array(
'OC\\Preview\\WebP' => $baseDir . '/lib/private/Preview/WebP.php',
'OC\\Preview\\XBitmap' => $baseDir . '/lib/private/Preview/XBitmap.php',
'OC\\Profile\\Actions\\EmailAction' => $baseDir . '/lib/private/Profile/Actions/EmailAction.php',
+ 'OC\\Profile\\Actions\\FediverseAction' => $baseDir . '/lib/private/Profile/Actions/FediverseAction.php',
'OC\\Profile\\Actions\\PhoneAction' => $baseDir . '/lib/private/Profile/Actions/PhoneAction.php',
'OC\\Profile\\Actions\\TwitterAction' => $baseDir . '/lib/private/Profile/Actions/TwitterAction.php',
'OC\\Profile\\Actions\\WebsiteAction' => $baseDir . '/lib/private/Profile/Actions/WebsiteAction.php',
@@ -1432,8 +1447,10 @@ return array(
'OC\\Repair\\AddBruteForceCleanupJob' => $baseDir . '/lib/private/Repair/AddBruteForceCleanupJob.php',
'OC\\Repair\\AddCleanupUpdaterBackupsJob' => $baseDir . '/lib/private/Repair/AddCleanupUpdaterBackupsJob.php',
'OC\\Repair\\CleanTags' => $baseDir . '/lib/private/Repair/CleanTags.php',
+ 'OC\\Repair\\CleanUpAbandonedApps' => $baseDir . '/lib/private/Repair/CleanUpAbandonedApps.php',
'OC\\Repair\\ClearFrontendCaches' => $baseDir . '/lib/private/Repair/ClearFrontendCaches.php',
'OC\\Repair\\ClearGeneratedAvatarCache' => $baseDir . '/lib/private/Repair/ClearGeneratedAvatarCache.php',
+ 'OC\\Repair\\ClearGeneratedAvatarCacheJob' => $baseDir . '/lib/private/Repair/ClearGeneratedAvatarCacheJob.php',
'OC\\Repair\\Collation' => $baseDir . '/lib/private/Repair/Collation.php',
'OC\\Repair\\Events\\RepairAdvanceEvent' => $baseDir . '/lib/private/Repair/Events/RepairAdvanceEvent.php',
'OC\\Repair\\Events\\RepairErrorEvent' => $baseDir . '/lib/private/Repair/Events/RepairErrorEvent.php',
@@ -1457,11 +1474,11 @@ return array(
'OC\\Repair\\NC21\\ValidatePhoneNumber' => $baseDir . '/lib/private/Repair/NC21/ValidatePhoneNumber.php',
'OC\\Repair\\NC22\\LookupServerSendCheck' => $baseDir . '/lib/private/Repair/NC22/LookupServerSendCheck.php',
'OC\\Repair\\NC24\\AddTokenCleanupJob' => $baseDir . '/lib/private/Repair/NC24/AddTokenCleanupJob.php',
+ 'OC\\Repair\\NC25\\AddMissingSecretJob' => $baseDir . '/lib/private/Repair/NC25/AddMissingSecretJob.php',
'OC\\Repair\\OldGroupMembershipShares' => $baseDir . '/lib/private/Repair/OldGroupMembershipShares.php',
'OC\\Repair\\Owncloud\\CleanPreviews' => $baseDir . '/lib/private/Repair/Owncloud/CleanPreviews.php',
'OC\\Repair\\Owncloud\\CleanPreviewsBackgroundJob' => $baseDir . '/lib/private/Repair/Owncloud/CleanPreviewsBackgroundJob.php',
'OC\\Repair\\Owncloud\\DropAccountTermsTable' => $baseDir . '/lib/private/Repair/Owncloud/DropAccountTermsTable.php',
- 'OC\\Repair\\Owncloud\\InstallCoreBundle' => $baseDir . '/lib/private/Repair/Owncloud/InstallCoreBundle.php',
'OC\\Repair\\Owncloud\\MigrateOauthTables' => $baseDir . '/lib/private/Repair/Owncloud/MigrateOauthTables.php',
'OC\\Repair\\Owncloud\\MoveAvatars' => $baseDir . '/lib/private/Repair/Owncloud/MoveAvatars.php',
'OC\\Repair\\Owncloud\\MoveAvatarsBackgroundJob' => $baseDir . '/lib/private/Repair/Owncloud/MoveAvatarsBackgroundJob.php',
@@ -1510,6 +1527,7 @@ return array(
'OC\\Security\\RateLimiting\\Backend\\MemoryCacheBackend' => $baseDir . '/lib/private/Security/RateLimiting/Backend/MemoryCacheBackend.php',
'OC\\Security\\RateLimiting\\Exception\\RateLimitExceededException' => $baseDir . '/lib/private/Security/RateLimiting/Exception/RateLimitExceededException.php',
'OC\\Security\\RateLimiting\\Limiter' => $baseDir . '/lib/private/Security/RateLimiting/Limiter.php',
+ 'OC\\Security\\RemoteHostValidator' => $baseDir . '/lib/private/Security/RemoteHostValidator.php',
'OC\\Security\\SecureRandom' => $baseDir . '/lib/private/Security/SecureRandom.php',
'OC\\Security\\TrustedDomainHelper' => $baseDir . '/lib/private/Security/TrustedDomainHelper.php',
'OC\\Security\\VerificationToken\\CleanUpJob' => $baseDir . '/lib/private/Security/VerificationToken/CleanUpJob.php',
@@ -1552,6 +1570,7 @@ return array(
'OC\\Streamer' => $baseDir . '/lib/private/Streamer.php',
'OC\\SubAdmin' => $baseDir . '/lib/private/SubAdmin.php',
'OC\\Support\\CrashReport\\Registry' => $baseDir . '/lib/private/Support/CrashReport/Registry.php',
+ 'OC\\Support\\Subscription\\Assertion' => $baseDir . '/lib/private/Support/Subscription/Assertion.php',
'OC\\Support\\Subscription\\Registry' => $baseDir . '/lib/private/Support/Subscription/Registry.php',
'OC\\SystemConfig' => $baseDir . '/lib/private/SystemConfig.php',
'OC\\SystemTag\\ManagerFactory' => $baseDir . '/lib/private/SystemTag/ManagerFactory.php',
@@ -1586,8 +1605,8 @@ return array(
'OC\\User\\Database' => $baseDir . '/lib/private/User/Database.php',
'OC\\User\\DisplayNameCache' => $baseDir . '/lib/private/User/DisplayNameCache.php',
'OC\\User\\LazyUser' => $baseDir . '/lib/private/User/LazyUser.php',
+ 'OC\\User\\Listeners\\BeforeUserDeletedListener' => $baseDir . '/lib/private/User/Listeners/BeforeUserDeletedListener.php',
'OC\\User\\Listeners\\UserChangedListener' => $baseDir . '/lib/private/User/Listeners/UserChangedListener.php',
- 'OC\\User\\Listeners\\UserDeletedListener' => $baseDir . '/lib/private/User/Listeners/UserDeletedListener.php',
'OC\\User\\LoginException' => $baseDir . '/lib/private/User/LoginException.php',
'OC\\User\\Manager' => $baseDir . '/lib/private/User/Manager.php',
'OC\\User\\NoUserException' => $baseDir . '/lib/private/User/NoUserException.php',
@@ -1595,8 +1614,6 @@ return array(
'OC\\User\\User' => $baseDir . '/lib/private/User/User.php',
'OC_API' => $baseDir . '/lib/private/legacy/OC_API.php',
'OC_App' => $baseDir . '/lib/private/legacy/OC_App.php',
- 'OC_DB' => $baseDir . '/lib/private/legacy/OC_DB.php',
- 'OC_DB_StatementWrapper' => $baseDir . '/lib/private/legacy/OC_DB_StatementWrapper.php',
'OC_Defaults' => $baseDir . '/lib/private/legacy/OC_Defaults.php',
'OC_EventSource' => $baseDir . '/lib/private/legacy/OC_EventSource.php',
'OC_FileChunking' => $baseDir . '/lib/private/legacy/OC_FileChunking.php',
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index 50a2406a8d1..eec226c9a6e 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -64,7 +64,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\AppFramework\\Db\\DoesNotExistException' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Db/DoesNotExistException.php',
'OCP\\AppFramework\\Db\\Entity' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Db/Entity.php',
'OCP\\AppFramework\\Db\\IMapperException' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Db/IMapperException.php',
- 'OCP\\AppFramework\\Db\\Mapper' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Db/Mapper.php',
'OCP\\AppFramework\\Db\\MultipleObjectsReturnedException' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Db/MultipleObjectsReturnedException.php',
'OCP\\AppFramework\\Db\\QBMapper' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Db/QBMapper.php',
'OCP\\AppFramework\\Db\\TTransactional' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Db/TTransactional.php',
@@ -117,6 +116,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\App\\AppPathNotFoundException' => __DIR__ . '/../../..' . '/lib/public/App/AppPathNotFoundException.php',
'OCP\\App\\IAppManager' => __DIR__ . '/../../..' . '/lib/public/App/IAppManager.php',
'OCP\\App\\ManagerEvent' => __DIR__ . '/../../..' . '/lib/public/App/ManagerEvent.php',
+ 'OCP\\Authentication\\Events\\AnyLoginFailedEvent' => __DIR__ . '/../../..' . '/lib/public/Authentication/Events/AnyLoginFailedEvent.php',
'OCP\\Authentication\\Events\\LoginFailedEvent' => __DIR__ . '/../../..' . '/lib/public/Authentication/Events/LoginFailedEvent.php',
'OCP\\Authentication\\Exceptions\\CredentialsUnavailableException' => __DIR__ . '/../../..' . '/lib/public/Authentication/Exceptions/CredentialsUnavailableException.php',
'OCP\\Authentication\\Exceptions\\PasswordUnavailableException' => __DIR__ . '/../../..' . '/lib/public/Authentication/Exceptions/PasswordUnavailableException.php',
@@ -147,6 +147,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\BackgroundJob\\Job' => __DIR__ . '/../../..' . '/lib/public/BackgroundJob/Job.php',
'OCP\\BackgroundJob\\QueuedJob' => __DIR__ . '/../../..' . '/lib/public/BackgroundJob/QueuedJob.php',
'OCP\\BackgroundJob\\TimedJob' => __DIR__ . '/../../..' . '/lib/public/BackgroundJob/TimedJob.php',
+ 'OCP\\BeforeSabrePubliclyLoadedEvent' => __DIR__ . '/../../..' . '/lib/public/BeforeSabrePubliclyLoadedEvent.php',
'OCP\\Broadcast\\Events\\IBroadcastEvent' => __DIR__ . '/../../..' . '/lib/public/Broadcast/Events/IBroadcastEvent.php',
'OCP\\Cache\\CappedMemoryCache' => __DIR__ . '/../../..' . '/lib/public/Cache/CappedMemoryCache.php',
'OCP\\Calendar\\BackendTemporarilyUnavailableException' => __DIR__ . '/../../..' . '/lib/public/Calendar/BackendTemporarilyUnavailableException.php',
@@ -155,6 +156,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\Calendar\\ICalendarProvider' => __DIR__ . '/../../..' . '/lib/public/Calendar/ICalendarProvider.php',
'OCP\\Calendar\\ICalendarQuery' => __DIR__ . '/../../..' . '/lib/public/Calendar/ICalendarQuery.php',
'OCP\\Calendar\\ICreateFromString' => __DIR__ . '/../../..' . '/lib/public/Calendar/ICreateFromString.php',
+ 'OCP\\Calendar\\IHandleImipMessage' => __DIR__ . '/../../..' . '/lib/public/Calendar/IHandleImipMessage.php',
'OCP\\Calendar\\IManager' => __DIR__ . '/../../..' . '/lib/public/Calendar/IManager.php',
'OCP\\Calendar\\IMetadataProvider' => __DIR__ . '/../../..' . '/lib/public/Calendar/IMetadataProvider.php',
'OCP\\Calendar\\Resource\\IBackend' => __DIR__ . '/../../..' . '/lib/public/Calendar/Resource/IBackend.php',
@@ -178,6 +180,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\Collaboration\\Reference\\IReference' => __DIR__ . '/../../..' . '/lib/public/Collaboration/Reference/IReference.php',
'OCP\\Collaboration\\Reference\\IReferenceManager' => __DIR__ . '/../../..' . '/lib/public/Collaboration/Reference/IReferenceManager.php',
'OCP\\Collaboration\\Reference\\IReferenceProvider' => __DIR__ . '/../../..' . '/lib/public/Collaboration/Reference/IReferenceProvider.php',
+ 'OCP\\Collaboration\\Reference\\Reference' => __DIR__ . '/../../..' . '/lib/public/Collaboration/Reference/Reference.php',
'OCP\\Collaboration\\Reference\\RenderReferenceEvent' => __DIR__ . '/../../..' . '/lib/public/Collaboration/Reference/RenderReferenceEvent.php',
'OCP\\Collaboration\\Resources\\CollectionException' => __DIR__ . '/../../..' . '/lib/public/Collaboration/Resources/CollectionException.php',
'OCP\\Collaboration\\Resources\\ICollection' => __DIR__ . '/../../..' . '/lib/public/Collaboration/Resources/ICollection.php',
@@ -226,6 +229,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\Dashboard\\Exceptions\\DashboardAppNotAvailableException' => __DIR__ . '/../../..' . '/lib/public/Dashboard/Exceptions/DashboardAppNotAvailableException.php',
'OCP\\Dashboard\\IAPIWidget' => __DIR__ . '/../../..' . '/lib/public/Dashboard/IAPIWidget.php',
'OCP\\Dashboard\\IButtonWidget' => __DIR__ . '/../../..' . '/lib/public/Dashboard/IButtonWidget.php',
+ 'OCP\\Dashboard\\IConditionalWidget' => __DIR__ . '/../../..' . '/lib/public/Dashboard/IConditionalWidget.php',
'OCP\\Dashboard\\IDashboardManager' => __DIR__ . '/../../..' . '/lib/public/Dashboard/IDashboardManager.php',
'OCP\\Dashboard\\IDashboardWidget' => __DIR__ . '/../../..' . '/lib/public/Dashboard/IDashboardWidget.php',
'OCP\\Dashboard\\IIconWidget' => __DIR__ . '/../../..' . '/lib/public/Dashboard/IIconWidget.php',
@@ -433,6 +437,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\Group\\Events\\BeforeGroupDeletedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/BeforeGroupDeletedEvent.php',
'OCP\\Group\\Events\\BeforeUserAddedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/BeforeUserAddedEvent.php',
'OCP\\Group\\Events\\BeforeUserRemovedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/BeforeUserRemovedEvent.php',
+ 'OCP\\Group\\Events\\GroupChangedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/GroupChangedEvent.php',
'OCP\\Group\\Events\\GroupCreatedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/GroupCreatedEvent.php',
'OCP\\Group\\Events\\GroupDeletedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/GroupDeletedEvent.php',
'OCP\\Group\\Events\\SubAdminAddedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/SubAdminAddedEvent.php',
@@ -526,6 +531,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\Notification\\INotifier' => __DIR__ . '/../../..' . '/lib/public/Notification/INotifier.php',
'OCP\\OCS\\IDiscoveryService' => __DIR__ . '/../../..' . '/lib/public/OCS/IDiscoveryService.php',
'OCP\\PreConditionNotMetException' => __DIR__ . '/../../..' . '/lib/public/PreConditionNotMetException.php',
+ 'OCP\\Preview\\BeforePreviewFetchedEvent' => __DIR__ . '/../../..' . '/lib/public/Preview/BeforePreviewFetchedEvent.php',
'OCP\\Preview\\IProvider' => __DIR__ . '/../../..' . '/lib/public/Preview/IProvider.php',
'OCP\\Preview\\IProviderV2' => __DIR__ . '/../../..' . '/lib/public/Preview/IProviderV2.php',
'OCP\\Preview\\IVersionedPreviewFile' => __DIR__ . '/../../..' . '/lib/public/Preview/IVersionedPreviewFile.php',
@@ -566,6 +572,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\Security\\ICredentialsManager' => __DIR__ . '/../../..' . '/lib/public/Security/ICredentialsManager.php',
'OCP\\Security\\ICrypto' => __DIR__ . '/../../..' . '/lib/public/Security/ICrypto.php',
'OCP\\Security\\IHasher' => __DIR__ . '/../../..' . '/lib/public/Security/IHasher.php',
+ 'OCP\\Security\\IRemoteHostValidator' => __DIR__ . '/../../..' . '/lib/public/Security/IRemoteHostValidator.php',
'OCP\\Security\\ISecureRandom' => __DIR__ . '/../../..' . '/lib/public/Security/ISecureRandom.php',
'OCP\\Security\\ITrustedDomainHelper' => __DIR__ . '/../../..' . '/lib/public/Security/ITrustedDomainHelper.php',
'OCP\\Security\\VerificationToken\\IVerificationToken' => __DIR__ . '/../../..' . '/lib/public/Security/VerificationToken/IVerificationToken.php',
@@ -599,6 +606,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\Support\\CrashReport\\IRegistry' => __DIR__ . '/../../..' . '/lib/public/Support/CrashReport/IRegistry.php',
'OCP\\Support\\CrashReport\\IReporter' => __DIR__ . '/../../..' . '/lib/public/Support/CrashReport/IReporter.php',
'OCP\\Support\\Subscription\\Exception\\AlreadyRegisteredException' => __DIR__ . '/../../..' . '/lib/public/Support/Subscription/Exception/AlreadyRegisteredException.php',
+ 'OCP\\Support\\Subscription\\IAssertion' => __DIR__ . '/../../..' . '/lib/public/Support/Subscription/IAssertion.php',
'OCP\\Support\\Subscription\\IRegistry' => __DIR__ . '/../../..' . '/lib/public/Support/Subscription/IRegistry.php',
'OCP\\Support\\Subscription\\ISubscription' => __DIR__ . '/../../..' . '/lib/public/Support/Subscription/ISubscription.php',
'OCP\\Support\\Subscription\\ISupportedApps' => __DIR__ . '/../../..' . '/lib/public/Support/Subscription/ISupportedApps.php',
@@ -629,6 +637,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OCP\\UserStatus\\IUserStatus' => __DIR__ . '/../../..' . '/lib/public/UserStatus/IUserStatus.php',
'OCP\\User\\Backend\\ABackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ABackend.php',
'OCP\\User\\Backend\\ICheckPasswordBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ICheckPasswordBackend.php',
+ 'OCP\\User\\Backend\\ICountMappedUsersBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ICountMappedUsersBackend.php',
'OCP\\User\\Backend\\ICountUsersBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ICountUsersBackend.php',
'OCP\\User\\Backend\\ICreateUserBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ICreateUserBackend.php',
'OCP\\User\\Backend\\ICustomLogout' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ICustomLogout.php',
@@ -753,7 +762,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\App\\AppManager' => __DIR__ . '/../../..' . '/lib/private/App/AppManager.php',
'OC\\App\\AppStore\\Bundles\\Bundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/Bundle.php',
'OC\\App\\AppStore\\Bundles\\BundleFetcher' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/BundleFetcher.php',
- 'OC\\App\\AppStore\\Bundles\\CoreBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/CoreBundle.php',
'OC\\App\\AppStore\\Bundles\\EducationBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/EducationBundle.php',
'OC\\App\\AppStore\\Bundles\\EnterpriseBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/EnterpriseBundle.php',
'OC\\App\\AppStore\\Bundles\\GroupwareBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/GroupwareBundle.php',
@@ -869,7 +877,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Collaboration\\Reference\\File\\FileReferenceEventListener' => __DIR__ . '/../../..' . '/lib/private/Collaboration/Reference/File/FileReferenceEventListener.php',
'OC\\Collaboration\\Reference\\File\\FileReferenceProvider' => __DIR__ . '/../../..' . '/lib/private/Collaboration/Reference/File/FileReferenceProvider.php',
'OC\\Collaboration\\Reference\\LinkReferenceProvider' => __DIR__ . '/../../..' . '/lib/private/Collaboration/Reference/LinkReferenceProvider.php',
- 'OC\\Collaboration\\Reference\\Reference' => __DIR__ . '/../../..' . '/lib/private/Collaboration/Reference/Reference.php',
'OC\\Collaboration\\Reference\\ReferenceManager' => __DIR__ . '/../../..' . '/lib/private/Collaboration/Reference/ReferenceManager.php',
'OC\\Collaboration\\Resources\\Collection' => __DIR__ . '/../../..' . '/lib/private/Collaboration/Resources/Collection.php',
'OC\\Collaboration\\Resources\\Listener' => __DIR__ . '/../../..' . '/lib/private/Collaboration/Resources/Listener.php',
@@ -971,6 +978,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Core\\Command\\Maintenance\\Mimetype\\UpdateJS' => __DIR__ . '/../../..' . '/core/Command/Maintenance/Mimetype/UpdateJS.php',
'OC\\Core\\Command\\Maintenance\\Mode' => __DIR__ . '/../../..' . '/core/Command/Maintenance/Mode.php',
'OC\\Core\\Command\\Maintenance\\Repair' => __DIR__ . '/../../..' . '/core/Command/Maintenance/Repair.php',
+ 'OC\\Core\\Command\\Maintenance\\RepairShareOwnership' => __DIR__ . '/../../..' . '/core/Command/Maintenance/RepairShareOwnership.php',
'OC\\Core\\Command\\Maintenance\\UpdateHtaccess' => __DIR__ . '/../../..' . '/core/Command/Maintenance/UpdateHtaccess.php',
'OC\\Core\\Command\\Maintenance\\UpdateTheme' => __DIR__ . '/../../..' . '/core/Command/Maintenance/UpdateTheme.php',
'OC\\Core\\Command\\Preview\\Repair' => __DIR__ . '/../../..' . '/core/Command/Preview/Repair.php',
@@ -1011,6 +1019,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Core\\Controller\\CollaborationResourcesController' => __DIR__ . '/../../..' . '/core/Controller/CollaborationResourcesController.php',
'OC\\Core\\Controller\\ContactsMenuController' => __DIR__ . '/../../..' . '/core/Controller/ContactsMenuController.php',
'OC\\Core\\Controller\\CssController' => __DIR__ . '/../../..' . '/core/Controller/CssController.php',
+ 'OC\\Core\\Controller\\ErrorController' => __DIR__ . '/../../..' . '/core/Controller/ErrorController.php',
'OC\\Core\\Controller\\GuestAvatarController' => __DIR__ . '/../../..' . '/core/Controller/GuestAvatarController.php',
'OC\\Core\\Controller\\HoverCardController' => __DIR__ . '/../../..' . '/core/Controller/HoverCardController.php',
'OC\\Core\\Controller\\JsController' => __DIR__ . '/../../..' . '/core/Controller/JsController.php',
@@ -1029,6 +1038,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Core\\Controller\\SetupController' => __DIR__ . '/../../..' . '/core/Controller/SetupController.php',
'OC\\Core\\Controller\\TwoFactorChallengeController' => __DIR__ . '/../../..' . '/core/Controller/TwoFactorChallengeController.php',
'OC\\Core\\Controller\\UnifiedSearchController' => __DIR__ . '/../../..' . '/core/Controller/UnifiedSearchController.php',
+ 'OC\\Core\\Controller\\UnsupportedBrowserController' => __DIR__ . '/../../..' . '/core/Controller/UnsupportedBrowserController.php',
'OC\\Core\\Controller\\UserController' => __DIR__ . '/../../..' . '/core/Controller/UserController.php',
'OC\\Core\\Controller\\WalledGardenController' => __DIR__ . '/../../..' . '/core/Controller/WalledGardenController.php',
'OC\\Core\\Controller\\WebAuthnController' => __DIR__ . '/../../..' . '/core/Controller/WebAuthnController.php',
@@ -1045,6 +1055,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Core\\Events\\PasswordResetEvent' => __DIR__ . '/../../..' . '/core/Events/PasswordResetEvent.php',
'OC\\Core\\Exception\\LoginFlowV2NotFoundException' => __DIR__ . '/../../..' . '/core/Exception/LoginFlowV2NotFoundException.php',
'OC\\Core\\Exception\\ResetPasswordException' => __DIR__ . '/../../..' . '/core/Exception/ResetPasswordException.php',
+ 'OC\\Core\\Listener\\BeforeTemplateRenderedListener' => __DIR__ . '/../../..' . '/core/Listener/BeforeTemplateRenderedListener.php',
'OC\\Core\\Middleware\\TwoFactorMiddleware' => __DIR__ . '/../../..' . '/core/Middleware/TwoFactorMiddleware.php',
'OC\\Core\\Migrations\\Version13000Date20170705121758' => __DIR__ . '/../../..' . '/core/Migrations/Version13000Date20170705121758.php',
'OC\\Core\\Migrations\\Version13000Date20170718121200' => __DIR__ . '/../../..' . '/core/Migrations/Version13000Date20170718121200.php',
@@ -1097,6 +1108,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Core\\Migrations\\Version24000Date20220425072957' => __DIR__ . '/../../..' . '/core/Migrations/Version24000Date20220425072957.php',
'OC\\Core\\Migrations\\Version25000Date20220515204012' => __DIR__ . '/../../..' . '/core/Migrations/Version25000Date20220515204012.php',
'OC\\Core\\Migrations\\Version25000Date20220602190540' => __DIR__ . '/../../..' . '/core/Migrations/Version25000Date20220602190540.php',
+ 'OC\\Core\\Migrations\\Version25000Date20221007010957' => __DIR__ . '/../../..' . '/core/Migrations/Version25000Date20221007010957.php',
'OC\\Core\\Notification\\CoreNotifier' => __DIR__ . '/../../..' . '/core/Notification/CoreNotifier.php',
'OC\\Core\\Service\\LoginFlowV2Service' => __DIR__ . '/../../..' . '/core/Service/LoginFlowV2Service.php',
'OC\\DB\\Adapter' => __DIR__ . '/../../..' . '/lib/private/DB/Adapter.php',
@@ -1304,6 +1316,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\GlobalScale\\Config' => __DIR__ . '/../../..' . '/lib/private/GlobalScale/Config.php',
'OC\\Group\\Backend' => __DIR__ . '/../../..' . '/lib/private/Group/Backend.php',
'OC\\Group\\Database' => __DIR__ . '/../../..' . '/lib/private/Group/Database.php',
+ 'OC\\Group\\DisplayNameCache' => __DIR__ . '/../../..' . '/lib/private/Group/DisplayNameCache.php',
'OC\\Group\\Group' => __DIR__ . '/../../..' . '/lib/private/Group/Group.php',
'OC\\Group\\Manager' => __DIR__ . '/../../..' . '/lib/private/Group/Manager.php',
'OC\\Group\\MetaData' => __DIR__ . '/../../..' . '/lib/private/Group/MetaData.php',
@@ -1315,7 +1328,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Http\\Client\\Client' => __DIR__ . '/../../..' . '/lib/private/Http/Client/Client.php',
'OC\\Http\\Client\\ClientService' => __DIR__ . '/../../..' . '/lib/private/Http/Client/ClientService.php',
'OC\\Http\\Client\\DnsPinMiddleware' => __DIR__ . '/../../..' . '/lib/private/Http/Client/DnsPinMiddleware.php',
- 'OC\\Http\\Client\\LocalAddressChecker' => __DIR__ . '/../../..' . '/lib/private/Http/Client/LocalAddressChecker.php',
'OC\\Http\\Client\\NegativeDnsCache' => __DIR__ . '/../../..' . '/lib/private/Http/Client/NegativeDnsCache.php',
'OC\\Http\\Client\\Response' => __DIR__ . '/../../..' . '/lib/private/Http/Client/Response.php',
'OC\\Http\\CookieHelper' => __DIR__ . '/../../..' . '/lib/private/Http/CookieHelper.php',
@@ -1389,6 +1401,8 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\NaturalSort_DefaultCollator' => __DIR__ . '/../../..' . '/lib/private/NaturalSort_DefaultCollator.php',
'OC\\NavigationManager' => __DIR__ . '/../../..' . '/lib/private/NavigationManager.php',
'OC\\NeedsUpdateException' => __DIR__ . '/../../..' . '/lib/private/NeedsUpdateException.php',
+ 'OC\\Net\\HostnameClassifier' => __DIR__ . '/../../..' . '/lib/private/Net/HostnameClassifier.php',
+ 'OC\\Net\\IpAddressClassifier' => __DIR__ . '/../../..' . '/lib/private/Net/IpAddressClassifier.php',
'OC\\NotSquareException' => __DIR__ . '/../../..' . '/lib/private/NotSquareException.php',
'OC\\Notification\\Action' => __DIR__ . '/../../..' . '/lib/private/Notification/Action.php',
'OC\\Notification\\Manager' => __DIR__ . '/../../..' . '/lib/private/Notification/Manager.php',
@@ -1441,6 +1455,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Preview\\WebP' => __DIR__ . '/../../..' . '/lib/private/Preview/WebP.php',
'OC\\Preview\\XBitmap' => __DIR__ . '/../../..' . '/lib/private/Preview/XBitmap.php',
'OC\\Profile\\Actions\\EmailAction' => __DIR__ . '/../../..' . '/lib/private/Profile/Actions/EmailAction.php',
+ 'OC\\Profile\\Actions\\FediverseAction' => __DIR__ . '/../../..' . '/lib/private/Profile/Actions/FediverseAction.php',
'OC\\Profile\\Actions\\PhoneAction' => __DIR__ . '/../../..' . '/lib/private/Profile/Actions/PhoneAction.php',
'OC\\Profile\\Actions\\TwitterAction' => __DIR__ . '/../../..' . '/lib/private/Profile/Actions/TwitterAction.php',
'OC\\Profile\\Actions\\WebsiteAction' => __DIR__ . '/../../..' . '/lib/private/Profile/Actions/WebsiteAction.php',
@@ -1465,8 +1480,10 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Repair\\AddBruteForceCleanupJob' => __DIR__ . '/../../..' . '/lib/private/Repair/AddBruteForceCleanupJob.php',
'OC\\Repair\\AddCleanupUpdaterBackupsJob' => __DIR__ . '/../../..' . '/lib/private/Repair/AddCleanupUpdaterBackupsJob.php',
'OC\\Repair\\CleanTags' => __DIR__ . '/../../..' . '/lib/private/Repair/CleanTags.php',
+ 'OC\\Repair\\CleanUpAbandonedApps' => __DIR__ . '/../../..' . '/lib/private/Repair/CleanUpAbandonedApps.php',
'OC\\Repair\\ClearFrontendCaches' => __DIR__ . '/../../..' . '/lib/private/Repair/ClearFrontendCaches.php',
'OC\\Repair\\ClearGeneratedAvatarCache' => __DIR__ . '/../../..' . '/lib/private/Repair/ClearGeneratedAvatarCache.php',
+ 'OC\\Repair\\ClearGeneratedAvatarCacheJob' => __DIR__ . '/../../..' . '/lib/private/Repair/ClearGeneratedAvatarCacheJob.php',
'OC\\Repair\\Collation' => __DIR__ . '/../../..' . '/lib/private/Repair/Collation.php',
'OC\\Repair\\Events\\RepairAdvanceEvent' => __DIR__ . '/../../..' . '/lib/private/Repair/Events/RepairAdvanceEvent.php',
'OC\\Repair\\Events\\RepairErrorEvent' => __DIR__ . '/../../..' . '/lib/private/Repair/Events/RepairErrorEvent.php',
@@ -1490,11 +1507,11 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Repair\\NC21\\ValidatePhoneNumber' => __DIR__ . '/../../..' . '/lib/private/Repair/NC21/ValidatePhoneNumber.php',
'OC\\Repair\\NC22\\LookupServerSendCheck' => __DIR__ . '/../../..' . '/lib/private/Repair/NC22/LookupServerSendCheck.php',
'OC\\Repair\\NC24\\AddTokenCleanupJob' => __DIR__ . '/../../..' . '/lib/private/Repair/NC24/AddTokenCleanupJob.php',
+ 'OC\\Repair\\NC25\\AddMissingSecretJob' => __DIR__ . '/../../..' . '/lib/private/Repair/NC25/AddMissingSecretJob.php',
'OC\\Repair\\OldGroupMembershipShares' => __DIR__ . '/../../..' . '/lib/private/Repair/OldGroupMembershipShares.php',
'OC\\Repair\\Owncloud\\CleanPreviews' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/CleanPreviews.php',
'OC\\Repair\\Owncloud\\CleanPreviewsBackgroundJob' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/CleanPreviewsBackgroundJob.php',
'OC\\Repair\\Owncloud\\DropAccountTermsTable' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/DropAccountTermsTable.php',
- 'OC\\Repair\\Owncloud\\InstallCoreBundle' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/InstallCoreBundle.php',
'OC\\Repair\\Owncloud\\MigrateOauthTables' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/MigrateOauthTables.php',
'OC\\Repair\\Owncloud\\MoveAvatars' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/MoveAvatars.php',
'OC\\Repair\\Owncloud\\MoveAvatarsBackgroundJob' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/MoveAvatarsBackgroundJob.php',
@@ -1543,6 +1560,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Security\\RateLimiting\\Backend\\MemoryCacheBackend' => __DIR__ . '/../../..' . '/lib/private/Security/RateLimiting/Backend/MemoryCacheBackend.php',
'OC\\Security\\RateLimiting\\Exception\\RateLimitExceededException' => __DIR__ . '/../../..' . '/lib/private/Security/RateLimiting/Exception/RateLimitExceededException.php',
'OC\\Security\\RateLimiting\\Limiter' => __DIR__ . '/../../..' . '/lib/private/Security/RateLimiting/Limiter.php',
+ 'OC\\Security\\RemoteHostValidator' => __DIR__ . '/../../..' . '/lib/private/Security/RemoteHostValidator.php',
'OC\\Security\\SecureRandom' => __DIR__ . '/../../..' . '/lib/private/Security/SecureRandom.php',
'OC\\Security\\TrustedDomainHelper' => __DIR__ . '/../../..' . '/lib/private/Security/TrustedDomainHelper.php',
'OC\\Security\\VerificationToken\\CleanUpJob' => __DIR__ . '/../../..' . '/lib/private/Security/VerificationToken/CleanUpJob.php',
@@ -1585,6 +1603,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Streamer' => __DIR__ . '/../../..' . '/lib/private/Streamer.php',
'OC\\SubAdmin' => __DIR__ . '/../../..' . '/lib/private/SubAdmin.php',
'OC\\Support\\CrashReport\\Registry' => __DIR__ . '/../../..' . '/lib/private/Support/CrashReport/Registry.php',
+ 'OC\\Support\\Subscription\\Assertion' => __DIR__ . '/../../..' . '/lib/private/Support/Subscription/Assertion.php',
'OC\\Support\\Subscription\\Registry' => __DIR__ . '/../../..' . '/lib/private/Support/Subscription/Registry.php',
'OC\\SystemConfig' => __DIR__ . '/../../..' . '/lib/private/SystemConfig.php',
'OC\\SystemTag\\ManagerFactory' => __DIR__ . '/../../..' . '/lib/private/SystemTag/ManagerFactory.php',
@@ -1619,8 +1638,8 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\User\\Database' => __DIR__ . '/../../..' . '/lib/private/User/Database.php',
'OC\\User\\DisplayNameCache' => __DIR__ . '/../../..' . '/lib/private/User/DisplayNameCache.php',
'OC\\User\\LazyUser' => __DIR__ . '/../../..' . '/lib/private/User/LazyUser.php',
+ 'OC\\User\\Listeners\\BeforeUserDeletedListener' => __DIR__ . '/../../..' . '/lib/private/User/Listeners/BeforeUserDeletedListener.php',
'OC\\User\\Listeners\\UserChangedListener' => __DIR__ . '/../../..' . '/lib/private/User/Listeners/UserChangedListener.php',
- 'OC\\User\\Listeners\\UserDeletedListener' => __DIR__ . '/../../..' . '/lib/private/User/Listeners/UserDeletedListener.php',
'OC\\User\\LoginException' => __DIR__ . '/../../..' . '/lib/private/User/LoginException.php',
'OC\\User\\Manager' => __DIR__ . '/../../..' . '/lib/private/User/Manager.php',
'OC\\User\\NoUserException' => __DIR__ . '/../../..' . '/lib/private/User/NoUserException.php',
@@ -1628,8 +1647,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\User\\User' => __DIR__ . '/../../..' . '/lib/private/User/User.php',
'OC_API' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_API.php',
'OC_App' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_App.php',
- 'OC_DB' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_DB.php',
- 'OC_DB_StatementWrapper' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_DB_StatementWrapper.php',
'OC_Defaults' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_Defaults.php',
'OC_EventSource' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_EventSource.php',
'OC_FileChunking' => __DIR__ . '/../../..' . '/lib/private/legacy/OC_FileChunking.php',
diff --git a/lib/l10n/ar.js b/lib/l10n/ar.js
index afebe50e434..6ed12160f2b 100644
--- a/lib/l10n/ar.js
+++ b/lib/l10n/ar.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "الكتابة في مجلد \"config\" غير ممكنة!",
"See %s" : "أنظر %s",
"Sample configuration detected" : "تم اكتشاف إعدادات عيّنة",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "تم اكتشاف أن نموذج التهيئة قد تم نسخه. يمكن لهذا أن يُعطّل عملية التنصيب و هو أمر غير مدعوم. نرجو الاطلاع على تعليمات الواردة في وثائق النظام قبل إحداث أي تعديلات على ملف config.php",
"%1$s and %2$s" : "%1$s و %2$s",
"%1$s, %2$s and %3$s" : "%1$s، %2$s و %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s، %2$s، %3$s و %4$s",
@@ -59,7 +60,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "اسم المستخدم / أو كلمة المرور الخاصة بـPostgreSQL غير صحيحة",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "نظام ماك الإصدار X غير مدعوم و %s لن يعمل بشكل صحيح على هذه المنصة. استخدمه على مسؤوليتك!",
"For the best results, please consider using a GNU/Linux server instead." : "فضلاً ضع في الاعتبار استخدام نظام GNU/Linux بدل الأنظمة الأخرى للحصول على أفضل النتائج.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "فضلاً إحذف إعداد open_basedir من ملف php.ini لديك أو حوّل إلى PHP إصدار 64 بت.",
"Set an admin username." : "اعداد اسم مستخدم للمدير",
"Set an admin password." : "اعداد كلمة مرور للمدير",
"Open »%s«" : "فتح »%s«",
@@ -111,10 +111,10 @@ OC.L10N.register(
"Oct." : "أكت.",
"Nov." : "نوف.",
"Dec." : "ديس.",
- "A valid username must be provided" : "يجب ادخال اسم مستخدم صحيح",
- "Username contains whitespace at the beginning or at the end" : "إنّ إسم المستخدم يحتوي على مسافة بيضاء سواءا في البداية أو النهاية",
"A valid password must be provided" : "يجب ادخال كلمة مرور صحيحة",
"Could not create user" : "لا يمكن إنشاء المستخدم",
+ "A valid username must be provided" : "يجب ادخال اسم مستخدم صحيح",
+ "Username contains whitespace at the beginning or at the end" : "إنّ إسم المستخدم يحتوي على مسافة بيضاء سواءا في البداية أو النهاية",
"User disabled" : "المستخدم معطّل",
"Login canceled by app" : "تم إلغاء الدخول مِن طرف التطبيق",
"a safe home for all your data" : "المكان الآمن لجميع بياناتك",
@@ -122,11 +122,13 @@ OC.L10N.register(
"Application is not enabled" : "التطبيق غير مفعّل",
"Authentication error" : "لم يتم التأكد من الشخصية بنجاح",
"Token expired. Please reload page." : "انتهت صلاحية الكلمة , يرجى اعادة تحميل الصفحة",
+ "Adjusting this setting in php.ini will make Nextcloud run again" : "تضبيط الإعدادات في ملف php.ini سوف يُمكّن نيكست كلاود من العمل مجدداً",
"Storage is temporarily not available" : "وحدة التخزين غير متوفرة",
"%s enter the database username and name." : "%s أدخِل اسم قاعدة البيانات واسم مستخدمها.",
"%s enter the database username." : "%s ادخل اسم المستخدم الخاص بقاعدة البيانات.",
"%s enter the database name." : "%s ادخل اسم فاعدة البيانات",
"%s you may not use dots in the database name" : "%s لا يسمح لك باستخدام نقطه (.) في اسم قاعدة البيانات",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "فضلاً إحذف إعداد open_basedir من ملف php.ini لديك أو حوّل إلى PHP إصدار 64 بت.",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "يمكن إصلاح هذا الخطا بإعطاء مخدّم الموقع صلاحيات التعديل على مجلد الإعدادات. أنظر %s",
"Please upgrade your database version" : "فضلًا قم بتحديث إصدار قاعدة بياناتك"
},
diff --git a/lib/l10n/ar.json b/lib/l10n/ar.json
index 3ed3152061c..330e8e8f705 100644
--- a/lib/l10n/ar.json
+++ b/lib/l10n/ar.json
@@ -2,6 +2,7 @@
"Cannot write into \"config\" directory!" : "الكتابة في مجلد \"config\" غير ممكنة!",
"See %s" : "أنظر %s",
"Sample configuration detected" : "تم اكتشاف إعدادات عيّنة",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "تم اكتشاف أن نموذج التهيئة قد تم نسخه. يمكن لهذا أن يُعطّل عملية التنصيب و هو أمر غير مدعوم. نرجو الاطلاع على تعليمات الواردة في وثائق النظام قبل إحداث أي تعديلات على ملف config.php",
"%1$s and %2$s" : "%1$s و %2$s",
"%1$s, %2$s and %3$s" : "%1$s، %2$s و %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s، %2$s، %3$s و %4$s",
@@ -57,7 +58,6 @@
"PostgreSQL username and/or password not valid" : "اسم المستخدم / أو كلمة المرور الخاصة بـPostgreSQL غير صحيحة",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "نظام ماك الإصدار X غير مدعوم و %s لن يعمل بشكل صحيح على هذه المنصة. استخدمه على مسؤوليتك!",
"For the best results, please consider using a GNU/Linux server instead." : "فضلاً ضع في الاعتبار استخدام نظام GNU/Linux بدل الأنظمة الأخرى للحصول على أفضل النتائج.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "فضلاً إحذف إعداد open_basedir من ملف php.ini لديك أو حوّل إلى PHP إصدار 64 بت.",
"Set an admin username." : "اعداد اسم مستخدم للمدير",
"Set an admin password." : "اعداد كلمة مرور للمدير",
"Open »%s«" : "فتح »%s«",
@@ -109,10 +109,10 @@
"Oct." : "أكت.",
"Nov." : "نوف.",
"Dec." : "ديس.",
- "A valid username must be provided" : "يجب ادخال اسم مستخدم صحيح",
- "Username contains whitespace at the beginning or at the end" : "إنّ إسم المستخدم يحتوي على مسافة بيضاء سواءا في البداية أو النهاية",
"A valid password must be provided" : "يجب ادخال كلمة مرور صحيحة",
"Could not create user" : "لا يمكن إنشاء المستخدم",
+ "A valid username must be provided" : "يجب ادخال اسم مستخدم صحيح",
+ "Username contains whitespace at the beginning or at the end" : "إنّ إسم المستخدم يحتوي على مسافة بيضاء سواءا في البداية أو النهاية",
"User disabled" : "المستخدم معطّل",
"Login canceled by app" : "تم إلغاء الدخول مِن طرف التطبيق",
"a safe home for all your data" : "المكان الآمن لجميع بياناتك",
@@ -120,11 +120,13 @@
"Application is not enabled" : "التطبيق غير مفعّل",
"Authentication error" : "لم يتم التأكد من الشخصية بنجاح",
"Token expired. Please reload page." : "انتهت صلاحية الكلمة , يرجى اعادة تحميل الصفحة",
+ "Adjusting this setting in php.ini will make Nextcloud run again" : "تضبيط الإعدادات في ملف php.ini سوف يُمكّن نيكست كلاود من العمل مجدداً",
"Storage is temporarily not available" : "وحدة التخزين غير متوفرة",
"%s enter the database username and name." : "%s أدخِل اسم قاعدة البيانات واسم مستخدمها.",
"%s enter the database username." : "%s ادخل اسم المستخدم الخاص بقاعدة البيانات.",
"%s enter the database name." : "%s ادخل اسم فاعدة البيانات",
"%s you may not use dots in the database name" : "%s لا يسمح لك باستخدام نقطه (.) في اسم قاعدة البيانات",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "فضلاً إحذف إعداد open_basedir من ملف php.ini لديك أو حوّل إلى PHP إصدار 64 بت.",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "يمكن إصلاح هذا الخطا بإعطاء مخدّم الموقع صلاحيات التعديل على مجلد الإعدادات. أنظر %s",
"Please upgrade your database version" : "فضلًا قم بتحديث إصدار قاعدة بياناتك"
},"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;"
diff --git a/lib/l10n/ast.js b/lib/l10n/ast.js
index bdda76c13c8..d261366111d 100644
--- a/lib/l10n/ast.js
+++ b/lib/l10n/ast.js
@@ -58,8 +58,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Nome d'usuariu o contraseña PostgreSQL non válidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nun ta sofitáu y %s nun furrulará afayadizamente nesta plataforma. ¡Úsalu baxo'l to riesgu!",
"For the best results, please consider using a GNU/Linux server instead." : "Pa los meyores resultaos, por favor considera l'usu d'un sirvidor GNU/Linux nel so llugar.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Paez ser que la instancia %s ta executándose nun entornu de PHP 32 bits y el open_basedir configuróse en php.ini. Esto va dar llugar a problemes colos ficheros de más de 4 GB y nun ye nada recomendable.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, desanicia la configuración open_basedir dientro la so php.ini o camude a PHP 64 bits.",
"Set an admin username." : "Afitar nome d'usuariu p'almin",
"Set an admin password." : "Afitar contraseña p'almin",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El motor compartíu %s tien d'implementar la interfaz OCP\\Share_Backend",
@@ -117,12 +115,12 @@ OC.L10N.register(
"Oct." : "Och.",
"Nov." : "Pay.",
"Dec." : "Avi.",
+ "A valid password must be provided" : "Tien d'apurrise una contraseña válida",
+ "The username is already being used" : "El nome d'usuariu yá ta usándose",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Namái tan permitíos los siguientes caráuteres nun nome d'usuariu: \"a-z\", \"A-Z\", \"0-9\", y \"_.@-'\"",
"A valid username must be provided" : "Tien d'apurrise un nome d'usuariu válidu",
"Username contains whitespace at the beginning or at the end" : "El nome d'usuario contién espacios en blancu al entamu o al final",
"Username must not consist of dots only" : "El nome d'usuariu nun pue tener puntos",
- "A valid password must be provided" : "Tien d'apurrise una contraseña válida",
- "The username is already being used" : "El nome d'usuariu yá ta usándose",
"User disabled" : "Usuariu desactiváu",
"Login canceled by app" : "Aniciar sesión canceláu pola aplicación",
"a safe home for all your data" : "un llar seguru pa tolos tos datos",
@@ -151,6 +149,8 @@ OC.L10N.register(
"%s enter the database username." : "%s introducir l'usuariu de la base de datos.",
"%s enter the database name." : "%s introducir nome de la base de datos.",
"%s you may not use dots in the database name" : "%s nun pues usar puntos nel nome de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Paez ser que la instancia %s ta executándose nun entornu de PHP 32 bits y el open_basedir configuróse en php.ini. Esto va dar llugar a problemes colos ficheros de más de 4 GB y nun ye nada recomendable.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, desanicia la configuración open_basedir dientro la so php.ini o camude a PHP 64 bits.",
"Cannot write into \"config\" directory" : "Nun pue escribise nel direutoriu \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Esto davezu íguase dando'l permisu d'escritura nel direutoriu de configuración al sirvidor web. Mira %s",
"Cannot write into \"apps\" directory" : "Nun pue escribise nel direutoriu \"apps\"",
diff --git a/lib/l10n/ast.json b/lib/l10n/ast.json
index 257bb850a65..cc20859e3b4 100644
--- a/lib/l10n/ast.json
+++ b/lib/l10n/ast.json
@@ -56,8 +56,6 @@
"PostgreSQL username and/or password not valid" : "Nome d'usuariu o contraseña PostgreSQL non válidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nun ta sofitáu y %s nun furrulará afayadizamente nesta plataforma. ¡Úsalu baxo'l to riesgu!",
"For the best results, please consider using a GNU/Linux server instead." : "Pa los meyores resultaos, por favor considera l'usu d'un sirvidor GNU/Linux nel so llugar.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Paez ser que la instancia %s ta executándose nun entornu de PHP 32 bits y el open_basedir configuróse en php.ini. Esto va dar llugar a problemes colos ficheros de más de 4 GB y nun ye nada recomendable.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, desanicia la configuración open_basedir dientro la so php.ini o camude a PHP 64 bits.",
"Set an admin username." : "Afitar nome d'usuariu p'almin",
"Set an admin password." : "Afitar contraseña p'almin",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El motor compartíu %s tien d'implementar la interfaz OCP\\Share_Backend",
@@ -115,12 +113,12 @@
"Oct." : "Och.",
"Nov." : "Pay.",
"Dec." : "Avi.",
+ "A valid password must be provided" : "Tien d'apurrise una contraseña válida",
+ "The username is already being used" : "El nome d'usuariu yá ta usándose",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Namái tan permitíos los siguientes caráuteres nun nome d'usuariu: \"a-z\", \"A-Z\", \"0-9\", y \"_.@-'\"",
"A valid username must be provided" : "Tien d'apurrise un nome d'usuariu válidu",
"Username contains whitespace at the beginning or at the end" : "El nome d'usuario contién espacios en blancu al entamu o al final",
"Username must not consist of dots only" : "El nome d'usuariu nun pue tener puntos",
- "A valid password must be provided" : "Tien d'apurrise una contraseña válida",
- "The username is already being used" : "El nome d'usuariu yá ta usándose",
"User disabled" : "Usuariu desactiváu",
"Login canceled by app" : "Aniciar sesión canceláu pola aplicación",
"a safe home for all your data" : "un llar seguru pa tolos tos datos",
@@ -149,6 +147,8 @@
"%s enter the database username." : "%s introducir l'usuariu de la base de datos.",
"%s enter the database name." : "%s introducir nome de la base de datos.",
"%s you may not use dots in the database name" : "%s nun pues usar puntos nel nome de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Paez ser que la instancia %s ta executándose nun entornu de PHP 32 bits y el open_basedir configuróse en php.ini. Esto va dar llugar a problemes colos ficheros de más de 4 GB y nun ye nada recomendable.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, desanicia la configuración open_basedir dientro la so php.ini o camude a PHP 64 bits.",
"Cannot write into \"config\" directory" : "Nun pue escribise nel direutoriu \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Esto davezu íguase dando'l permisu d'escritura nel direutoriu de configuración al sirvidor web. Mira %s",
"Cannot write into \"apps\" directory" : "Nun pue escribise nel direutoriu \"apps\"",
diff --git a/lib/l10n/az.js b/lib/l10n/az.js
index c58ae39e842..28ec34773c3 100644
--- a/lib/l10n/az.js
+++ b/lib/l10n/az.js
@@ -61,8 +61,8 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Noy.",
"Dec." : "Dek.",
- "A valid username must be provided" : "Düzgün istifadəçi adı daxil edilməlidir",
"A valid password must be provided" : "Düzgün şifrə daxil edilməlidir",
+ "A valid username must be provided" : "Düzgün istifadəçi adı daxil edilməlidir",
"Application is not enabled" : "Proqram təminatı aktiv edilməyib",
"Authentication error" : "Təyinat metodikası",
"Token expired. Please reload page." : "Token vaxtı bitib. Xahiş olunur səhifəni yenidən yükləyəsiniz.",
diff --git a/lib/l10n/az.json b/lib/l10n/az.json
index 425e06b2bc2..bc250fdc074 100644
--- a/lib/l10n/az.json
+++ b/lib/l10n/az.json
@@ -59,8 +59,8 @@
"Oct." : "Okt.",
"Nov." : "Noy.",
"Dec." : "Dek.",
- "A valid username must be provided" : "Düzgün istifadəçi adı daxil edilməlidir",
"A valid password must be provided" : "Düzgün şifrə daxil edilməlidir",
+ "A valid username must be provided" : "Düzgün istifadəçi adı daxil edilməlidir",
"Application is not enabled" : "Proqram təminatı aktiv edilməyib",
"Authentication error" : "Təyinat metodikası",
"Token expired. Please reload page." : "Token vaxtı bitib. Xahiş olunur səhifəni yenidən yükləyəsiniz.",
diff --git a/lib/l10n/bg.js b/lib/l10n/bg.js
index a7ad29f40a2..73e94b0c08f 100644
--- a/lib/l10n/bg.js
+++ b/lib/l10n/bg.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Файловете на приложението %1$s не бяха заменени правилно. Уверете се, че версията е съвместима със сървъра.",
"Sample configuration detected" : "Открита е примерна конфигурация",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Усетено беше че примерната конфигурация е копирана. Това може да развли инсталацията ти и не се поддържа. Моля, прочети документацията преди да правиш промени на config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Страницата не е намерена на сървъра.",
"%s email verification" : "%s имейл потвърждение",
"Email verification" : "Имейл потвърждение",
"Click the following button to confirm your email." : "Щракнете върху следния бутон, за да потвърдите имейла си.",
@@ -99,6 +101,8 @@ OC.L10N.register(
"Users" : "Потребители",
"Email" : "Имейл",
"Mail %s" : "Поща %s",
+ "Fediverse" : "Fediverse /съвкупност от обединени сървъри/",
+ "View %s on the fediverse" : "Преглед на %s във Fediverse",
"Phone" : "Телефон",
"Call %s" : "Обаждане %s",
"Twitter" : "Twitter",
@@ -114,6 +118,10 @@ OC.L10N.register(
"Role" : "Роля",
"Unknown user" : "Непознат потребител",
"Additional settings" : "Допълнителни настройки",
+ "Enter the database username and name for %s" : "Въведете името на потребител на базата данни и име за %s",
+ "Enter the database username for %s" : "Въведете името на потребител на базата данни за %s",
+ "Enter the database name for %s" : "Въведете името на базата данни за %s",
+ "You cannot use dots in the database name %s" : "Не можете да използвате точки в името на базата данни %s",
"MySQL username and/or password not valid" : "Име на потребител и/или паролата на MySQL не са валидни",
"You need to enter details of an existing account." : "Трябва да въведете подробности за съществуващ профил.",
"Oracle connection could not be established" : "Не можа да се установи връзка с Oracle",
@@ -121,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Невалидно PostgreSQL потребителско име и/или парола.",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не се подържа и %s няма да работи правилно на тази платформа. Използвайте го на свой собствен риск!",
"For the best results, please consider using a GNU/Linux server instead." : "За най-добри резултати, моля, помисли дали не бихте желали да използваште GNU/Linux сървър.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : " Изглежда, че този екземпляр %s работи в 32-битова PHP среда и open_basedir е конфигуриран в php.ini. Това ще доведе до проблеми с файлове над 4 GB и е силно обезкуражено.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Моля, премахтене настройката за open_basedir от вашия php.ini или преминете към 64-битово PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Изглежда, че този екземпляр %s работи в 32-битова PHP среда. За версия 26 и по-висока е нужна 64-битова среда.",
+ "Please switch to 64-bit PHP." : "Моля, превключете на 64-битов PHP.",
"Set an admin username." : "Задайте потребителско име за администратор.",
"Set an admin password." : "Задай парола за администратор.",
"Cannot create or write into the data directory %s" : "Неуспешно създаване или записване в директорията с данни \"data\" %s",
@@ -146,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s сподели »%2$s« с вас.",
"Click the button below to open it." : "Щракнете върху бутона по-долу, за да го отворите.",
"The requested share does not exist anymore" : "Исканото споделяне вече не съществува",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Потребителят не е създаден, тъй като е достигнат лимитът на потребителите. Проверете вашите известия, за да научите повече.",
"Could not find category \"%s\"" : "Невъзможно откриване на категорията \"%s\".",
"Sunday" : "неделя",
"Monday" : "понеделник",
@@ -192,15 +201,14 @@ OC.L10N.register(
"Oct." : "окт",
"Nov." : "ное",
"Dec." : "дек",
- "The user limit has been reached and the user was not created." : "Потребителският лимит е достигнат и потребителят не е създаден. ",
+ "A valid password must be provided" : "Трябва да въведете валидна парола.",
+ "The username is already being used" : "Потребителското име е вече заето.",
+ "Could not create user" : "Неуспешно създаване на потребител",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Потребителските имена може да съдържат следните знаци: \"a-z\", \"A-Z\", \"0-9\" и \"_.@-'\"",
"A valid username must be provided" : "Трябва да въведете валидно потребителско.",
"Username contains whitespace at the beginning or at the end" : "Потребителското име започва или завършва с интервал.",
"Username must not consist of dots only" : "Името на потребител не трябва да се състои само от точки",
"Username is invalid because files already exist for this user" : "Името на потребител е невалидно, тъй като файловете вече съществуват за този потребител",
- "A valid password must be provided" : "Трябва да въведете валидна парола.",
- "The username is already being used" : "Потребителското име е вече заето.",
- "Could not create user" : "Неуспешно създаване на потребител",
"User disabled" : "Потребителят е деактивиран",
"Login canceled by app" : "Вписването е отказано от приложението",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Приложението „%1$s“ не може да бъде инсталирано, защото следните зависимости не са изпълнени: %2$s",
@@ -260,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "%s въведете потребител за базата данни.",
"%s enter the database name." : "%s въведи име на базата данни.",
"%s you may not use dots in the database name" : "%s, не може да ползваш точки в името на базата данни.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : " Изглежда, че този екземпляр %s работи в 32-битова PHP среда и open_basedir е конфигуриран в php.ini. Това ще доведе до проблеми с файлове над 4 GB и е силно обезкуражено.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Моля, премахтене настройката за open_basedir от вашия php.ini или преминете към 64-битово PHP.",
+ "The user limit has been reached and the user was not created." : "Потребителският лимит е достигнат и потребителят не е създаден. ",
"Cannot read file" : "Не може да се прочете файл",
"Cannot write into \"config\" directory" : "Неуспешен опит за запис в \"config\" папката.",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Това обикновено може да бъде оправено като, се даде достъп на уеб сървъра да записва в config директорията. Погледнете %s",
@@ -277,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Вашата директория с данни може да се чете от други потребители",
"Your data directory must be an absolute path" : "Вашата директория с данни трябва да е абсолютен път",
"Check the value of \"datadirectory\" in your configuration" : "Проверете стойността на \"datadirectory\" във вашата конфигурация",
- "Your data directory is invalid" : "Вашата директория с данни е невалидна"
+ "Your data directory is invalid" : "Вашата директория с данни е невалидна",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Потребителският лимит е достигнат и потребителят не е създаден. Проверете вашите известия, за да научите повече."
},
"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/bg.json b/lib/l10n/bg.json
index 7818cac5e79..4ee0f4c786c 100644
--- a/lib/l10n/bg.json
+++ b/lib/l10n/bg.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Файловете на приложението %1$s не бяха заменени правилно. Уверете се, че версията е съвместима със сървъра.",
"Sample configuration detected" : "Открита е примерна конфигурация",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Усетено беше че примерната конфигурация е копирана. Това може да развли инсталацията ти и не се поддържа. Моля, прочети документацията преди да правиш промени на config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Страницата не е намерена на сървъра.",
"%s email verification" : "%s имейл потвърждение",
"Email verification" : "Имейл потвърждение",
"Click the following button to confirm your email." : "Щракнете върху следния бутон, за да потвърдите имейла си.",
@@ -97,6 +99,8 @@
"Users" : "Потребители",
"Email" : "Имейл",
"Mail %s" : "Поща %s",
+ "Fediverse" : "Fediverse /съвкупност от обединени сървъри/",
+ "View %s on the fediverse" : "Преглед на %s във Fediverse",
"Phone" : "Телефон",
"Call %s" : "Обаждане %s",
"Twitter" : "Twitter",
@@ -112,6 +116,10 @@
"Role" : "Роля",
"Unknown user" : "Непознат потребител",
"Additional settings" : "Допълнителни настройки",
+ "Enter the database username and name for %s" : "Въведете името на потребител на базата данни и име за %s",
+ "Enter the database username for %s" : "Въведете името на потребител на базата данни за %s",
+ "Enter the database name for %s" : "Въведете името на базата данни за %s",
+ "You cannot use dots in the database name %s" : "Не можете да използвате точки в името на базата данни %s",
"MySQL username and/or password not valid" : "Име на потребител и/или паролата на MySQL не са валидни",
"You need to enter details of an existing account." : "Трябва да въведете подробности за съществуващ профил.",
"Oracle connection could not be established" : "Не можа да се установи връзка с Oracle",
@@ -119,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "Невалидно PostgreSQL потребителско име и/или парола.",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не се подържа и %s няма да работи правилно на тази платформа. Използвайте го на свой собствен риск!",
"For the best results, please consider using a GNU/Linux server instead." : "За най-добри резултати, моля, помисли дали не бихте желали да използваште GNU/Linux сървър.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : " Изглежда, че този екземпляр %s работи в 32-битова PHP среда и open_basedir е конфигуриран в php.ini. Това ще доведе до проблеми с файлове над 4 GB и е силно обезкуражено.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Моля, премахтене настройката за open_basedir от вашия php.ini или преминете към 64-битово PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Изглежда, че този екземпляр %s работи в 32-битова PHP среда. За версия 26 и по-висока е нужна 64-битова среда.",
+ "Please switch to 64-bit PHP." : "Моля, превключете на 64-битов PHP.",
"Set an admin username." : "Задайте потребителско име за администратор.",
"Set an admin password." : "Задай парола за администратор.",
"Cannot create or write into the data directory %s" : "Неуспешно създаване или записване в директорията с данни \"data\" %s",
@@ -144,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s сподели »%2$s« с вас.",
"Click the button below to open it." : "Щракнете върху бутона по-долу, за да го отворите.",
"The requested share does not exist anymore" : "Исканото споделяне вече не съществува",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Потребителят не е създаден, тъй като е достигнат лимитът на потребителите. Проверете вашите известия, за да научите повече.",
"Could not find category \"%s\"" : "Невъзможно откриване на категорията \"%s\".",
"Sunday" : "неделя",
"Monday" : "понеделник",
@@ -190,15 +199,14 @@
"Oct." : "окт",
"Nov." : "ное",
"Dec." : "дек",
- "The user limit has been reached and the user was not created." : "Потребителският лимит е достигнат и потребителят не е създаден. ",
+ "A valid password must be provided" : "Трябва да въведете валидна парола.",
+ "The username is already being used" : "Потребителското име е вече заето.",
+ "Could not create user" : "Неуспешно създаване на потребител",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Потребителските имена може да съдържат следните знаци: \"a-z\", \"A-Z\", \"0-9\" и \"_.@-'\"",
"A valid username must be provided" : "Трябва да въведете валидно потребителско.",
"Username contains whitespace at the beginning or at the end" : "Потребителското име започва или завършва с интервал.",
"Username must not consist of dots only" : "Името на потребител не трябва да се състои само от точки",
"Username is invalid because files already exist for this user" : "Името на потребител е невалидно, тъй като файловете вече съществуват за този потребител",
- "A valid password must be provided" : "Трябва да въведете валидна парола.",
- "The username is already being used" : "Потребителското име е вече заето.",
- "Could not create user" : "Неуспешно създаване на потребител",
"User disabled" : "Потребителят е деактивиран",
"Login canceled by app" : "Вписването е отказано от приложението",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Приложението „%1$s“ не може да бъде инсталирано, защото следните зависимости не са изпълнени: %2$s",
@@ -258,6 +266,9 @@
"%s enter the database username." : "%s въведете потребител за базата данни.",
"%s enter the database name." : "%s въведи име на базата данни.",
"%s you may not use dots in the database name" : "%s, не може да ползваш точки в името на базата данни.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : " Изглежда, че този екземпляр %s работи в 32-битова PHP среда и open_basedir е конфигуриран в php.ini. Това ще доведе до проблеми с файлове над 4 GB и е силно обезкуражено.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Моля, премахтене настройката за open_basedir от вашия php.ini или преминете към 64-битово PHP.",
+ "The user limit has been reached and the user was not created." : "Потребителският лимит е достигнат и потребителят не е създаден. ",
"Cannot read file" : "Не може да се прочете файл",
"Cannot write into \"config\" directory" : "Неуспешен опит за запис в \"config\" папката.",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Това обикновено може да бъде оправено като, се даде достъп на уеб сървъра да записва в config директорията. Погледнете %s",
@@ -275,6 +286,7 @@
"Your data directory is readable by other users" : "Вашата директория с данни може да се чете от други потребители",
"Your data directory must be an absolute path" : "Вашата директория с данни трябва да е абсолютен път",
"Check the value of \"datadirectory\" in your configuration" : "Проверете стойността на \"datadirectory\" във вашата конфигурация",
- "Your data directory is invalid" : "Вашата директория с данни е невалидна"
+ "Your data directory is invalid" : "Вашата директория с данни е невалидна",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Потребителският лимит е достигнат и потребителят не е създаден. Проверете вашите известия, за да научите повече."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/lib/l10n/bs.js b/lib/l10n/bs.js
index e8def363f75..eefa6c10112 100644
--- a/lib/l10n/bs.js
+++ b/lib/l10n/bs.js
@@ -54,8 +54,8 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "A valid username must be provided" : "Nužno je navesti valjano korisničko ime",
"A valid password must be provided" : "Nužno je navesti valjanu lozinku",
+ "A valid username must be provided" : "Nužno je navesti valjano korisničko ime",
"Authentication error" : "Grešna autentifikacije",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemorisanja kao što je Zend OPcache ili eAccelerator."
},
diff --git a/lib/l10n/bs.json b/lib/l10n/bs.json
index 8d7c9b5e30d..5ca424d9a81 100644
--- a/lib/l10n/bs.json
+++ b/lib/l10n/bs.json
@@ -52,8 +52,8 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "A valid username must be provided" : "Nužno je navesti valjano korisničko ime",
"A valid password must be provided" : "Nužno je navesti valjanu lozinku",
+ "A valid username must be provided" : "Nužno je navesti valjano korisničko ime",
"Authentication error" : "Grešna autentifikacije",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemorisanja kao što je Zend OPcache ili eAccelerator."
},"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);"
diff --git a/lib/l10n/ca.js b/lib/l10n/ca.js
index 996f1986320..6a6e1627c7f 100644
--- a/lib/l10n/ca.js
+++ b/lib/l10n/ca.js
@@ -2,10 +2,19 @@ OC.L10N.register(
"lib",
{
"Cannot write into \"config\" directory!" : "No es pot escriure al directori \"config\"!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Això normalment es pot solucionar donant accés d'escriptura al servidor web al directori de configuració.",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "O, si preferiu mantenir el fitxer config.php només de lectura, establiu-hi l’opció \"config_is_read_only\" com a certa (true).",
"See %s" : "Vegeu %s",
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Els fitxers de l’aplicació %1$s no s’han substituït correctament. Assegureu-vos que és una versió compatible amb el servidor.",
"Sample configuration detected" : "S'ha detectat una configuració d'exemple",
- "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "S'ha detectat que la configuració d'exemple ha estat copiada. Això no està suportat, i podria corrompre la vostra instalació. Si us plau, llegiu la documentació abans de fer cap canvi a config.php",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "S'ha detectat que la configuració d'exemple ha estat copiada. Això no està suportat, i podria corrompre la vostra instal·lació. Si us plau, llegiu la documentació abans de fer cap canvi a config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "No s'ha pogut trobar la pàgina al servidor.",
+ "%s email verification" : "%s verificació del correu electrònic",
+ "Email verification" : "Verificació del correu electrònic",
+ "Click the following button to confirm your email." : "Feu clic al botó següent per confirmar el vostre correu electrònic.",
+ "Click the following link to confirm your email." : "Feu clic al següent enllaç per confirmar el vostre correu electrònic.",
+ "Confirm your email" : "Confirmeu el vostre correu electrònic",
"Other activities" : "Altres activitats",
"%1$s and %2$s" : "%1$s i %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s i %3$s",
@@ -16,18 +25,19 @@ OC.L10N.register(
"Groupware bundle" : "Paquet de treball en grup",
"Hub bundle" : "Paquet del centre",
"Social sharing bundle" : "Paquet social",
- "PHP %s or higher is required." : "Es requereix PHP %s o superior.",
- "PHP with a version lower than %s is required." : "Es requereix PHP amb versió inferior a %s.",
- "%sbit or higher PHP required." : "Es requereix PHP de %s bits o superior.",
+ "PHP %s or higher is required." : "Cal PHP %s o superior.",
+ "PHP with a version lower than %s is required." : "Cal PHP amb versió inferior a %s.",
+ "%sbit or higher PHP required." : "Cal PHP de %s bits o superior.",
"The following architectures are supported: %s" : "S'admeten les següents arquitectures: %s",
"The following databases are supported: %s" : "S'admeten les bases de dades següents: %s",
"The command line tool %s could not be found" : "No s’ha trobat l’eina de línia d’ordres %s",
"The library %s is not available." : "La llibreria %s no està disponible.",
- "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Es requereix la llibreria %1$s amb una versió superior a %2$s - la versió disponible és %3$s.",
- "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Es requereix la llibreria %1$s amb una versió inferior a %2$s - la versió disponible és %3$s.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Cal la llibreria %1$s amb una versió superior a %2$s - la versió disponible és %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Cal la llibreria %1$s amb una versió inferior a %2$s - la versió disponible és %3$s.",
"The following platforms are supported: %s" : "S'admeten les següents plataformes: %s",
- "Server version %s or higher is required." : "Es requereix una versió de servidor %s o superior.",
- "Server version %s or lower is required." : "Es requereix una versió de servidor %s o inferior.",
+ "Server version %s or higher is required." : "Cal una versió de servidor %s o superior.",
+ "Server version %s or lower is required." : "Cal una versió de servidor %s o inferior.",
+ "Logged in user must be an admin, a sub admin or gotten special right to access this setting" : "L'usuari iniciat ha de ser un administrador, un sub-administrador o tenir un dret especial per accedir a aquest paràmetre",
"Logged in user must be an admin or sub admin" : "L'usuari que ha iniciat la sessió ha de ser un administrador o un subadministrador",
"Logged in user must be an admin" : "L'usuari que ha iniciat la sessió ha de ser un administrador",
"Wiping of device %s has started" : "Ha començat la neteja del dispositiu %s",
@@ -45,7 +55,7 @@ OC.L10N.register(
"Authentication" : "Autenticació",
"Unknown filetype" : "Tipus de fitxer desconegut",
"Invalid image" : "Imatge no vàlida",
- "Avatar image is not square" : "La imatge de perfil no és quadrada",
+ "Avatar image is not square" : "La imatge de l'avatar no és quadrada",
"View profile" : "Visualitza el perfil",
"today" : "avui",
"tomorrow" : "demà",
@@ -67,8 +77,10 @@ OC.L10N.register(
"in a few seconds" : "d'aquí uns segons",
"seconds ago" : "fa uns segons",
"Empty file" : "Fitxer buit",
- "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Mòdul amb l'ID: %s no existeix. Si us plau, activeu-lo a la configuració de les aplicacions o poseu-vos en contacte amb el vostre administrador.",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Mòdul amb l'ID: %s no existeix. Si us plau, activeu-lo als paràmetres de les aplicacions o contacteu amb el vostre administrador.",
"File already exists" : "El fitxer ja existeix",
+ "Invalid path" : "Camí no vàlid",
+ "Failed to create file from template" : "No s'ha pogut crear el fitxer a partir de la plantilla",
"Templates" : "Plantilles",
"File name is a reserved word" : "El nom de fitxer és una paraula reservada",
"File name contains at least one invalid character" : "El nom del fitxer conté almenys un caràcter no vàlid",
@@ -80,22 +92,36 @@ OC.L10N.register(
"__language_name__" : "Català",
"This is an automatically sent email, please do not reply." : "Aquest és un correu electrònic enviat automàticament, si us plau no el respongueu.",
"Help" : "Ajuda",
+ "Appearance and accessibility" : "Aspecte i accessibilitat",
"Apps" : "Aplicacions",
+ "Personal settings" : "Paràmetres personals",
+ "Administration settings" : "Paràmetres d'administració",
"Settings" : "Paràmetres",
"Log out" : "Tanca la sessió",
"Users" : "Usuaris",
"Email" : "Correu",
+ "Mail %s" : "Correu %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Veure %s al fediverse",
"Phone" : "Telèfon",
+ "Call %s" : "Trucada de %s",
"Twitter" : "Twitter",
+ "View %s on Twitter" : "Veure %s a Twitter",
"Website" : "Lloc web",
+ "Visit %s" : "Visiteu %s",
"Address" : "Adreça",
"Profile picture" : "Foto de perfil",
"About" : "Quant a",
"Full name" : "Nom complet",
"Headline" : "Titular",
+ "Organisation" : "Organització",
"Role" : "Càrrec",
"Unknown user" : "Usuari desconegut",
"Additional settings" : "Paràmetres addicionals",
+ "Enter the database username and name for %s" : "Introduïu el nom d'usuari i el nom de la base de dades per a %s",
+ "Enter the database username for %s" : "Introduïu el nom d'usuari de la base de dades per a %s",
+ "Enter the database name for %s" : "Introduïu el nom de la base de dades per a %s",
+ "You cannot use dots in the database name %s" : "No podeu utilitzar punts al nom de la base de dades %s",
"MySQL username and/or password not valid" : "El nom d'usuari i/o contrasenya de MySQL no són vàlids",
"You need to enter details of an existing account." : "Heu d’introduir els detalls d’un compte existent.",
"Oracle connection could not be established" : "No s'ha pogut establir la connexió Oracle",
@@ -103,25 +129,32 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Nom d'usuari i/o contrasenya de PostgreSQL no vàlids",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X no té suport i %s no funcionarà correctament en aquesta plataforma. Feu-lo servir al vostre propi risc! ",
"For the best results, please consider using a GNU/Linux server instead." : "Per obtenir els millors resultats, si us plau plantegeu-vos fer servir un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Sembla que aquesta instància %s s'està executant en un entorn PHP de 32 bits i l'open_basedir s'ha configurat a php.ini. Això comportarà problemes amb fitxers de més de 4 GB i està molt poc recomanat.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Si us plau, suprimiu l’opció open_basedir del vostre php.ini o canvieu a PHP de 64 bits.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Sembla que aquesta instància %s s'està executant en un entorn PHP de 32 bits. Cal 64 bits per a 26 o superior.",
+ "Please switch to 64-bit PHP." : "Si us plau, canvieu a PHP de 64 bits.",
"Set an admin username." : "Establiu un nom d'usuari per l'administrador.",
"Set an admin password." : "Establiu una contrasenya per l'administrador.",
+ "Cannot create or write into the data directory %s" : "No es pot crear ni escriure al directori de dades %s",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El rerefons de compartició %s ha d'implementar la interfície OCP\\Share_Backend",
"Sharing backend %s not found" : "El rerefons de compartició %s no s'ha trobat",
"Sharing backend for %s not found" : "El rerefons de compartició per a %s no s'ha trobat",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s us ha compartit »%2$s« i vol afegir:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s us ha compartit »%2$s« i vol afegir",
- "»%s« added a note to a file shared with you" : "»%s« ha afegit una anotació a un fitxer amb qui teniu compartit",
+ "»%s« added a note to a file shared with you" : "»%s« ha afegit una nota a un fitxer amb qui teniu compartit",
"Open »%s«" : "Obre »%s«",
"%1$s via %2$s" : "%1$s mitjançant %2$s",
"You are not allowed to share %s" : "No se us permet compartir %s",
+ "Cannot increase permissions of %s" : "No es poden augmentar els permisos de %s",
+ "Files cannot be shared with delete permissions" : "Els fitxers no es poden compartir amb permisos de supresió",
+ "Files cannot be shared with create permissions" : "Els fitxers no es poden compartir amb permisos de creació",
"Expiration date is in the past" : "La data de caducitat és del passat",
+ "_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["No es pot establir la data de caducitat més de %n dia en el futur","No es pot establir la data de caducitat més de %n dies en el futur"],
+ "Sharing is only allowed with group members" : "Només es permet compartir amb els membres del grup",
"Sharing %s failed, because this item is already shared with user %s" : "No s'ha pogut compartir %s, perquè l'element ja està compartit amb l'usuari %s",
"%1$s shared »%2$s« with you" : "%1$s us ha compartit »%2$s«",
"%1$s shared »%2$s« with you." : "%1$s us ha compartit »%2$s«.",
"Click the button below to open it." : "Feu clic al botó de sota per obrir-lo.",
"The requested share does not exist anymore" : "La compartició sol·licitada ja no existeix",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "L'usuari no s'ha creat perquè s'ha arribat al límit d'usuaris. Comproveu les vostres notificacions per obtenir més informació.",
"Could not find category \"%s\"" : "No s'ha trobat la categoria \"%s\"",
"Sunday" : "Diumenge",
"Monday" : "Dilluns",
@@ -168,36 +201,56 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Des.",
- "The user limit has been reached and the user was not created." : "S'ha assolit el límit d'usuari i no s'ha creat l'usuari.",
+ "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida",
+ "The username is already being used" : "El nom d'usuari ja està en ús",
+ "Could not create user" : "No s'ha pogut crear l'usuari",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Només es permeten els següents caràcters en un nom d’usuari: \"a-z\", \"A-Z\", \"0-9\" i \"_.@-'\"",
"A valid username must be provided" : "Heu de facilitar un nom d'usuari vàlid",
"Username contains whitespace at the beginning or at the end" : "El nom d’usuari conté espais en blanc al principi o al final",
"Username must not consist of dots only" : "El nom d'usuari no pot està format només per punts",
"Username is invalid because files already exist for this user" : "El nom d'usuari no és vàlid perquè els fitxers ja existeixen per a aquest usuari",
- "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida",
- "The username is already being used" : "El nom d'usuari ja està en ús",
- "Could not create user" : "No s'ha pogut crear l'usuari",
- "User disabled" : "Usuari desactivat",
- "Login canceled by app" : "Accés cancel·lat per l'App",
+ "User disabled" : "Usuari inhabilitat",
+ "Login canceled by app" : "Inici de sessió cancel·lat per aplicació",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'aplicació \"%1$s\" no es pot instal·lar perquè no es compleixen les dependències següents: %2$s",
"a safe home for all your data" : "un lloc segur per a les vostres dades",
"File is currently busy, please try again later" : "El fitxer està ocupat actualment, si us plau torneu-ho a provar més tard",
- "Application is not enabled" : "L'aplicació no està activada",
+ "Cannot download file" : "No es pot baixar el fitxer",
+ "Application is not enabled" : "L'aplicació no està habilitada",
"Authentication error" : "Error d'autenticació",
- "Token expired. Please reload page." : "El testimoni ha expirat. Torneu a carregar la pàgina.",
+ "Token expired. Please reload page." : "El testimoni ha caducat. Torneu a carregar la pàgina.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No hi ha instal·lats controladors de bases de dades (sqlite, mysql o postgresql).",
+ "Cannot write into \"config\" directory." : "No es pot escriure al directori \"config\".",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Això normalment es pot solucionar donant accés d'escriptura al servidor web al directori de configuració. Veure %s",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "O, si preferiu mantenir el fitxer config.php només de lectura, establiu-hi l’opció \"config_is_read_only\" com a certa (true). Vegeu %s",
+ "Cannot write into \"apps\" directory." : "No es pot escriure al directori \"apps”.",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Normalment, això es pot solucionar donant accés d'escriptura al servidor web al directori d'aplicacions o desactivant el Magatzem d’Aplicacions al fitxer de configuració.",
+ "Cannot create \"data\" directory." : "No es pot crear el directori \"data”.",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Això normalment es pot solucionar donant accés d'escriptura al servidor web al directori arrel. Veure %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Normalment, els permisos es poden corregir donant accés d'escriptura al servidor web al directori arrel. Vegeu %s.",
+ "Your data directory is not writable." : "El vostre directori de dades no es pot escriure.",
+ "Setting locale to %s failed." : "No s'ha pogut establir el paràmetre local com a %s.",
+ "Please install one of these locales on your system and restart your web server." : "Si us plau, instal·leu un d'aquests fitxers de localització en el vostre sistema, i reinicieu el vostre servidor web.",
"PHP module %s not installed." : "El mòdul PHP %s no està instal·lat.",
"Please ask your server administrator to install the module." : "Si us plau, demaneu a l'administrador del sistema que instal·li el mòdul.",
"PHP setting \"%s\" is not set to \"%s\"." : "El paràmetre de PHP \"%s\" no està configurat a \"%s\".",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Ajustant aquest paràmetre a php.ini, tornarà a funcionar Nextcloud",
- "libxml2 2.7.0 is at least required. Currently %s is installed." : "es requereix com a mínim libxml2 2.7.0. Actualment hi ha instal·lat %s.",
- "To fix this issue update your libxml2 version and restart your web server." : "Per solucionar aquest problema actualitzeu la vostra versió de libxml2 i reinicieu el servidor web.",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> s'estableix en <code>%s</code> en lloc del valor esperat <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "Per solucionar aquest error configureu <code>mbstring.func_overload</code> a <code>0</code> en el vostre php.ini.",
+ "libxml2 2.7.0 is at least required. Currently %s is installed." : "cal com a mínim libxml2 2.7.0. Actualment hi ha instal·lat %s.",
+ "To fix this issue update your libxml2 version and restart your web server." : "Per solucionar aquest error actualitzeu la vostra versió de libxml2 i reinicieu el servidor web.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Sembla que PHP està configurat per suprimir els blocs de documents en línia. Això farà que diverses aplicacions principals no siguin accessibles.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Això probablement està provocat per un mecanisme de memòria cau/accelerador com Zend OPcache o eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "S'han instal·lat mòduls PHP, però encara es llisten com una mancança?",
"Please ask your server administrator to restart the web server." : "Si us plau, demaneu a l'administrador que reiniciï el servidor web.",
+ "The required %s config variable is not configured in the config.php file." : "La variable de configuració necessària %s no està configurada al fitxer config.php.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Si us plau, demaneu al vostre administrador del servidor que comprovi la configuració de Nextcloud.",
+ "PostgreSQL >= 9 required." : "Cal PostgreSQL >= 9.",
+ "Please upgrade your database version." : "Si us plau, actualitzeu la versió de la vostra base de dades.",
+ "Your data directory is readable by other users." : "El vostre directori de dades és llegible per altres usuaris.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Si us plau, canvieu els permisos a 0770 per tal que el directori no pugui ser llistat per altres usuaris.",
+ "Your data directory must be an absolute path." : "El vostre directori de dades ha de ser un camí absolut.",
+ "Check the value of \"datadirectory\" in your configuration." : "Comproveu el valor de \"datadirectory\" a la vostra configuració.",
+ "Your data directory is invalid." : "El vostre directori de dades no és vàlid.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Assegureu-vos que hi ha un fitxer anomenat \".ocdata\" a l’arrel del directori de dades.",
"Action \"%s\" not supported or implemented." : "L'acció \"%s\" no està suportada o implementada.",
"Authentication failed, wrong token or provider ID given" : "Ha fallat l’autenticació, s’ha donat un identificador de proveïdor o un testimoni incorrecte",
@@ -215,11 +268,16 @@ OC.L10N.register(
"%s enter the database username." : "%s escriviu el nom d'usuari de la base de dades.",
"%s enter the database name." : "%s escriviu el nom de la base de dades.",
"%s you may not use dots in the database name" : "%s no podeu fer servir punts en el nom de la base de dades",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Sembla que aquesta instància %s s'està executant en un entorn PHP de 32 bits i l'open_basedir s'ha configurat a php.ini. Això comportarà problemes amb fitxers de més de 4 GB i està molt poc recomanat.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Si us plau, suprimiu el paràmetre open_basedir del vostre php.ini o canvieu a PHP de 64 bits.",
+ "The user limit has been reached and the user was not created." : "S'ha assolit el límit d'usuari i no s'ha creat l'usuari.",
+ "Cannot read file" : "No es pot llegir el fitxer",
"Cannot write into \"config\" directory" : "No es pot escriure al directori \"config\"",
- "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Això normalment es pot solucionar donant al servidor web permís d'escriptura al directori de configuració. Vegeu %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Això normalment es pot solucionar donant al servidor web accés d'escriptura al directori de configuració. Vegeu %s",
"Cannot write into \"apps\" directory" : "No es pot escriure al directori \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "Normalment, això es pot solucionar donant accés d'escriptura al servidor web al directori d'aplicacions o desactivant el Magatzem d’Aplicacions al fitxer de configuració.",
"Cannot create \"data\" directory" : "No es pot crear el directori \"data\"",
- "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Això normalment es pot solucionar donant al servidor web permís d'escriptura al directori arrel. Vegeu %s",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Això normalment es pot solucionar donant al servidor web accés d'escriptura al directori arrel. Vegeu %s",
"Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Els permisos generalment es poden solucionar donant al servidor web accés d’escriptura al directori arrel. Vegeu %s.",
"Setting locale to %s failed" : "Ha fallat l'establiment a l'idioma %s",
"Please install one of these locales on your system and restart your webserver." : "Si us plau, instal·leu un d'aquests fitxers de localització en el vostre sistema, i reinicieu el vostre servidor web.",
@@ -230,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "El vostre directori de dades és llegible per altres usuaris",
"Your data directory must be an absolute path" : "El vostre directori de dades ha de ser un camí absolut",
"Check the value of \"datadirectory\" in your configuration" : "Comproveu el valor de \"datadirectory\" a la vostra configuració",
- "Your data directory is invalid" : "El vostre directori de dades no és vàlid"
+ "Your data directory is invalid" : "El vostre directori de dades no és vàlid",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "S'ha arribat al límit d'usuaris i l'usuari no s'ha creat. Comproveu les vostres notificacions per obtenir més informació."
},
"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/ca.json b/lib/l10n/ca.json
index ecff63e8370..639388648af 100644
--- a/lib/l10n/ca.json
+++ b/lib/l10n/ca.json
@@ -1,9 +1,18 @@
{ "translations": {
"Cannot write into \"config\" directory!" : "No es pot escriure al directori \"config\"!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Això normalment es pot solucionar donant accés d'escriptura al servidor web al directori de configuració.",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "O, si preferiu mantenir el fitxer config.php només de lectura, establiu-hi l’opció \"config_is_read_only\" com a certa (true).",
"See %s" : "Vegeu %s",
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Els fitxers de l’aplicació %1$s no s’han substituït correctament. Assegureu-vos que és una versió compatible amb el servidor.",
"Sample configuration detected" : "S'ha detectat una configuració d'exemple",
- "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "S'ha detectat que la configuració d'exemple ha estat copiada. Això no està suportat, i podria corrompre la vostra instalació. Si us plau, llegiu la documentació abans de fer cap canvi a config.php",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "S'ha detectat que la configuració d'exemple ha estat copiada. Això no està suportat, i podria corrompre la vostra instal·lació. Si us plau, llegiu la documentació abans de fer cap canvi a config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "No s'ha pogut trobar la pàgina al servidor.",
+ "%s email verification" : "%s verificació del correu electrònic",
+ "Email verification" : "Verificació del correu electrònic",
+ "Click the following button to confirm your email." : "Feu clic al botó següent per confirmar el vostre correu electrònic.",
+ "Click the following link to confirm your email." : "Feu clic al següent enllaç per confirmar el vostre correu electrònic.",
+ "Confirm your email" : "Confirmeu el vostre correu electrònic",
"Other activities" : "Altres activitats",
"%1$s and %2$s" : "%1$s i %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s i %3$s",
@@ -14,18 +23,19 @@
"Groupware bundle" : "Paquet de treball en grup",
"Hub bundle" : "Paquet del centre",
"Social sharing bundle" : "Paquet social",
- "PHP %s or higher is required." : "Es requereix PHP %s o superior.",
- "PHP with a version lower than %s is required." : "Es requereix PHP amb versió inferior a %s.",
- "%sbit or higher PHP required." : "Es requereix PHP de %s bits o superior.",
+ "PHP %s or higher is required." : "Cal PHP %s o superior.",
+ "PHP with a version lower than %s is required." : "Cal PHP amb versió inferior a %s.",
+ "%sbit or higher PHP required." : "Cal PHP de %s bits o superior.",
"The following architectures are supported: %s" : "S'admeten les següents arquitectures: %s",
"The following databases are supported: %s" : "S'admeten les bases de dades següents: %s",
"The command line tool %s could not be found" : "No s’ha trobat l’eina de línia d’ordres %s",
"The library %s is not available." : "La llibreria %s no està disponible.",
- "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Es requereix la llibreria %1$s amb una versió superior a %2$s - la versió disponible és %3$s.",
- "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Es requereix la llibreria %1$s amb una versió inferior a %2$s - la versió disponible és %3$s.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Cal la llibreria %1$s amb una versió superior a %2$s - la versió disponible és %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Cal la llibreria %1$s amb una versió inferior a %2$s - la versió disponible és %3$s.",
"The following platforms are supported: %s" : "S'admeten les següents plataformes: %s",
- "Server version %s or higher is required." : "Es requereix una versió de servidor %s o superior.",
- "Server version %s or lower is required." : "Es requereix una versió de servidor %s o inferior.",
+ "Server version %s or higher is required." : "Cal una versió de servidor %s o superior.",
+ "Server version %s or lower is required." : "Cal una versió de servidor %s o inferior.",
+ "Logged in user must be an admin, a sub admin or gotten special right to access this setting" : "L'usuari iniciat ha de ser un administrador, un sub-administrador o tenir un dret especial per accedir a aquest paràmetre",
"Logged in user must be an admin or sub admin" : "L'usuari que ha iniciat la sessió ha de ser un administrador o un subadministrador",
"Logged in user must be an admin" : "L'usuari que ha iniciat la sessió ha de ser un administrador",
"Wiping of device %s has started" : "Ha començat la neteja del dispositiu %s",
@@ -43,7 +53,7 @@
"Authentication" : "Autenticació",
"Unknown filetype" : "Tipus de fitxer desconegut",
"Invalid image" : "Imatge no vàlida",
- "Avatar image is not square" : "La imatge de perfil no és quadrada",
+ "Avatar image is not square" : "La imatge de l'avatar no és quadrada",
"View profile" : "Visualitza el perfil",
"today" : "avui",
"tomorrow" : "demà",
@@ -65,8 +75,10 @@
"in a few seconds" : "d'aquí uns segons",
"seconds ago" : "fa uns segons",
"Empty file" : "Fitxer buit",
- "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Mòdul amb l'ID: %s no existeix. Si us plau, activeu-lo a la configuració de les aplicacions o poseu-vos en contacte amb el vostre administrador.",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Mòdul amb l'ID: %s no existeix. Si us plau, activeu-lo als paràmetres de les aplicacions o contacteu amb el vostre administrador.",
"File already exists" : "El fitxer ja existeix",
+ "Invalid path" : "Camí no vàlid",
+ "Failed to create file from template" : "No s'ha pogut crear el fitxer a partir de la plantilla",
"Templates" : "Plantilles",
"File name is a reserved word" : "El nom de fitxer és una paraula reservada",
"File name contains at least one invalid character" : "El nom del fitxer conté almenys un caràcter no vàlid",
@@ -78,22 +90,36 @@
"__language_name__" : "Català",
"This is an automatically sent email, please do not reply." : "Aquest és un correu electrònic enviat automàticament, si us plau no el respongueu.",
"Help" : "Ajuda",
+ "Appearance and accessibility" : "Aspecte i accessibilitat",
"Apps" : "Aplicacions",
+ "Personal settings" : "Paràmetres personals",
+ "Administration settings" : "Paràmetres d'administració",
"Settings" : "Paràmetres",
"Log out" : "Tanca la sessió",
"Users" : "Usuaris",
"Email" : "Correu",
+ "Mail %s" : "Correu %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Veure %s al fediverse",
"Phone" : "Telèfon",
+ "Call %s" : "Trucada de %s",
"Twitter" : "Twitter",
+ "View %s on Twitter" : "Veure %s a Twitter",
"Website" : "Lloc web",
+ "Visit %s" : "Visiteu %s",
"Address" : "Adreça",
"Profile picture" : "Foto de perfil",
"About" : "Quant a",
"Full name" : "Nom complet",
"Headline" : "Titular",
+ "Organisation" : "Organització",
"Role" : "Càrrec",
"Unknown user" : "Usuari desconegut",
"Additional settings" : "Paràmetres addicionals",
+ "Enter the database username and name for %s" : "Introduïu el nom d'usuari i el nom de la base de dades per a %s",
+ "Enter the database username for %s" : "Introduïu el nom d'usuari de la base de dades per a %s",
+ "Enter the database name for %s" : "Introduïu el nom de la base de dades per a %s",
+ "You cannot use dots in the database name %s" : "No podeu utilitzar punts al nom de la base de dades %s",
"MySQL username and/or password not valid" : "El nom d'usuari i/o contrasenya de MySQL no són vàlids",
"You need to enter details of an existing account." : "Heu d’introduir els detalls d’un compte existent.",
"Oracle connection could not be established" : "No s'ha pogut establir la connexió Oracle",
@@ -101,25 +127,32 @@
"PostgreSQL username and/or password not valid" : "Nom d'usuari i/o contrasenya de PostgreSQL no vàlids",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X no té suport i %s no funcionarà correctament en aquesta plataforma. Feu-lo servir al vostre propi risc! ",
"For the best results, please consider using a GNU/Linux server instead." : "Per obtenir els millors resultats, si us plau plantegeu-vos fer servir un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Sembla que aquesta instància %s s'està executant en un entorn PHP de 32 bits i l'open_basedir s'ha configurat a php.ini. Això comportarà problemes amb fitxers de més de 4 GB i està molt poc recomanat.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Si us plau, suprimiu l’opció open_basedir del vostre php.ini o canvieu a PHP de 64 bits.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Sembla que aquesta instància %s s'està executant en un entorn PHP de 32 bits. Cal 64 bits per a 26 o superior.",
+ "Please switch to 64-bit PHP." : "Si us plau, canvieu a PHP de 64 bits.",
"Set an admin username." : "Establiu un nom d'usuari per l'administrador.",
"Set an admin password." : "Establiu una contrasenya per l'administrador.",
+ "Cannot create or write into the data directory %s" : "No es pot crear ni escriure al directori de dades %s",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El rerefons de compartició %s ha d'implementar la interfície OCP\\Share_Backend",
"Sharing backend %s not found" : "El rerefons de compartició %s no s'ha trobat",
"Sharing backend for %s not found" : "El rerefons de compartició per a %s no s'ha trobat",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s us ha compartit »%2$s« i vol afegir:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s us ha compartit »%2$s« i vol afegir",
- "»%s« added a note to a file shared with you" : "»%s« ha afegit una anotació a un fitxer amb qui teniu compartit",
+ "»%s« added a note to a file shared with you" : "»%s« ha afegit una nota a un fitxer amb qui teniu compartit",
"Open »%s«" : "Obre »%s«",
"%1$s via %2$s" : "%1$s mitjançant %2$s",
"You are not allowed to share %s" : "No se us permet compartir %s",
+ "Cannot increase permissions of %s" : "No es poden augmentar els permisos de %s",
+ "Files cannot be shared with delete permissions" : "Els fitxers no es poden compartir amb permisos de supresió",
+ "Files cannot be shared with create permissions" : "Els fitxers no es poden compartir amb permisos de creació",
"Expiration date is in the past" : "La data de caducitat és del passat",
+ "_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["No es pot establir la data de caducitat més de %n dia en el futur","No es pot establir la data de caducitat més de %n dies en el futur"],
+ "Sharing is only allowed with group members" : "Només es permet compartir amb els membres del grup",
"Sharing %s failed, because this item is already shared with user %s" : "No s'ha pogut compartir %s, perquè l'element ja està compartit amb l'usuari %s",
"%1$s shared »%2$s« with you" : "%1$s us ha compartit »%2$s«",
"%1$s shared »%2$s« with you." : "%1$s us ha compartit »%2$s«.",
"Click the button below to open it." : "Feu clic al botó de sota per obrir-lo.",
"The requested share does not exist anymore" : "La compartició sol·licitada ja no existeix",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "L'usuari no s'ha creat perquè s'ha arribat al límit d'usuaris. Comproveu les vostres notificacions per obtenir més informació.",
"Could not find category \"%s\"" : "No s'ha trobat la categoria \"%s\"",
"Sunday" : "Diumenge",
"Monday" : "Dilluns",
@@ -166,36 +199,56 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Des.",
- "The user limit has been reached and the user was not created." : "S'ha assolit el límit d'usuari i no s'ha creat l'usuari.",
+ "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida",
+ "The username is already being used" : "El nom d'usuari ja està en ús",
+ "Could not create user" : "No s'ha pogut crear l'usuari",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Només es permeten els següents caràcters en un nom d’usuari: \"a-z\", \"A-Z\", \"0-9\" i \"_.@-'\"",
"A valid username must be provided" : "Heu de facilitar un nom d'usuari vàlid",
"Username contains whitespace at the beginning or at the end" : "El nom d’usuari conté espais en blanc al principi o al final",
"Username must not consist of dots only" : "El nom d'usuari no pot està format només per punts",
"Username is invalid because files already exist for this user" : "El nom d'usuari no és vàlid perquè els fitxers ja existeixen per a aquest usuari",
- "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida",
- "The username is already being used" : "El nom d'usuari ja està en ús",
- "Could not create user" : "No s'ha pogut crear l'usuari",
- "User disabled" : "Usuari desactivat",
- "Login canceled by app" : "Accés cancel·lat per l'App",
+ "User disabled" : "Usuari inhabilitat",
+ "Login canceled by app" : "Inici de sessió cancel·lat per aplicació",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'aplicació \"%1$s\" no es pot instal·lar perquè no es compleixen les dependències següents: %2$s",
"a safe home for all your data" : "un lloc segur per a les vostres dades",
"File is currently busy, please try again later" : "El fitxer està ocupat actualment, si us plau torneu-ho a provar més tard",
- "Application is not enabled" : "L'aplicació no està activada",
+ "Cannot download file" : "No es pot baixar el fitxer",
+ "Application is not enabled" : "L'aplicació no està habilitada",
"Authentication error" : "Error d'autenticació",
- "Token expired. Please reload page." : "El testimoni ha expirat. Torneu a carregar la pàgina.",
+ "Token expired. Please reload page." : "El testimoni ha caducat. Torneu a carregar la pàgina.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No hi ha instal·lats controladors de bases de dades (sqlite, mysql o postgresql).",
+ "Cannot write into \"config\" directory." : "No es pot escriure al directori \"config\".",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Això normalment es pot solucionar donant accés d'escriptura al servidor web al directori de configuració. Veure %s",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "O, si preferiu mantenir el fitxer config.php només de lectura, establiu-hi l’opció \"config_is_read_only\" com a certa (true). Vegeu %s",
+ "Cannot write into \"apps\" directory." : "No es pot escriure al directori \"apps”.",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Normalment, això es pot solucionar donant accés d'escriptura al servidor web al directori d'aplicacions o desactivant el Magatzem d’Aplicacions al fitxer de configuració.",
+ "Cannot create \"data\" directory." : "No es pot crear el directori \"data”.",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Això normalment es pot solucionar donant accés d'escriptura al servidor web al directori arrel. Veure %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Normalment, els permisos es poden corregir donant accés d'escriptura al servidor web al directori arrel. Vegeu %s.",
+ "Your data directory is not writable." : "El vostre directori de dades no es pot escriure.",
+ "Setting locale to %s failed." : "No s'ha pogut establir el paràmetre local com a %s.",
+ "Please install one of these locales on your system and restart your web server." : "Si us plau, instal·leu un d'aquests fitxers de localització en el vostre sistema, i reinicieu el vostre servidor web.",
"PHP module %s not installed." : "El mòdul PHP %s no està instal·lat.",
"Please ask your server administrator to install the module." : "Si us plau, demaneu a l'administrador del sistema que instal·li el mòdul.",
"PHP setting \"%s\" is not set to \"%s\"." : "El paràmetre de PHP \"%s\" no està configurat a \"%s\".",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Ajustant aquest paràmetre a php.ini, tornarà a funcionar Nextcloud",
- "libxml2 2.7.0 is at least required. Currently %s is installed." : "es requereix com a mínim libxml2 2.7.0. Actualment hi ha instal·lat %s.",
- "To fix this issue update your libxml2 version and restart your web server." : "Per solucionar aquest problema actualitzeu la vostra versió de libxml2 i reinicieu el servidor web.",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> s'estableix en <code>%s</code> en lloc del valor esperat <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "Per solucionar aquest error configureu <code>mbstring.func_overload</code> a <code>0</code> en el vostre php.ini.",
+ "libxml2 2.7.0 is at least required. Currently %s is installed." : "cal com a mínim libxml2 2.7.0. Actualment hi ha instal·lat %s.",
+ "To fix this issue update your libxml2 version and restart your web server." : "Per solucionar aquest error actualitzeu la vostra versió de libxml2 i reinicieu el servidor web.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Sembla que PHP està configurat per suprimir els blocs de documents en línia. Això farà que diverses aplicacions principals no siguin accessibles.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Això probablement està provocat per un mecanisme de memòria cau/accelerador com Zend OPcache o eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "S'han instal·lat mòduls PHP, però encara es llisten com una mancança?",
"Please ask your server administrator to restart the web server." : "Si us plau, demaneu a l'administrador que reiniciï el servidor web.",
+ "The required %s config variable is not configured in the config.php file." : "La variable de configuració necessària %s no està configurada al fitxer config.php.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Si us plau, demaneu al vostre administrador del servidor que comprovi la configuració de Nextcloud.",
+ "PostgreSQL >= 9 required." : "Cal PostgreSQL >= 9.",
+ "Please upgrade your database version." : "Si us plau, actualitzeu la versió de la vostra base de dades.",
+ "Your data directory is readable by other users." : "El vostre directori de dades és llegible per altres usuaris.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Si us plau, canvieu els permisos a 0770 per tal que el directori no pugui ser llistat per altres usuaris.",
+ "Your data directory must be an absolute path." : "El vostre directori de dades ha de ser un camí absolut.",
+ "Check the value of \"datadirectory\" in your configuration." : "Comproveu el valor de \"datadirectory\" a la vostra configuració.",
+ "Your data directory is invalid." : "El vostre directori de dades no és vàlid.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Assegureu-vos que hi ha un fitxer anomenat \".ocdata\" a l’arrel del directori de dades.",
"Action \"%s\" not supported or implemented." : "L'acció \"%s\" no està suportada o implementada.",
"Authentication failed, wrong token or provider ID given" : "Ha fallat l’autenticació, s’ha donat un identificador de proveïdor o un testimoni incorrecte",
@@ -213,11 +266,16 @@
"%s enter the database username." : "%s escriviu el nom d'usuari de la base de dades.",
"%s enter the database name." : "%s escriviu el nom de la base de dades.",
"%s you may not use dots in the database name" : "%s no podeu fer servir punts en el nom de la base de dades",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Sembla que aquesta instància %s s'està executant en un entorn PHP de 32 bits i l'open_basedir s'ha configurat a php.ini. Això comportarà problemes amb fitxers de més de 4 GB i està molt poc recomanat.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Si us plau, suprimiu el paràmetre open_basedir del vostre php.ini o canvieu a PHP de 64 bits.",
+ "The user limit has been reached and the user was not created." : "S'ha assolit el límit d'usuari i no s'ha creat l'usuari.",
+ "Cannot read file" : "No es pot llegir el fitxer",
"Cannot write into \"config\" directory" : "No es pot escriure al directori \"config\"",
- "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Això normalment es pot solucionar donant al servidor web permís d'escriptura al directori de configuració. Vegeu %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Això normalment es pot solucionar donant al servidor web accés d'escriptura al directori de configuració. Vegeu %s",
"Cannot write into \"apps\" directory" : "No es pot escriure al directori \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "Normalment, això es pot solucionar donant accés d'escriptura al servidor web al directori d'aplicacions o desactivant el Magatzem d’Aplicacions al fitxer de configuració.",
"Cannot create \"data\" directory" : "No es pot crear el directori \"data\"",
- "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Això normalment es pot solucionar donant al servidor web permís d'escriptura al directori arrel. Vegeu %s",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Això normalment es pot solucionar donant al servidor web accés d'escriptura al directori arrel. Vegeu %s",
"Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Els permisos generalment es poden solucionar donant al servidor web accés d’escriptura al directori arrel. Vegeu %s.",
"Setting locale to %s failed" : "Ha fallat l'establiment a l'idioma %s",
"Please install one of these locales on your system and restart your webserver." : "Si us plau, instal·leu un d'aquests fitxers de localització en el vostre sistema, i reinicieu el vostre servidor web.",
@@ -228,6 +286,7 @@
"Your data directory is readable by other users" : "El vostre directori de dades és llegible per altres usuaris",
"Your data directory must be an absolute path" : "El vostre directori de dades ha de ser un camí absolut",
"Check the value of \"datadirectory\" in your configuration" : "Comproveu el valor de \"datadirectory\" a la vostra configuració",
- "Your data directory is invalid" : "El vostre directori de dades no és vàlid"
+ "Your data directory is invalid" : "El vostre directori de dades no és vàlid",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "S'ha arribat al límit d'usuaris i l'usuari no s'ha creat. Comproveu les vostres notificacions per obtenir més informació."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/lib/l10n/cs.js b/lib/l10n/cs.js
index 8727ebc17c2..9ecbb4dfef3 100644
--- a/lib/l10n/cs.js
+++ b/lib/l10n/cs.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Soubory aplikace %1$s nebyly nahrazeny řádně. Ověřte, že se jedná o verzi, která je kompatibilní se serverem.",
"Sample configuration detected" : "Bylo zjištěno setrvání u předváděcího nastavení",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Pravděpodobně byla zkopírována nastavení ze vzorových souborů. Toto není podporováno a může poškodit vaši instalaci. Před prováděním změn v souboru config.php si přečtěte dokumentaci",
+ "404" : "404",
+ "The page could not be found on the server." : "Stránka nebyla na serveru nalezena.",
"%s email verification" : "%s ověřování e-mailem",
"Email verification" : "Ověřování e-mailem",
"Click the following button to confirm your email." : "Pokud chcete potvrdit svůj e-mail, klikněte na následující tlačítko.",
@@ -78,7 +80,7 @@ OC.L10N.register(
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Modul s identifikátorem: %s neexistuje. Povolte ho v nastavení aplikací, nebo se obraťte na správce.",
"File already exists" : "Soubor už existuje",
"Invalid path" : "Neplatný popis umístění",
- "Failed to create file from template" : "Vytvoření souboru ze šablony selhalo",
+ "Failed to create file from template" : "Vytvoření souboru ze šablony se nezdařilo",
"Templates" : "Šablony",
"File name is a reserved word" : "Název souboru je rezervované slovo",
"File name contains at least one invalid character" : "Název souboru obsahuje přinejmenším jeden neplatný znak",
@@ -99,6 +101,8 @@ OC.L10N.register(
"Users" : "Uživatelé",
"Email" : "E-mail",
"Mail %s" : "Poslat e-mail %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Zobrazit %s na fediverse",
"Phone" : "Telefon",
"Call %s" : "Zavolat %s",
"Twitter" : "Twitter",
@@ -125,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Neplatné uživatelské jméno a/nebo heslo do PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "macOS není podporován a %s nebude na této platformě správně fungovat. Používejte pouze na vlastní nebezpečí!",
"For the best results, please consider using a GNU/Linux server instead." : "Místo toho zvažte pro nejlepší funkčnost použití GNU/Linux serveru.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Zdá se, že tato instance %s je provozována v 32-bitovém PHP prostředí a v php.ini je nastavena volba open_basedir. Toto povede k problémům se soubory většími než 4 GB a silně není doporučováno.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Odstraňte z php.ini nastavení volby open_basedir nebo přejděte na 64-bitové PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Zdá se, že tato instance %s je provozována v 32bitovém prostředí PHP. Pro Nextcloud verze 26 a novější je zapotřebí 64bitového.",
+ "Please switch to 64-bit PHP." : "Přejděte na 64bitové PHP",
"Set an admin username." : "Nastavte uživatelské jméno správce.",
"Set an admin password." : "Nastavte heslo pro účet správce.",
"Cannot create or write into the data directory %s" : "Nedaří se vytvořit nebo zapisovat do datového adresáře %s",
@@ -150,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s vám nasdílel(a) „%2$s“.",
"Click the button below to open it." : "Pro otevření klikněte na tlačítko níže.",
"The requested share does not exist anymore" : "Požadované sdílení už neexistuje",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Uživatel nebyl vytvořen protože bylo dosaženo limitu počtu uživatelů. Více se dozvíte v upozorněních.",
"Could not find category \"%s\"" : "Nedaří se nalézt kategorii „%s“",
"Sunday" : "neděle",
"Monday" : "pondělí",
@@ -196,15 +201,14 @@ OC.L10N.register(
"Oct." : "říj.",
"Nov." : "list.",
"Dec." : "pro.",
- "The user limit has been reached and the user was not created." : "Bylo dosaženo limitu počtu uživatelů a uživatel proto nebyl vytvořen.",
+ "A valid password must be provided" : "Je třeba zadat platné heslo",
+ "The username is already being used" : "Uživatelské jméno už je využíváno",
+ "Could not create user" : "Nepodařilo se vytvořit uživatele",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Pouze následující znaky jsou povoleny pro uživatelské jméno: „a-z“, „A-Z“, „0-9“, a „_.@-'“",
"A valid username must be provided" : "Je třeba zadat platné uživatelské jméno",
"Username contains whitespace at the beginning or at the end" : "Uživatelské jméno je chybné – na jeho začátku či konci se nachází prázdný znak (mezera, tabulátor, atp.)",
"Username must not consist of dots only" : "Uživatelské jméno se nemůže skládat pouze ze samých teček",
"Username is invalid because files already exist for this user" : "Uživatelské jméno není platné, protože protože pro tohoto uživatele už existují soubory",
- "A valid password must be provided" : "Je třeba zadat platné heslo",
- "The username is already being used" : "Uživatelské jméno už je využíváno",
- "Could not create user" : "Nepodařilo se vytvořit uživatele",
"User disabled" : "Uživatel zakázán",
"Login canceled by app" : "Přihlášení zrušeno aplikací",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikaci „%1$s“ nelze nainstalovat, protože nejsou splněny následující závislosti: %2$s",
@@ -264,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "Zadejte uživatelské jméno %s databáze.",
"%s enter the database name." : "Zadejte název databáze pro %s databázi.",
"%s you may not use dots in the database name" : "V názvu databáze %s není možné používat tečky.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Zdá se, že tato instance %s je provozována v 32-bitovém PHP prostředí a v php.ini je nastavena volba open_basedir. Toto povede k problémům se soubory většími než 4 GB a silně není doporučováno.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Odstraňte z php.ini nastavení volby open_basedir nebo přejděte na 64-bitové PHP.",
+ "The user limit has been reached and the user was not created." : "Bylo dosaženo limitu počtu uživatelů a uživatel proto nebyl vytvořen.",
"Cannot read file" : "Nelze přečíst soubor",
"Cannot write into \"config\" directory" : "Nelze zapisovat do adresáře „config“",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Toto obvykle lze vyřešit udělením oprávnění k zápisu do kořenové složky webu pro účet, pod kterým je provozován webový server. Viz %s",
@@ -281,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Váš adresář data je čitelný ostatním uživatelům",
"Your data directory must be an absolute path" : "Je třeba, aby váš adresář data byl zadán jako úplný popis umístění",
"Check the value of \"datadirectory\" in your configuration" : "Zkontrolujte hodnotu „datadirectory“ ve svém nastavení",
- "Your data directory is invalid" : "Váš adresář data není plantý"
+ "Your data directory is invalid" : "Váš adresář data není plantý",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Bylo dosaženo limitu počtu uživatelů a uživatel proto nebyl vytvořen. Podrobnosti viz upozornění pro vás."
},
"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/lib/l10n/cs.json b/lib/l10n/cs.json
index 97095312c2c..43ae9691480 100644
--- a/lib/l10n/cs.json
+++ b/lib/l10n/cs.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Soubory aplikace %1$s nebyly nahrazeny řádně. Ověřte, že se jedná o verzi, která je kompatibilní se serverem.",
"Sample configuration detected" : "Bylo zjištěno setrvání u předváděcího nastavení",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Pravděpodobně byla zkopírována nastavení ze vzorových souborů. Toto není podporováno a může poškodit vaši instalaci. Před prováděním změn v souboru config.php si přečtěte dokumentaci",
+ "404" : "404",
+ "The page could not be found on the server." : "Stránka nebyla na serveru nalezena.",
"%s email verification" : "%s ověřování e-mailem",
"Email verification" : "Ověřování e-mailem",
"Click the following button to confirm your email." : "Pokud chcete potvrdit svůj e-mail, klikněte na následující tlačítko.",
@@ -76,7 +78,7 @@
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Modul s identifikátorem: %s neexistuje. Povolte ho v nastavení aplikací, nebo se obraťte na správce.",
"File already exists" : "Soubor už existuje",
"Invalid path" : "Neplatný popis umístění",
- "Failed to create file from template" : "Vytvoření souboru ze šablony selhalo",
+ "Failed to create file from template" : "Vytvoření souboru ze šablony se nezdařilo",
"Templates" : "Šablony",
"File name is a reserved word" : "Název souboru je rezervované slovo",
"File name contains at least one invalid character" : "Název souboru obsahuje přinejmenším jeden neplatný znak",
@@ -97,6 +99,8 @@
"Users" : "Uživatelé",
"Email" : "E-mail",
"Mail %s" : "Poslat e-mail %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Zobrazit %s na fediverse",
"Phone" : "Telefon",
"Call %s" : "Zavolat %s",
"Twitter" : "Twitter",
@@ -123,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "Neplatné uživatelské jméno a/nebo heslo do PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "macOS není podporován a %s nebude na této platformě správně fungovat. Používejte pouze na vlastní nebezpečí!",
"For the best results, please consider using a GNU/Linux server instead." : "Místo toho zvažte pro nejlepší funkčnost použití GNU/Linux serveru.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Zdá se, že tato instance %s je provozována v 32-bitovém PHP prostředí a v php.ini je nastavena volba open_basedir. Toto povede k problémům se soubory většími než 4 GB a silně není doporučováno.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Odstraňte z php.ini nastavení volby open_basedir nebo přejděte na 64-bitové PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Zdá se, že tato instance %s je provozována v 32bitovém prostředí PHP. Pro Nextcloud verze 26 a novější je zapotřebí 64bitového.",
+ "Please switch to 64-bit PHP." : "Přejděte na 64bitové PHP",
"Set an admin username." : "Nastavte uživatelské jméno správce.",
"Set an admin password." : "Nastavte heslo pro účet správce.",
"Cannot create or write into the data directory %s" : "Nedaří se vytvořit nebo zapisovat do datového adresáře %s",
@@ -148,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s vám nasdílel(a) „%2$s“.",
"Click the button below to open it." : "Pro otevření klikněte na tlačítko níže.",
"The requested share does not exist anymore" : "Požadované sdílení už neexistuje",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Uživatel nebyl vytvořen protože bylo dosaženo limitu počtu uživatelů. Více se dozvíte v upozorněních.",
"Could not find category \"%s\"" : "Nedaří se nalézt kategorii „%s“",
"Sunday" : "neděle",
"Monday" : "pondělí",
@@ -194,15 +199,14 @@
"Oct." : "říj.",
"Nov." : "list.",
"Dec." : "pro.",
- "The user limit has been reached and the user was not created." : "Bylo dosaženo limitu počtu uživatelů a uživatel proto nebyl vytvořen.",
+ "A valid password must be provided" : "Je třeba zadat platné heslo",
+ "The username is already being used" : "Uživatelské jméno už je využíváno",
+ "Could not create user" : "Nepodařilo se vytvořit uživatele",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Pouze následující znaky jsou povoleny pro uživatelské jméno: „a-z“, „A-Z“, „0-9“, a „_.@-'“",
"A valid username must be provided" : "Je třeba zadat platné uživatelské jméno",
"Username contains whitespace at the beginning or at the end" : "Uživatelské jméno je chybné – na jeho začátku či konci se nachází prázdný znak (mezera, tabulátor, atp.)",
"Username must not consist of dots only" : "Uživatelské jméno se nemůže skládat pouze ze samých teček",
"Username is invalid because files already exist for this user" : "Uživatelské jméno není platné, protože protože pro tohoto uživatele už existují soubory",
- "A valid password must be provided" : "Je třeba zadat platné heslo",
- "The username is already being used" : "Uživatelské jméno už je využíváno",
- "Could not create user" : "Nepodařilo se vytvořit uživatele",
"User disabled" : "Uživatel zakázán",
"Login canceled by app" : "Přihlášení zrušeno aplikací",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikaci „%1$s“ nelze nainstalovat, protože nejsou splněny následující závislosti: %2$s",
@@ -262,6 +266,9 @@
"%s enter the database username." : "Zadejte uživatelské jméno %s databáze.",
"%s enter the database name." : "Zadejte název databáze pro %s databázi.",
"%s you may not use dots in the database name" : "V názvu databáze %s není možné používat tečky.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Zdá se, že tato instance %s je provozována v 32-bitovém PHP prostředí a v php.ini je nastavena volba open_basedir. Toto povede k problémům se soubory většími než 4 GB a silně není doporučováno.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Odstraňte z php.ini nastavení volby open_basedir nebo přejděte na 64-bitové PHP.",
+ "The user limit has been reached and the user was not created." : "Bylo dosaženo limitu počtu uživatelů a uživatel proto nebyl vytvořen.",
"Cannot read file" : "Nelze přečíst soubor",
"Cannot write into \"config\" directory" : "Nelze zapisovat do adresáře „config“",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Toto obvykle lze vyřešit udělením oprávnění k zápisu do kořenové složky webu pro účet, pod kterým je provozován webový server. Viz %s",
@@ -279,6 +286,7 @@
"Your data directory is readable by other users" : "Váš adresář data je čitelný ostatním uživatelům",
"Your data directory must be an absolute path" : "Je třeba, aby váš adresář data byl zadán jako úplný popis umístění",
"Check the value of \"datadirectory\" in your configuration" : "Zkontrolujte hodnotu „datadirectory“ ve svém nastavení",
- "Your data directory is invalid" : "Váš adresář data není plantý"
+ "Your data directory is invalid" : "Váš adresář data není plantý",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Bylo dosaženo limitu počtu uživatelů a uživatel proto nebyl vytvořen. Podrobnosti viz upozornění pro vás."
},"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/lib/l10n/da.js b/lib/l10n/da.js
index 9c76d5aa9ed..5b4b81cea3b 100644
--- a/lib/l10n/da.js
+++ b/lib/l10n/da.js
@@ -2,23 +2,60 @@ OC.L10N.register(
"lib",
{
"Cannot write into \"config\" directory!" : "Kan ikke skrive til mappen \"config\"!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Dette kan normalt rettes ved at give webserveren skriveadgang til config folderen.",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Men hvis du foretrækker at bibeholde config.php skrivebeskyttet, så sæt parameter \"config_is_read_only\" til true i filen. ",
"See %s" : "Se %s",
+ "The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Filerne tilhørende appen %1$s blev ikke erstattet korrekt. Check at versionen er kompatibel med serveren.",
"Sample configuration detected" : "Eksempel for konfiguration registreret",
- "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Der er registreret at eksempel for konfiguration er blevet kopieret. Dette kan ødelægge din installation og understøttes ikke. Læs venligst dokumentationen før der foretages ændringer i config.php",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Der er registreret at konfigurations eksemplet er blevet kopieret direkte. Dette kan ødelægge din installation og understøttes ikke. Læs venligst dokumentationen før der foretages ændringer i config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Siden kunne ikke findes på serveren.",
+ "%s email verification" : "%s email verifikation",
+ "Email verification" : "Email verifikation",
+ "Click the following button to confirm your email." : "Tryk på følgende knap for at bekræfte din email.",
+ "Click the following link to confirm your email." : "Klik på følgende link for at bekræfte din email.",
+ "Confirm your email" : "Bekræft din email",
"Other activities" : "Andre aktiviteter",
"%1$s and %2$s" : "%1$s og %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s og %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s og %4$s",
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s og %5$s",
+ "Education Edition" : "Education Edition",
+ "Enterprise bundle" : "Enterprise bundle",
+ "Groupware bundle" : "Groupware bundle",
+ "Hub bundle" : "Hub bundle",
+ "Social sharing bundle" : "Social sharing bundle",
"PHP %s or higher is required." : "Der kræves PHP %s eller nyere.",
"PHP with a version lower than %s is required." : "Der kræves PHP %s eller ældre.",
+ "%sbit or higher PHP required." : "Der kræves PHP %s eller nyere.",
+ "The following architectures are supported: %s" : "Følgende arkitekturer er understøttes: %s",
+ "The following databases are supported: %s" : "Følgende databaser understøttes: %s",
"The command line tool %s could not be found" : "Kommandolinjeværktøjet %s blev ikke fundet",
"The library %s is not available." : "Biblioteket %s er ikke tilgængeligt.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Der kræves en version af biblioteket %1$s, der er højere end %2$s - tilgængelig version er %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Der kræves en version af biblioteket %1$s, der er lavere end %2$s - tilgængelig version er %3$s.",
+ "The following platforms are supported: %s" : "Følgende platforme understøttes: %s",
"Server version %s or higher is required." : "Du skal have server version %s eller nyere.",
"Server version %s or lower is required." : "Du skal have server version %s eller ældre.",
+ "Logged in user must be an admin, a sub admin or gotten special right to access this setting" : "Bruger skal være administrator, underadministrator eller have tildelt specielle rettigheder for at have adgang til denne indstilling",
+ "Logged in user must be an admin or sub admin" : "Bruger skal være administrator eller underadministrator",
+ "Logged in user must be an admin" : "Brugeren skal være administrator",
+ "Wiping of device %s has started" : "Komplet sletning af enhed %s er påbegyndt",
+ "Wiping of device »%s« has started" : "Komplet sletning af enhed »%s« er påbegyndt",
+ "»%s« started remote wipe" : "Fjernsletning påbegyndt af »%s« ",
+ "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "Enheden eller applikationen »%s« har påbegyndt en fjernsletnings proces. Du vil modtage en e-mail når processen er færdig",
+ "Wiping of device %s has finished" : "Komplet sletning af enhed %s er færdig",
+ "Wiping of device »%s« has finished" : "Komplet sletning af enhed »%s« er færdig",
+ "»%s« finished remote wipe" : "»%s« er færdig med fjernsletning",
+ "Device or application »%s« has finished the remote wipe process." : " Fjernsletningen der blev aktiveret af enhed alle applikation »%s« er færdig.",
+ "Remote wipe started" : "Fjernsletning er startet",
+ "A remote wipe was started on device %s" : "En fjernsletning af enheden %s er påbegyndt",
+ "Remote wipe finished" : "Fjernsletning er færdig",
+ "The remote wipe on %s has finished" : "Fjernsletningen af %s er færdig",
"Authentication" : "Godkendelse",
"Unknown filetype" : "Ukendt filtype",
"Invalid image" : "Ugyldigt billede",
+ "Avatar image is not square" : "Avatar billedet er ikke kvadratisk",
"View profile" : "Vis profil",
"today" : "i dag",
"tomorrow" : "i morgen",
@@ -39,7 +76,11 @@ OC.L10N.register(
"_%n minute ago_::_%n minutes ago_" : ["%n minut siden","%n minutter siden"],
"in a few seconds" : "om få sekunder",
"seconds ago" : "sekunder siden",
+ "Empty file" : "Tom fil",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Modulet med ID: %s eksisterer ikke. Aktiver det venligst i dine indstillinger eller kontakt din administrator.",
"File already exists" : "Filen findes allerede",
+ "Invalid path" : "Ugyldig sti",
+ "Failed to create file from template" : "Fejl ved oprettelse af fil fra skabelon",
"Templates" : "Skabeloner",
"File name is a reserved word" : "Filnavnet er et reserveret ord",
"File name contains at least one invalid character" : "Filnavnet indeholder mindst ét ugyldigt tegn",
@@ -47,17 +88,25 @@ OC.L10N.register(
"Dot files are not allowed" : "Filer med punktummer er ikke tilladt",
"Empty filename is not allowed" : "Tomme filnavne er ikke tilladt",
"App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres fordi appinfo filen ikke kan læses.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installeres fordi den ikke er kompatibel med denne version af serveren.",
"__language_name__" : "Dansk",
"This is an automatically sent email, please do not reply." : "Dette er en automatisk sendt e-mail, svar venligst ikke.",
"Help" : "Hjælp",
+ "Appearance and accessibility" : "Udseende og tilgængelighed",
"Apps" : "Apps",
+ "Personal settings" : "Personlige indstillinger",
+ "Administration settings" : "System indstillinger",
"Settings" : "Indstillinger",
"Log out" : "Log ud",
"Users" : "Brugere",
"Email" : "E-mail",
+ "Mail %s" : "Mail %s",
"Phone" : "Telefon",
+ "Call %s" : "Ring op %s",
"Twitter" : "Twitter",
+ "View %s on Twitter" : "Følg %s på Twitter",
"Website" : "Hjemmeside",
+ "Visit %s" : "Besøg %s",
"Address" : "Adresse",
"Profile picture" : "Profilbillede",
"About" : "Om",
@@ -67,25 +116,40 @@ OC.L10N.register(
"Role" : "Rolle",
"Unknown user" : "Ukendt bruger",
"Additional settings" : "Yderligere indstillinger",
+ "Enter the database username and name for %s" : "Indtast navn til databasen og brugernavn for %s",
+ "Enter the database username for %s" : "Indtast brugernavn til databasen for %s",
+ "Enter the database name for %s" : "Indtast databasenavnet for %s",
+ "You cannot use dots in the database name %s" : "Du må ikke bruge punktummer i databasenavnet %s",
+ "MySQL username and/or password not valid" : "MySQL brugernavn og/eller kodeord er ikke gyldigt",
+ "You need to enter details of an existing account." : "Du skal indtaste detaljerne for en eksisterende konto.",
"Oracle connection could not be established" : "Oracle forbindelsen kunne ikke etableres",
"Oracle username and/or password not valid" : "Oracle brugernavn og/eller kodeord er ikke gyldigt.",
"PostgreSQL username and/or password not valid" : "PostgreSQL brugernavn og/eller kodeord er ikke gyldigt.",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X understøttes ikke og %s vil ikke virke optimalt på denne platform. Anvend på eget ansvar!",
"For the best results, please consider using a GNU/Linux server instead." : "For de bedste resultater, overvej venligst at bruge en GNU/Linux-server i stedet.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det ser ud til, at denne %s-instans kører på et 32-bit PHP-miljø, samt at open_basedir er blevet konfigureret gennem php.ini. Dette vil føre til problemer med filer som er større end 4GB, og frarådes kraftigt.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjern venligst indstillingen for open_basedir inde i din php.ini eller skift til 64-bit PHP.",
"Set an admin username." : "Angiv et admin brugernavn.",
"Set an admin password." : "Angiv et admin kodeord.",
+ "Cannot create or write into the data directory %s" : "Kan ikke oprette eller skrive ind i datamappen %s",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Delingsbackend'en %s skal implementere grænsefladen OCP\\Share_Backend",
"Sharing backend %s not found" : "Delingsbackend'en %s blev ikke fundet",
"Sharing backend for %s not found" : "Delingsbackend'en for %s blev ikke fundet",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s delte »%2$s« med dig og vil gerne tilføje:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s delte »%2$s« med dig og vil gerne tilføje",
+ "»%s« added a note to a file shared with you" : "»%s« tilføjede en note til en fil delt med dig",
"Open »%s«" : "Åbn »%s«",
"%1$s via %2$s" : "%1$s via %2$s",
"You are not allowed to share %s" : "Du har ikke tilladelse til at dele %s",
"Cannot increase permissions of %s" : "Kan give yderigere rettigheder til %s",
+ "Files cannot be shared with delete permissions" : "Filer kan ikke deles med rettigheder til at slette",
+ "Files cannot be shared with create permissions" : "Filer kan ikke deles med rettigheder til at oprette",
"Expiration date is in the past" : "Udløbsdatoen ligger tilbage i tid",
+ "_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Udløbsdato kan ikke sættes mere end %n dag ud i fremtiden","Udløbsdato kan ikke sættes mere end %n dage ud i fremtiden"],
+ "Sharing is only allowed with group members" : "Deling er kun tilladt med gruppemedlemmer",
"Sharing %s failed, because this item is already shared with user %s" : "Deling af %s mislykkedes, fordi dette element allerede er delt med brugeren %s",
+ "%1$s shared »%2$s« with you" : "%1$s delte »%2$s« med dig",
+ "%1$s shared »%2$s« with you." : "%1$s delte »%2$s« med dig",
"Click the button below to open it." : "Klik på knappen nedenunder for at åbne.",
+ "The requested share does not exist anymore" : "Det delte emne eksisterer ikke længere",
"Could not find category \"%s\"" : "Kunne ikke finde kategorien \"%s\"",
"Sunday" : "Søndag",
"Monday" : "Mandag",
@@ -97,7 +161,7 @@ OC.L10N.register(
"Sun." : "Søn.",
"Mon." : "Man.",
"Tue." : "Tir.",
- "Wed." : ".",
+ "Wed." : "Ons.",
"Thu." : "Tor.",
"Fri." : "Fre.",
"Sat." : "Lør.",
@@ -121,10 +185,10 @@ OC.L10N.register(
"November" : "November",
"December" : "December",
"Jan." : "Jan.",
- "Feb." : "eb.",
+ "Feb." : "Feb.",
"Mar." : "Mar.",
"Apr." : "Apr.",
- "May." : "Maj",
+ "May." : "Maj.",
"Jun." : "Jun.",
"Jul." : "Jul.",
"Aug." : "Aug.",
@@ -132,44 +196,94 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
+ "A valid password must be provided" : "En gyldig adgangskode skal angives",
+ "The username is already being used" : "Brugernavnet er allerede i brug",
+ "Could not create user" : "Kunne ikke oprette bruger",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kun følgende tegn kan indgå i et brugernavn: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Et gyldigt brugernavn skal angives",
"Username contains whitespace at the beginning or at the end" : "Brugernavnet har et mellemrum i starten eller slutningen",
- "A valid password must be provided" : "En gyldig adgangskode skal angives",
- "The username is already being used" : "Brugernavnet er allerede i brug",
+ "Username must not consist of dots only" : "Brugernavnet må ikke bestå af rene prikker/punktummer",
+ "Username is invalid because files already exist for this user" : "Brugernavnet er ugyldigt, da der allerede eksisterer filer for denne bruger",
"User disabled" : "Bruger deaktiveret",
"Login canceled by app" : "Login annulleret af app",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Appen \"%1$s\" kan ikke installeres, da følgende afhængigheder ikke imødekommes: %2$s",
"a safe home for all your data" : "et sikkert hjem til alle dine data",
"File is currently busy, please try again later" : "Filen er i øjeblikket optaget - forsøg igen senere",
+ "Cannot download file" : "Kan ikke downloade filen",
"Application is not enabled" : "Programmet er ikke aktiveret",
"Authentication error" : "Adgangsfejl",
"Token expired. Please reload page." : "Adgang er udløbet. Genindlæs siden.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ingen database driver (sqlite, mysql eller postgresql) er installeret.",
+ "Cannot write into \"config\" directory." : "Kan ikke skrive til mappen \"config\".",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Dette kan som regel ordnes ved at give webserveren skrive adgang til config mappen. Se %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Men hvis du foretrækker at bibeholde config.php skrivebeskyttet, så sæt parameter \"config_is_read_only\" til true i filen. Se %s",
+ "Cannot write into \"apps\" directory." : "Kan ikke skrive til mappen \"apps\".",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Dette kan som regel rettes ved at give webserveren skriveadgang til apps-mappen eller slå appstore fra i config-filen.",
+ "Cannot create \"data\" directory." : "Kan ikke oprette mappen \"data\".",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Dette kan som regel ordnes ved at give webserveren skrive adgang til rod mappen. Se %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Rettigheder kan som regel rettes ved at give webserveren skriveadgang til rodmappen. Se %s.",
+ "Your data directory is not writable." : "Data biblioteket er skrivebeskyttet.",
+ "Setting locale to %s failed." : "Angivelse af %s for lokalitet mislykkedes.",
+ "Please install one of these locales on your system and restart your web server." : "Installér venligst én af disse lokaliteter på dit system, og genstart din webserver.",
"PHP module %s not installed." : "PHP-modulet %s er ikke installeret.",
"Please ask your server administrator to install the module." : "Du bedes anmode din serveradministrator om at installere modulet.",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP-indstillingen \"%s\" er ikke angivet til \"%s\".",
+ "Adjusting this setting in php.ini will make Nextcloud run again" : "Ændring af denne indstilling i php.ini vil tillade Nextcloud at køre igen",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> er angivet til <code>%s</code>, i stedet for den forventede værdi <code>0</code>",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "For at rette dette problem, sæt <code>mbstring.func_overload</code> til <code>0</code> i din php.ini.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "libxml2 skal mindst være version 2.7.0. Du har version %s installeret.",
"To fix this issue update your libxml2 version and restart your web server." : "Opdater din libxml2 version og genstart webserveren for at løse problemet.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP er tilsyneladende sat op til at fjerne indlejrede doc-blokke. Dette vil gøre adskillige kerneprogrammer utilgængelige.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette er sansynligvis forårsaget af et accelerator eller cache som Zend OPcache eller eAccelerator",
"PHP modules have been installed, but they are still listed as missing?" : "Der er installeret PHP-moduler, men de fremstår stadig som fraværende?",
"Please ask your server administrator to restart the web server." : "Du bedes anmode din serveradministrator om at genstarte webserveren.",
+ "The required %s config variable is not configured in the config.php file." : "Den krævede config variabel %s er ikke konfigureret i config.php filen.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Du bedes anmode din serveradministrator om at kontrollere Nextcloud konfigurationen.",
+ "PostgreSQL >= 9 required." : "PostgreSQL >= 9 kræves.",
+ "Please upgrade your database version." : "Opgradér venligst din databaseversion.",
+ "Your data directory is readable by other users." : "Datamappen kan læses af andre brugere.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Tilpas venligst rettigheder til 0770, så mappen ikke fremvises for andre brugere.",
+ "Your data directory must be an absolute path." : "Datamappen skal have en absolut sti.",
+ "Check the value of \"datadirectory\" in your configuration." : "Tjek værdien for \"datadictionary\" i din konfiguration.",
+ "Your data directory is invalid." : "Datamappen er ugyldig.",
+ "Ensure there is a file called \".ocdata\" in the root of the data directory." : "Du bedes sikre at filen \".ocdata\" befinder sig i roden af din datamappe.",
+ "Action \"%s\" not supported or implemented." : "Aktiviteten \"%s\" er ikke understøttet eller implementeret.",
+ "Authentication failed, wrong token or provider ID given" : "Kunne ikke validere brugeren",
+ "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Anmodningen kunne ikke gennemføres pga. manglende parameter: \"%s\"",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "ID \"%1$s\" er allerede i brug af cloud federation provider \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "Cloud Federation Provider med ID: \"%s\" eksisterer ikke.",
"Could not obtain lock type %d on \"%s\"." : "Kunne ikke opnå en låsetype %d på \"%s\".",
+ "Storage unauthorized. %s" : "Lageret er ikke autoriseret. %s",
+ "Storage incomplete configuration. %s" : "Lageret er ikke konfigureret korrekt. %s",
+ "Storage connection error. %s" : "Forbindelses fejl til lageret. %s",
"Storage is temporarily not available" : "Lagerplads er midlertidigt ikke tilgængeligt",
+ "Storage connection timeout. %s" : "Lageret svarer ikke. %s",
+ "This can usually be fixed by giving the webserver write access to the config directory." : "Dette kan normalt rettes ved at give webserveren skriveadgang til config folderen.",
"%s enter the database username and name." : "%s indtast brugernavn og navn til databasen.",
"%s enter the database username." : "%s indtast database brugernavnet.",
"%s enter the database name." : "%s indtast database navnet.",
"%s you may not use dots in the database name" : "%s du må ikke bruge punktummer i databasenavnet.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det ser ud til, at denne %s-instans kører på et 32-bit PHP-miljø, samt at open_basedir er blevet konfigureret gennem php.ini. Dette vil føre til problemer med filer som er større end 4GB, og frarådes kraftigt.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjern venligst indstillingen for open_basedir inde i din php.ini eller skift til 64-bit PHP.",
+ "The user limit has been reached and the user was not created." : "Grænsen for brugere er nået, og den nye bruger er ikke blevet oprettet.",
+ "Cannot read file" : "Kan ikke læse filen",
"Cannot write into \"config\" directory" : "Kan ikke skrive til mappen \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dette kan som regel ordnes ved at give webserveren skrive adgang til config mappen. Se %s",
"Cannot write into \"apps\" directory" : "Kan ikke skrive til mappen \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "Dette kan som regel rettes ved at give webserveren skriveadgang til apps-mappen eller slå appstore fra i config-filen",
+ "Cannot create \"data\" directory" : "Kan ikke oprette mappen \"data\"",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dette kan som regel ordnes ved at give webserveren skrive adgang til rod mappen. Se %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Rettigheder kan som regel rettes ved at give webserveren skriveadgang til rodmappen. Se %s.",
"Setting locale to %s failed" : "Angivelse af %s for lokalitet mislykkedes",
"Please install one of these locales on your system and restart your webserver." : "Installér venligst én af disse lokaliteter på dit system, og genstart din webserver.",
"mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload er angivet til \"%s\", i stedet for den forventede værdi \"0\"",
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "For at rette dette problem, angiv\n<code>mbstring.func_overload</code> til <code>0</code> i din php.ini",
"PostgreSQL >= 9 required" : "PostgreSQL >= 9 kræves",
"Please upgrade your database version" : "Opgradér venligst din databaseversion",
- "Check the value of \"datadirectory\" in your configuration" : "Tjek værdien for \"databibliotek\" i din konfiguration"
+ "Your data directory is readable by other users" : "Datamappen kan læses af andre brugere",
+ "Your data directory must be an absolute path" : "Datamappen skal have en absolut sti",
+ "Check the value of \"datadirectory\" in your configuration" : "Tjek værdien for \"databibliotek\" i din konfiguration",
+ "Your data directory is invalid" : "Datamappen er ugyldig",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Grænsen for brugere er nået, og den nye bruger er ikke blevet oprettet. Læs dine notifikationer for at lære mere."
},
"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/da.json b/lib/l10n/da.json
index b41df5a1eab..9198baf9544 100644
--- a/lib/l10n/da.json
+++ b/lib/l10n/da.json
@@ -1,22 +1,59 @@
{ "translations": {
"Cannot write into \"config\" directory!" : "Kan ikke skrive til mappen \"config\"!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Dette kan normalt rettes ved at give webserveren skriveadgang til config folderen.",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Men hvis du foretrækker at bibeholde config.php skrivebeskyttet, så sæt parameter \"config_is_read_only\" til true i filen. ",
"See %s" : "Se %s",
+ "The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Filerne tilhørende appen %1$s blev ikke erstattet korrekt. Check at versionen er kompatibel med serveren.",
"Sample configuration detected" : "Eksempel for konfiguration registreret",
- "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Der er registreret at eksempel for konfiguration er blevet kopieret. Dette kan ødelægge din installation og understøttes ikke. Læs venligst dokumentationen før der foretages ændringer i config.php",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Der er registreret at konfigurations eksemplet er blevet kopieret direkte. Dette kan ødelægge din installation og understøttes ikke. Læs venligst dokumentationen før der foretages ændringer i config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Siden kunne ikke findes på serveren.",
+ "%s email verification" : "%s email verifikation",
+ "Email verification" : "Email verifikation",
+ "Click the following button to confirm your email." : "Tryk på følgende knap for at bekræfte din email.",
+ "Click the following link to confirm your email." : "Klik på følgende link for at bekræfte din email.",
+ "Confirm your email" : "Bekræft din email",
"Other activities" : "Andre aktiviteter",
"%1$s and %2$s" : "%1$s og %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s og %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s og %4$s",
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s og %5$s",
+ "Education Edition" : "Education Edition",
+ "Enterprise bundle" : "Enterprise bundle",
+ "Groupware bundle" : "Groupware bundle",
+ "Hub bundle" : "Hub bundle",
+ "Social sharing bundle" : "Social sharing bundle",
"PHP %s or higher is required." : "Der kræves PHP %s eller nyere.",
"PHP with a version lower than %s is required." : "Der kræves PHP %s eller ældre.",
+ "%sbit or higher PHP required." : "Der kræves PHP %s eller nyere.",
+ "The following architectures are supported: %s" : "Følgende arkitekturer er understøttes: %s",
+ "The following databases are supported: %s" : "Følgende databaser understøttes: %s",
"The command line tool %s could not be found" : "Kommandolinjeværktøjet %s blev ikke fundet",
"The library %s is not available." : "Biblioteket %s er ikke tilgængeligt.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Der kræves en version af biblioteket %1$s, der er højere end %2$s - tilgængelig version er %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Der kræves en version af biblioteket %1$s, der er lavere end %2$s - tilgængelig version er %3$s.",
+ "The following platforms are supported: %s" : "Følgende platforme understøttes: %s",
"Server version %s or higher is required." : "Du skal have server version %s eller nyere.",
"Server version %s or lower is required." : "Du skal have server version %s eller ældre.",
+ "Logged in user must be an admin, a sub admin or gotten special right to access this setting" : "Bruger skal være administrator, underadministrator eller have tildelt specielle rettigheder for at have adgang til denne indstilling",
+ "Logged in user must be an admin or sub admin" : "Bruger skal være administrator eller underadministrator",
+ "Logged in user must be an admin" : "Brugeren skal være administrator",
+ "Wiping of device %s has started" : "Komplet sletning af enhed %s er påbegyndt",
+ "Wiping of device »%s« has started" : "Komplet sletning af enhed »%s« er påbegyndt",
+ "»%s« started remote wipe" : "Fjernsletning påbegyndt af »%s« ",
+ "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "Enheden eller applikationen »%s« har påbegyndt en fjernsletnings proces. Du vil modtage en e-mail når processen er færdig",
+ "Wiping of device %s has finished" : "Komplet sletning af enhed %s er færdig",
+ "Wiping of device »%s« has finished" : "Komplet sletning af enhed »%s« er færdig",
+ "»%s« finished remote wipe" : "»%s« er færdig med fjernsletning",
+ "Device or application »%s« has finished the remote wipe process." : " Fjernsletningen der blev aktiveret af enhed alle applikation »%s« er færdig.",
+ "Remote wipe started" : "Fjernsletning er startet",
+ "A remote wipe was started on device %s" : "En fjernsletning af enheden %s er påbegyndt",
+ "Remote wipe finished" : "Fjernsletning er færdig",
+ "The remote wipe on %s has finished" : "Fjernsletningen af %s er færdig",
"Authentication" : "Godkendelse",
"Unknown filetype" : "Ukendt filtype",
"Invalid image" : "Ugyldigt billede",
+ "Avatar image is not square" : "Avatar billedet er ikke kvadratisk",
"View profile" : "Vis profil",
"today" : "i dag",
"tomorrow" : "i morgen",
@@ -37,7 +74,11 @@
"_%n minute ago_::_%n minutes ago_" : ["%n minut siden","%n minutter siden"],
"in a few seconds" : "om få sekunder",
"seconds ago" : "sekunder siden",
+ "Empty file" : "Tom fil",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Modulet med ID: %s eksisterer ikke. Aktiver det venligst i dine indstillinger eller kontakt din administrator.",
"File already exists" : "Filen findes allerede",
+ "Invalid path" : "Ugyldig sti",
+ "Failed to create file from template" : "Fejl ved oprettelse af fil fra skabelon",
"Templates" : "Skabeloner",
"File name is a reserved word" : "Filnavnet er et reserveret ord",
"File name contains at least one invalid character" : "Filnavnet indeholder mindst ét ugyldigt tegn",
@@ -45,17 +86,25 @@
"Dot files are not allowed" : "Filer med punktummer er ikke tilladt",
"Empty filename is not allowed" : "Tomme filnavne er ikke tilladt",
"App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres fordi appinfo filen ikke kan læses.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installeres fordi den ikke er kompatibel med denne version af serveren.",
"__language_name__" : "Dansk",
"This is an automatically sent email, please do not reply." : "Dette er en automatisk sendt e-mail, svar venligst ikke.",
"Help" : "Hjælp",
+ "Appearance and accessibility" : "Udseende og tilgængelighed",
"Apps" : "Apps",
+ "Personal settings" : "Personlige indstillinger",
+ "Administration settings" : "System indstillinger",
"Settings" : "Indstillinger",
"Log out" : "Log ud",
"Users" : "Brugere",
"Email" : "E-mail",
+ "Mail %s" : "Mail %s",
"Phone" : "Telefon",
+ "Call %s" : "Ring op %s",
"Twitter" : "Twitter",
+ "View %s on Twitter" : "Følg %s på Twitter",
"Website" : "Hjemmeside",
+ "Visit %s" : "Besøg %s",
"Address" : "Adresse",
"Profile picture" : "Profilbillede",
"About" : "Om",
@@ -65,25 +114,40 @@
"Role" : "Rolle",
"Unknown user" : "Ukendt bruger",
"Additional settings" : "Yderligere indstillinger",
+ "Enter the database username and name for %s" : "Indtast navn til databasen og brugernavn for %s",
+ "Enter the database username for %s" : "Indtast brugernavn til databasen for %s",
+ "Enter the database name for %s" : "Indtast databasenavnet for %s",
+ "You cannot use dots in the database name %s" : "Du må ikke bruge punktummer i databasenavnet %s",
+ "MySQL username and/or password not valid" : "MySQL brugernavn og/eller kodeord er ikke gyldigt",
+ "You need to enter details of an existing account." : "Du skal indtaste detaljerne for en eksisterende konto.",
"Oracle connection could not be established" : "Oracle forbindelsen kunne ikke etableres",
"Oracle username and/or password not valid" : "Oracle brugernavn og/eller kodeord er ikke gyldigt.",
"PostgreSQL username and/or password not valid" : "PostgreSQL brugernavn og/eller kodeord er ikke gyldigt.",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X understøttes ikke og %s vil ikke virke optimalt på denne platform. Anvend på eget ansvar!",
"For the best results, please consider using a GNU/Linux server instead." : "For de bedste resultater, overvej venligst at bruge en GNU/Linux-server i stedet.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det ser ud til, at denne %s-instans kører på et 32-bit PHP-miljø, samt at open_basedir er blevet konfigureret gennem php.ini. Dette vil føre til problemer med filer som er større end 4GB, og frarådes kraftigt.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjern venligst indstillingen for open_basedir inde i din php.ini eller skift til 64-bit PHP.",
"Set an admin username." : "Angiv et admin brugernavn.",
"Set an admin password." : "Angiv et admin kodeord.",
+ "Cannot create or write into the data directory %s" : "Kan ikke oprette eller skrive ind i datamappen %s",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Delingsbackend'en %s skal implementere grænsefladen OCP\\Share_Backend",
"Sharing backend %s not found" : "Delingsbackend'en %s blev ikke fundet",
"Sharing backend for %s not found" : "Delingsbackend'en for %s blev ikke fundet",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s delte »%2$s« med dig og vil gerne tilføje:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s delte »%2$s« med dig og vil gerne tilføje",
+ "»%s« added a note to a file shared with you" : "»%s« tilføjede en note til en fil delt med dig",
"Open »%s«" : "Åbn »%s«",
"%1$s via %2$s" : "%1$s via %2$s",
"You are not allowed to share %s" : "Du har ikke tilladelse til at dele %s",
"Cannot increase permissions of %s" : "Kan give yderigere rettigheder til %s",
+ "Files cannot be shared with delete permissions" : "Filer kan ikke deles med rettigheder til at slette",
+ "Files cannot be shared with create permissions" : "Filer kan ikke deles med rettigheder til at oprette",
"Expiration date is in the past" : "Udløbsdatoen ligger tilbage i tid",
+ "_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Udløbsdato kan ikke sættes mere end %n dag ud i fremtiden","Udløbsdato kan ikke sættes mere end %n dage ud i fremtiden"],
+ "Sharing is only allowed with group members" : "Deling er kun tilladt med gruppemedlemmer",
"Sharing %s failed, because this item is already shared with user %s" : "Deling af %s mislykkedes, fordi dette element allerede er delt med brugeren %s",
+ "%1$s shared »%2$s« with you" : "%1$s delte »%2$s« med dig",
+ "%1$s shared »%2$s« with you." : "%1$s delte »%2$s« med dig",
"Click the button below to open it." : "Klik på knappen nedenunder for at åbne.",
+ "The requested share does not exist anymore" : "Det delte emne eksisterer ikke længere",
"Could not find category \"%s\"" : "Kunne ikke finde kategorien \"%s\"",
"Sunday" : "Søndag",
"Monday" : "Mandag",
@@ -95,7 +159,7 @@
"Sun." : "Søn.",
"Mon." : "Man.",
"Tue." : "Tir.",
- "Wed." : ".",
+ "Wed." : "Ons.",
"Thu." : "Tor.",
"Fri." : "Fre.",
"Sat." : "Lør.",
@@ -119,10 +183,10 @@
"November" : "November",
"December" : "December",
"Jan." : "Jan.",
- "Feb." : "eb.",
+ "Feb." : "Feb.",
"Mar." : "Mar.",
"Apr." : "Apr.",
- "May." : "Maj",
+ "May." : "Maj.",
"Jun." : "Jun.",
"Jul." : "Jul.",
"Aug." : "Aug.",
@@ -130,44 +194,94 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
+ "A valid password must be provided" : "En gyldig adgangskode skal angives",
+ "The username is already being used" : "Brugernavnet er allerede i brug",
+ "Could not create user" : "Kunne ikke oprette bruger",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kun følgende tegn kan indgå i et brugernavn: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Et gyldigt brugernavn skal angives",
"Username contains whitespace at the beginning or at the end" : "Brugernavnet har et mellemrum i starten eller slutningen",
- "A valid password must be provided" : "En gyldig adgangskode skal angives",
- "The username is already being used" : "Brugernavnet er allerede i brug",
+ "Username must not consist of dots only" : "Brugernavnet må ikke bestå af rene prikker/punktummer",
+ "Username is invalid because files already exist for this user" : "Brugernavnet er ugyldigt, da der allerede eksisterer filer for denne bruger",
"User disabled" : "Bruger deaktiveret",
"Login canceled by app" : "Login annulleret af app",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Appen \"%1$s\" kan ikke installeres, da følgende afhængigheder ikke imødekommes: %2$s",
"a safe home for all your data" : "et sikkert hjem til alle dine data",
"File is currently busy, please try again later" : "Filen er i øjeblikket optaget - forsøg igen senere",
+ "Cannot download file" : "Kan ikke downloade filen",
"Application is not enabled" : "Programmet er ikke aktiveret",
"Authentication error" : "Adgangsfejl",
"Token expired. Please reload page." : "Adgang er udløbet. Genindlæs siden.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ingen database driver (sqlite, mysql eller postgresql) er installeret.",
+ "Cannot write into \"config\" directory." : "Kan ikke skrive til mappen \"config\".",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Dette kan som regel ordnes ved at give webserveren skrive adgang til config mappen. Se %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Men hvis du foretrækker at bibeholde config.php skrivebeskyttet, så sæt parameter \"config_is_read_only\" til true i filen. Se %s",
+ "Cannot write into \"apps\" directory." : "Kan ikke skrive til mappen \"apps\".",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Dette kan som regel rettes ved at give webserveren skriveadgang til apps-mappen eller slå appstore fra i config-filen.",
+ "Cannot create \"data\" directory." : "Kan ikke oprette mappen \"data\".",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Dette kan som regel ordnes ved at give webserveren skrive adgang til rod mappen. Se %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Rettigheder kan som regel rettes ved at give webserveren skriveadgang til rodmappen. Se %s.",
+ "Your data directory is not writable." : "Data biblioteket er skrivebeskyttet.",
+ "Setting locale to %s failed." : "Angivelse af %s for lokalitet mislykkedes.",
+ "Please install one of these locales on your system and restart your web server." : "Installér venligst én af disse lokaliteter på dit system, og genstart din webserver.",
"PHP module %s not installed." : "PHP-modulet %s er ikke installeret.",
"Please ask your server administrator to install the module." : "Du bedes anmode din serveradministrator om at installere modulet.",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP-indstillingen \"%s\" er ikke angivet til \"%s\".",
+ "Adjusting this setting in php.ini will make Nextcloud run again" : "Ændring af denne indstilling i php.ini vil tillade Nextcloud at køre igen",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> er angivet til <code>%s</code>, i stedet for den forventede værdi <code>0</code>",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "For at rette dette problem, sæt <code>mbstring.func_overload</code> til <code>0</code> i din php.ini.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "libxml2 skal mindst være version 2.7.0. Du har version %s installeret.",
"To fix this issue update your libxml2 version and restart your web server." : "Opdater din libxml2 version og genstart webserveren for at løse problemet.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP er tilsyneladende sat op til at fjerne indlejrede doc-blokke. Dette vil gøre adskillige kerneprogrammer utilgængelige.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette er sansynligvis forårsaget af et accelerator eller cache som Zend OPcache eller eAccelerator",
"PHP modules have been installed, but they are still listed as missing?" : "Der er installeret PHP-moduler, men de fremstår stadig som fraværende?",
"Please ask your server administrator to restart the web server." : "Du bedes anmode din serveradministrator om at genstarte webserveren.",
+ "The required %s config variable is not configured in the config.php file." : "Den krævede config variabel %s er ikke konfigureret i config.php filen.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Du bedes anmode din serveradministrator om at kontrollere Nextcloud konfigurationen.",
+ "PostgreSQL >= 9 required." : "PostgreSQL >= 9 kræves.",
+ "Please upgrade your database version." : "Opgradér venligst din databaseversion.",
+ "Your data directory is readable by other users." : "Datamappen kan læses af andre brugere.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Tilpas venligst rettigheder til 0770, så mappen ikke fremvises for andre brugere.",
+ "Your data directory must be an absolute path." : "Datamappen skal have en absolut sti.",
+ "Check the value of \"datadirectory\" in your configuration." : "Tjek værdien for \"datadictionary\" i din konfiguration.",
+ "Your data directory is invalid." : "Datamappen er ugyldig.",
+ "Ensure there is a file called \".ocdata\" in the root of the data directory." : "Du bedes sikre at filen \".ocdata\" befinder sig i roden af din datamappe.",
+ "Action \"%s\" not supported or implemented." : "Aktiviteten \"%s\" er ikke understøttet eller implementeret.",
+ "Authentication failed, wrong token or provider ID given" : "Kunne ikke validere brugeren",
+ "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Anmodningen kunne ikke gennemføres pga. manglende parameter: \"%s\"",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "ID \"%1$s\" er allerede i brug af cloud federation provider \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "Cloud Federation Provider med ID: \"%s\" eksisterer ikke.",
"Could not obtain lock type %d on \"%s\"." : "Kunne ikke opnå en låsetype %d på \"%s\".",
+ "Storage unauthorized. %s" : "Lageret er ikke autoriseret. %s",
+ "Storage incomplete configuration. %s" : "Lageret er ikke konfigureret korrekt. %s",
+ "Storage connection error. %s" : "Forbindelses fejl til lageret. %s",
"Storage is temporarily not available" : "Lagerplads er midlertidigt ikke tilgængeligt",
+ "Storage connection timeout. %s" : "Lageret svarer ikke. %s",
+ "This can usually be fixed by giving the webserver write access to the config directory." : "Dette kan normalt rettes ved at give webserveren skriveadgang til config folderen.",
"%s enter the database username and name." : "%s indtast brugernavn og navn til databasen.",
"%s enter the database username." : "%s indtast database brugernavnet.",
"%s enter the database name." : "%s indtast database navnet.",
"%s you may not use dots in the database name" : "%s du må ikke bruge punktummer i databasenavnet.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det ser ud til, at denne %s-instans kører på et 32-bit PHP-miljø, samt at open_basedir er blevet konfigureret gennem php.ini. Dette vil føre til problemer med filer som er større end 4GB, og frarådes kraftigt.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjern venligst indstillingen for open_basedir inde i din php.ini eller skift til 64-bit PHP.",
+ "The user limit has been reached and the user was not created." : "Grænsen for brugere er nået, og den nye bruger er ikke blevet oprettet.",
+ "Cannot read file" : "Kan ikke læse filen",
"Cannot write into \"config\" directory" : "Kan ikke skrive til mappen \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dette kan som regel ordnes ved at give webserveren skrive adgang til config mappen. Se %s",
"Cannot write into \"apps\" directory" : "Kan ikke skrive til mappen \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "Dette kan som regel rettes ved at give webserveren skriveadgang til apps-mappen eller slå appstore fra i config-filen",
+ "Cannot create \"data\" directory" : "Kan ikke oprette mappen \"data\"",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dette kan som regel ordnes ved at give webserveren skrive adgang til rod mappen. Se %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Rettigheder kan som regel rettes ved at give webserveren skriveadgang til rodmappen. Se %s.",
"Setting locale to %s failed" : "Angivelse af %s for lokalitet mislykkedes",
"Please install one of these locales on your system and restart your webserver." : "Installér venligst én af disse lokaliteter på dit system, og genstart din webserver.",
"mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload er angivet til \"%s\", i stedet for den forventede værdi \"0\"",
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "For at rette dette problem, angiv\n<code>mbstring.func_overload</code> til <code>0</code> i din php.ini",
"PostgreSQL >= 9 required" : "PostgreSQL >= 9 kræves",
"Please upgrade your database version" : "Opgradér venligst din databaseversion",
- "Check the value of \"datadirectory\" in your configuration" : "Tjek værdien for \"databibliotek\" i din konfiguration"
+ "Your data directory is readable by other users" : "Datamappen kan læses af andre brugere",
+ "Your data directory must be an absolute path" : "Datamappen skal have en absolut sti",
+ "Check the value of \"datadirectory\" in your configuration" : "Tjek værdien for \"databibliotek\" i din konfiguration",
+ "Your data directory is invalid" : "Datamappen er ugyldig",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Grænsen for brugere er nået, og den nye bruger er ikke blevet oprettet. Læs dine notifikationer for at lære mere."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/lib/l10n/de.js b/lib/l10n/de.js
index 5a400a3eebb..251bc2bc8b7 100644
--- a/lib/l10n/de.js
+++ b/lib/l10n/de.js
@@ -93,6 +93,7 @@ OC.L10N.register(
"Appearance and accessibility" : "Erscheinungsbild und Barrierefreiheit",
"Apps" : "Apps",
"Personal settings" : "Persönliche Einstellungen",
+ "Administration settings" : "Administrationseinstellungen",
"Settings" : "Einstellungen",
"Log out" : "Abmelden",
"Users" : "Benutzer",
@@ -113,6 +114,10 @@ OC.L10N.register(
"Role" : "Funktion",
"Unknown user" : "Unbekannter Benutzer",
"Additional settings" : "Zusätzliche Einstellungen",
+ "Enter the database username and name for %s" : "Den Datenbankbenutzernamen und den Namen eingeben für %s",
+ "Enter the database username for %s" : "Den Datenbankbenutzernamen eingeben für %s",
+ "Enter the database name for %s" : "Den Datenbanknamen eingeben für %s",
+ "You cannot use dots in the database name %s" : "Du kannst keine Punkte im Datenbanknamen %s verwenden.",
"MySQL username and/or password not valid" : "MySQL-Benutzername und/oder Passwort ungültig",
"You need to enter details of an existing account." : "Du musst Details von einem existierenden Benutzer einfügen.",
"Oracle connection could not be established" : "Es konnte keine Verbindung zur Oracle-Datenbank hergestellt werden",
@@ -120,8 +125,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL-Benutzername und/oder -Passwort ungültig",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X wird nicht unterstützt und %s wird auf dieser Plattform nicht richtig funktionieren. Die Benutzung erfolgt auf eigene Gefahr!",
"For the best results, please consider using a GNU/Linux server instead." : "Zur Gewährleistung eines optimalen Betriebs sollte stattdessen ein GNU/Linux-Server verwendet werden.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Es scheint, dass diese %s-Instanz unter einer 32-Bit-PHP-Umgebung läuft und open_basedir in der Datei php.ini konfiguriert worden ist. Von einem solchen Betrieb wird dringend abgeraten, weil es dabei zu Problemen mit Dateien kommt, deren Größe 4 GB übersteigt.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bitte entferne die open_basedir-Einstellung in deiner php.ini oder wechsele zu 64-Bit-PHP.",
"Set an admin username." : "Einen Administrator-Benutzernamen setzen.",
"Set an admin password." : "Ein Administrator-Passwort setzen.",
"Cannot create or write into the data directory %s" : "Das Datenverzeichnis %s kann nicht erstellt oder es kann darin nicht geschrieben werden.",
@@ -133,7 +136,7 @@ OC.L10N.register(
"»%s« added a note to a file shared with you" : "»%s« hat eine Bemerkung zu einer mit dir geteilten Datei hinzugefügt",
"Open »%s«" : "»%s« öffnen",
"%1$s via %2$s" : "%1$s über %2$s",
- "You are not allowed to share %s" : "Die Freigabe von %s ist dir nicht erlaubt",
+ "You are not allowed to share %s" : "Du bist nicht berechtigt, %s zu teilen.",
"Cannot increase permissions of %s" : "Kann die Berechtigungen von %s nicht erhöhen",
"Files cannot be shared with delete permissions" : "Dateien mit Lösch-Berechtigungen können nicht geteilt werden",
"Files cannot be shared with create permissions" : "Dateien mit Erstell-Berechtigungen können nicht geteilt werden",
@@ -145,6 +148,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s hat »%2$s« mit dir geteilt.",
"Click the button below to open it." : "Klicke zum Öffnen auf die untere Schaltfläche.",
"The requested share does not exist anymore" : "Die angeforderte Freigabe existiert nicht mehr",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Der Benutzer wurde nicht erstellt, da das Benutzerlimit erreicht wurde. Überprüfe deine Benachrichtigungen, um mehr zu erfahren.",
"Could not find category \"%s\"" : "Die Kategorie \"%s“ konnte nicht gefunden werden",
"Sunday" : "Sonntag",
"Monday" : "Montag",
@@ -191,20 +195,20 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dez.",
- "The user limit has been reached and the user was not created." : "Das Benutzerlimit wurde erreicht und der Benutzer wurde nicht erstellt.",
+ "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden",
+ "The username is already being used" : "Dieser Benutzername existiert bereits",
+ "Could not create user" : "Benutzer konnte nicht erstellt werden",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Folgende Zeichen sind im Benutzernamen erlaubt: „a-z“, „A-Z“, „0-9“ und „_.@-'“",
"A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden",
"Username contains whitespace at the beginning or at the end" : "Der Benutzername enthält Leerzeichen am Anfang oder am Ende",
"Username must not consist of dots only" : "Der Benutzername darf nicht nur aus Punkten bestehen",
"Username is invalid because files already exist for this user" : "Der Benutzer ist ungültig, da bereits Dateien von diesem Benutzer existieren",
- "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden",
- "The username is already being used" : "Dieser Benutzername existiert bereits",
- "Could not create user" : "Benutzer konnte nicht erstellt werden",
"User disabled" : "Benutzer deaktiviert",
"Login canceled by app" : "Anmeldung durch die App abgebrochen",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Die App „%1$s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %2$s",
"a safe home for all your data" : "ein sicherer Ort für all deine Daten",
"File is currently busy, please try again later" : "Die Datei ist in Benutzung, bitte versuche es später noch einmal",
+ "Cannot download file" : "Datei kann nicht heruntergeladen werden.",
"Application is not enabled" : "Die Anwendung ist nicht aktiviert",
"Authentication error" : "Authentifizierungsfehler",
"Token expired. Please reload page." : "Token abgelaufen. Bitte lade die Seite neu.",
@@ -258,6 +262,9 @@ OC.L10N.register(
"%s enter the database username." : "%s gebe den Datenbank-Benutzernamen an.",
"%s enter the database name." : "%s gebe den Datenbanknamen an.",
"%s you may not use dots in the database name" : "%s Der Datenbankname darf keine Punkte enthalten",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Es scheint, dass diese %s-Instanz unter einer 32-Bit-PHP-Umgebung läuft und open_basedir in der Datei php.ini konfiguriert worden ist. Von einem solchen Betrieb wird dringend abgeraten, weil es dabei zu Problemen mit Dateien kommt, deren Größe 4 GB übersteigt.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bitte entferne die open_basedir-Einstellung in deiner php.ini oder wechsele zu 64-Bit-PHP.",
+ "The user limit has been reached and the user was not created." : "Das Benutzerlimit wurde erreicht und der Benutzer wurde nicht erstellt.",
"Cannot read file" : "Datei kann nicht gelesen werden",
"Cannot write into \"config\" directory" : "Schreiben in das „config“-Verzeichnis ist nicht möglich",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s",
@@ -275,6 +282,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Dein Datenverzeichnis kann von anderen Benutzern gelesen werden",
"Your data directory must be an absolute path" : "Dein Datenverzeichnis muss einen eindeutigen Pfad haben",
"Check the value of \"datadirectory\" in your configuration" : "Überprüfe bitte die Angabe unter „datadirectory“ in deiner Konfiguration",
- "Your data directory is invalid" : "Dein Datenverzeichnis ist ungültig"
+ "Your data directory is invalid" : "Dein Datenverzeichnis ist ungültig",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Das Benutzerlimit wurde erreicht und der Benutzer wurde nicht erstellt. Überprüfe deine Benachrichtigungen, um mehr zu erfahren."
},
"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/de.json b/lib/l10n/de.json
index ddd47fa82fb..ad56e92e306 100644
--- a/lib/l10n/de.json
+++ b/lib/l10n/de.json
@@ -91,6 +91,7 @@
"Appearance and accessibility" : "Erscheinungsbild und Barrierefreiheit",
"Apps" : "Apps",
"Personal settings" : "Persönliche Einstellungen",
+ "Administration settings" : "Administrationseinstellungen",
"Settings" : "Einstellungen",
"Log out" : "Abmelden",
"Users" : "Benutzer",
@@ -111,6 +112,10 @@
"Role" : "Funktion",
"Unknown user" : "Unbekannter Benutzer",
"Additional settings" : "Zusätzliche Einstellungen",
+ "Enter the database username and name for %s" : "Den Datenbankbenutzernamen und den Namen eingeben für %s",
+ "Enter the database username for %s" : "Den Datenbankbenutzernamen eingeben für %s",
+ "Enter the database name for %s" : "Den Datenbanknamen eingeben für %s",
+ "You cannot use dots in the database name %s" : "Du kannst keine Punkte im Datenbanknamen %s verwenden.",
"MySQL username and/or password not valid" : "MySQL-Benutzername und/oder Passwort ungültig",
"You need to enter details of an existing account." : "Du musst Details von einem existierenden Benutzer einfügen.",
"Oracle connection could not be established" : "Es konnte keine Verbindung zur Oracle-Datenbank hergestellt werden",
@@ -118,8 +123,6 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL-Benutzername und/oder -Passwort ungültig",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X wird nicht unterstützt und %s wird auf dieser Plattform nicht richtig funktionieren. Die Benutzung erfolgt auf eigene Gefahr!",
"For the best results, please consider using a GNU/Linux server instead." : "Zur Gewährleistung eines optimalen Betriebs sollte stattdessen ein GNU/Linux-Server verwendet werden.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Es scheint, dass diese %s-Instanz unter einer 32-Bit-PHP-Umgebung läuft und open_basedir in der Datei php.ini konfiguriert worden ist. Von einem solchen Betrieb wird dringend abgeraten, weil es dabei zu Problemen mit Dateien kommt, deren Größe 4 GB übersteigt.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bitte entferne die open_basedir-Einstellung in deiner php.ini oder wechsele zu 64-Bit-PHP.",
"Set an admin username." : "Einen Administrator-Benutzernamen setzen.",
"Set an admin password." : "Ein Administrator-Passwort setzen.",
"Cannot create or write into the data directory %s" : "Das Datenverzeichnis %s kann nicht erstellt oder es kann darin nicht geschrieben werden.",
@@ -131,7 +134,7 @@
"»%s« added a note to a file shared with you" : "»%s« hat eine Bemerkung zu einer mit dir geteilten Datei hinzugefügt",
"Open »%s«" : "»%s« öffnen",
"%1$s via %2$s" : "%1$s über %2$s",
- "You are not allowed to share %s" : "Die Freigabe von %s ist dir nicht erlaubt",
+ "You are not allowed to share %s" : "Du bist nicht berechtigt, %s zu teilen.",
"Cannot increase permissions of %s" : "Kann die Berechtigungen von %s nicht erhöhen",
"Files cannot be shared with delete permissions" : "Dateien mit Lösch-Berechtigungen können nicht geteilt werden",
"Files cannot be shared with create permissions" : "Dateien mit Erstell-Berechtigungen können nicht geteilt werden",
@@ -143,6 +146,7 @@
"%1$s shared »%2$s« with you." : "%1$s hat »%2$s« mit dir geteilt.",
"Click the button below to open it." : "Klicke zum Öffnen auf die untere Schaltfläche.",
"The requested share does not exist anymore" : "Die angeforderte Freigabe existiert nicht mehr",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Der Benutzer wurde nicht erstellt, da das Benutzerlimit erreicht wurde. Überprüfe deine Benachrichtigungen, um mehr zu erfahren.",
"Could not find category \"%s\"" : "Die Kategorie \"%s“ konnte nicht gefunden werden",
"Sunday" : "Sonntag",
"Monday" : "Montag",
@@ -189,20 +193,20 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dez.",
- "The user limit has been reached and the user was not created." : "Das Benutzerlimit wurde erreicht und der Benutzer wurde nicht erstellt.",
+ "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden",
+ "The username is already being used" : "Dieser Benutzername existiert bereits",
+ "Could not create user" : "Benutzer konnte nicht erstellt werden",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Folgende Zeichen sind im Benutzernamen erlaubt: „a-z“, „A-Z“, „0-9“ und „_.@-'“",
"A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden",
"Username contains whitespace at the beginning or at the end" : "Der Benutzername enthält Leerzeichen am Anfang oder am Ende",
"Username must not consist of dots only" : "Der Benutzername darf nicht nur aus Punkten bestehen",
"Username is invalid because files already exist for this user" : "Der Benutzer ist ungültig, da bereits Dateien von diesem Benutzer existieren",
- "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden",
- "The username is already being used" : "Dieser Benutzername existiert bereits",
- "Could not create user" : "Benutzer konnte nicht erstellt werden",
"User disabled" : "Benutzer deaktiviert",
"Login canceled by app" : "Anmeldung durch die App abgebrochen",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Die App „%1$s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %2$s",
"a safe home for all your data" : "ein sicherer Ort für all deine Daten",
"File is currently busy, please try again later" : "Die Datei ist in Benutzung, bitte versuche es später noch einmal",
+ "Cannot download file" : "Datei kann nicht heruntergeladen werden.",
"Application is not enabled" : "Die Anwendung ist nicht aktiviert",
"Authentication error" : "Authentifizierungsfehler",
"Token expired. Please reload page." : "Token abgelaufen. Bitte lade die Seite neu.",
@@ -256,6 +260,9 @@
"%s enter the database username." : "%s gebe den Datenbank-Benutzernamen an.",
"%s enter the database name." : "%s gebe den Datenbanknamen an.",
"%s you may not use dots in the database name" : "%s Der Datenbankname darf keine Punkte enthalten",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Es scheint, dass diese %s-Instanz unter einer 32-Bit-PHP-Umgebung läuft und open_basedir in der Datei php.ini konfiguriert worden ist. Von einem solchen Betrieb wird dringend abgeraten, weil es dabei zu Problemen mit Dateien kommt, deren Größe 4 GB übersteigt.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bitte entferne die open_basedir-Einstellung in deiner php.ini oder wechsele zu 64-Bit-PHP.",
+ "The user limit has been reached and the user was not created." : "Das Benutzerlimit wurde erreicht und der Benutzer wurde nicht erstellt.",
"Cannot read file" : "Datei kann nicht gelesen werden",
"Cannot write into \"config\" directory" : "Schreiben in das „config“-Verzeichnis ist nicht möglich",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s",
@@ -273,6 +280,7 @@
"Your data directory is readable by other users" : "Dein Datenverzeichnis kann von anderen Benutzern gelesen werden",
"Your data directory must be an absolute path" : "Dein Datenverzeichnis muss einen eindeutigen Pfad haben",
"Check the value of \"datadirectory\" in your configuration" : "Überprüfe bitte die Angabe unter „datadirectory“ in deiner Konfiguration",
- "Your data directory is invalid" : "Dein Datenverzeichnis ist ungültig"
+ "Your data directory is invalid" : "Dein Datenverzeichnis ist ungültig",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Das Benutzerlimit wurde erreicht und der Benutzer wurde nicht erstellt. Überprüfe deine Benachrichtigungen, um mehr zu erfahren."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js
index 77c460079c1..d3021869eaa 100644
--- a/lib/l10n/de_DE.js
+++ b/lib/l10n/de_DE.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Die Dateien der App %1$s wurden nicht korrekt ersetzt. Stellen Sie sicher, dass es sich um eine mit dem Server kompatible Version handelt.",
"Sample configuration detected" : "Beispielkonfiguration gefunden",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde. Dies kann Ihre Installation zerstören und wird nicht unterstützt. Bitte die Dokumentation lesen, bevor Änderungen an der config.php vorgenommen werden.",
+ "404" : "404",
+ "The page could not be found on the server." : "Die Seite konnte auf dem Server nicht gefunden werden.",
"%s email verification" : "%s E-Mail-Überprüfung",
"Email verification" : "E-Mail-Überprüfung",
"Click the following button to confirm your email." : "Klicken Sie auf die folgende Schaltfläche, um Ihre E-Mail zu bestätigen.",
@@ -99,6 +101,8 @@ OC.L10N.register(
"Users" : "Benutzer",
"Email" : "E-Mail",
"Mail %s" : "E-Mail %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Zeige %s auf dem Fediverse",
"Phone" : "Telefon",
"Call %s" : "%s anrufen",
"Twitter" : "Twitter",
@@ -117,7 +121,7 @@ OC.L10N.register(
"Enter the database username and name for %s" : "Den Datenbankbenutzernamen und den Namen eingeben für %s",
"Enter the database username for %s" : "Den Datenbankbenutzernamen eingeben für %s",
"Enter the database name for %s" : "Den Datenbanknamen eingeben für %s",
- "You cannot use dots in the database name %s" : "Sie können keine Punkte im Datenbanknamen %s verwenden",
+ "You cannot use dots in the database name %s" : "Sie dürfen keine Punkte im Datenbanknamen %s verwenden",
"MySQL username and/or password not valid" : "MySQL-Benutzername und/oder Passwort ungültig",
"You need to enter details of an existing account." : "Sie müssen Details von einem existierenden Benutzer einfügen.",
"Oracle connection could not be established" : "Es konnte keine Verbindung zur Oracle-Datenbank hergestellt werden",
@@ -125,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL-Benutzername und/oder -Passwort ungültig",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X wird nicht unterstützt und %s wird auf dieser Plattform nicht richtig funktionieren. Die Benutzung erfolgt auf eigene Gefahr!",
"For the best results, please consider using a GNU/Linux server instead." : "Zur Gewährleistung eines optimalen Betriebs sollte stattdessen ein GNU/Linux-Server verwendet werden.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Es scheint, dass diese %s-Instanz unter einer 32-Bit-PHP-Umgebung läuft und open_basedir in der Datei php.ini konfiguriert worden ist. Von einem solchen Betrieb wird dringend abgeraten, weil es dabei zu Problemen mit Dateien kommt, deren Größe 4 GB übersteigt.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bitte entfernen Sie die open_basedir-Einstellung in Ihrer php.ini oder wechseln Sie zu 64-Bit-PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Diese %s-Instanz scheint auf einem 32 Bit PHP-System zu laufen. Ab Nextcloud 26 sind 64 Bit erforderlich.",
+ "Please switch to 64-bit PHP." : "Bitte wechseln Sie zu 64 Bit PHP",
"Set an admin username." : "Einen Administrations-Benutzernamen setzen.",
"Set an admin password." : "Ein Administrationspasswort setzen.",
"Cannot create or write into the data directory %s" : "Das Datenverzeichnis %s kann nicht erstellt oder es kann darin nicht geschrieben werden.",
@@ -150,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s hat »%2$s« mit Ihnen geteilt.",
"Click the button below to open it." : "Klicken Sie zum Öffnen auf die untere Schaltfläche.",
"The requested share does not exist anymore" : "Die angeforderte Freigabe existiert nicht mehr",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Der Benutzer wurde nicht erstellt, da das Benutzerlimit erreicht wurde. Überprüfen Sie Ihre Benachrichtigungen, um mehr zu erfahren.",
"Could not find category \"%s\"" : "Die Kategorie \"%s“ konnte nicht gefunden werden",
"Sunday" : "Sonntag",
"Monday" : "Montag",
@@ -196,15 +201,14 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dez.",
- "The user limit has been reached and the user was not created." : "Die Benutzergrenze wurde erreicht und der Benutzer wurde nicht erstellt.",
+ "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden",
+ "The username is already being used" : "Dieser Benutzername existiert bereits",
+ "Could not create user" : "Benutzer konnte nicht erstellt werden",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Folgende Zeichen sind im Benutzernamen erlaubt: „a-z“, „A-Z“, „0-9“ und „_.@-'“",
"A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden",
"Username contains whitespace at the beginning or at the end" : "Der Benutzername enthält Leerzeichen am Anfang oder am Ende",
"Username must not consist of dots only" : "Der Benutzername darf nicht nur aus Punkten bestehen",
"Username is invalid because files already exist for this user" : "Der Benutzer ist ungültig, da bereits Dateien von diesem Benutzer existieren",
- "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden",
- "The username is already being used" : "Dieser Benutzername existiert bereits",
- "Could not create user" : "Benutzer konnte nicht erstellt werden",
"User disabled" : "Benutzer deaktiviert",
"Login canceled by app" : "Anmeldung durch die App abgebrochen",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Die App „%1$s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %2$s",
@@ -264,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "%s geben Sie den Datenbank-Benutzernamen an.",
"%s enter the database name." : "%s geben Sie den Datenbanknamen an.",
"%s you may not use dots in the database name" : "%s Der Datenbankname darf keine Punkte enthalten",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Es scheint, dass diese %s-Instanz unter einer 32-Bit-PHP-Umgebung läuft und open_basedir in der Datei php.ini konfiguriert worden ist. Von einem solchen Betrieb wird dringend abgeraten, weil es dabei zu Problemen mit Dateien kommt, deren Größe 4 GB übersteigt.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bitte entfernen Sie die open_basedir-Einstellung in Ihrer php.ini oder wechseln Sie zu 64-Bit-PHP.",
+ "The user limit has been reached and the user was not created." : "Die Benutzergrenze wurde erreicht und der Benutzer wurde nicht erstellt.",
"Cannot read file" : "Datei kann nicht gelesen werden",
"Cannot write into \"config\" directory" : "Schreiben in das „config“-Verzeichnis ist nicht möglich",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s",
@@ -281,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Ihr Datenverzeichnis kann von anderen Benutzern gelesen werden",
"Your data directory must be an absolute path" : "Ihr Datenverzeichnis muss einen eindeutigen Pfad haben",
"Check the value of \"datadirectory\" in your configuration" : "Überprüfen Sie bitte die Angabe unter „datadirectory“ in Ihrer Konfiguration",
- "Your data directory is invalid" : "Ihr Datenverzeichnis ist ungültig."
+ "Your data directory is invalid" : "Ihr Datenverzeichnis ist ungültig.",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Das Benutzerlimit wurde erreicht und der Benutzer wurde nicht erstellt. Überprüfen Sie Ihre Benachrichtigungen, um mehr zu erfahren."
},
"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json
index 0f3e4230e6f..0a67eaa0040 100644
--- a/lib/l10n/de_DE.json
+++ b/lib/l10n/de_DE.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Die Dateien der App %1$s wurden nicht korrekt ersetzt. Stellen Sie sicher, dass es sich um eine mit dem Server kompatible Version handelt.",
"Sample configuration detected" : "Beispielkonfiguration gefunden",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde. Dies kann Ihre Installation zerstören und wird nicht unterstützt. Bitte die Dokumentation lesen, bevor Änderungen an der config.php vorgenommen werden.",
+ "404" : "404",
+ "The page could not be found on the server." : "Die Seite konnte auf dem Server nicht gefunden werden.",
"%s email verification" : "%s E-Mail-Überprüfung",
"Email verification" : "E-Mail-Überprüfung",
"Click the following button to confirm your email." : "Klicken Sie auf die folgende Schaltfläche, um Ihre E-Mail zu bestätigen.",
@@ -97,6 +99,8 @@
"Users" : "Benutzer",
"Email" : "E-Mail",
"Mail %s" : "E-Mail %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Zeige %s auf dem Fediverse",
"Phone" : "Telefon",
"Call %s" : "%s anrufen",
"Twitter" : "Twitter",
@@ -115,7 +119,7 @@
"Enter the database username and name for %s" : "Den Datenbankbenutzernamen und den Namen eingeben für %s",
"Enter the database username for %s" : "Den Datenbankbenutzernamen eingeben für %s",
"Enter the database name for %s" : "Den Datenbanknamen eingeben für %s",
- "You cannot use dots in the database name %s" : "Sie können keine Punkte im Datenbanknamen %s verwenden",
+ "You cannot use dots in the database name %s" : "Sie dürfen keine Punkte im Datenbanknamen %s verwenden",
"MySQL username and/or password not valid" : "MySQL-Benutzername und/oder Passwort ungültig",
"You need to enter details of an existing account." : "Sie müssen Details von einem existierenden Benutzer einfügen.",
"Oracle connection could not be established" : "Es konnte keine Verbindung zur Oracle-Datenbank hergestellt werden",
@@ -123,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL-Benutzername und/oder -Passwort ungültig",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X wird nicht unterstützt und %s wird auf dieser Plattform nicht richtig funktionieren. Die Benutzung erfolgt auf eigene Gefahr!",
"For the best results, please consider using a GNU/Linux server instead." : "Zur Gewährleistung eines optimalen Betriebs sollte stattdessen ein GNU/Linux-Server verwendet werden.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Es scheint, dass diese %s-Instanz unter einer 32-Bit-PHP-Umgebung läuft und open_basedir in der Datei php.ini konfiguriert worden ist. Von einem solchen Betrieb wird dringend abgeraten, weil es dabei zu Problemen mit Dateien kommt, deren Größe 4 GB übersteigt.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bitte entfernen Sie die open_basedir-Einstellung in Ihrer php.ini oder wechseln Sie zu 64-Bit-PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Diese %s-Instanz scheint auf einem 32 Bit PHP-System zu laufen. Ab Nextcloud 26 sind 64 Bit erforderlich.",
+ "Please switch to 64-bit PHP." : "Bitte wechseln Sie zu 64 Bit PHP",
"Set an admin username." : "Einen Administrations-Benutzernamen setzen.",
"Set an admin password." : "Ein Administrationspasswort setzen.",
"Cannot create or write into the data directory %s" : "Das Datenverzeichnis %s kann nicht erstellt oder es kann darin nicht geschrieben werden.",
@@ -148,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s hat »%2$s« mit Ihnen geteilt.",
"Click the button below to open it." : "Klicken Sie zum Öffnen auf die untere Schaltfläche.",
"The requested share does not exist anymore" : "Die angeforderte Freigabe existiert nicht mehr",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Der Benutzer wurde nicht erstellt, da das Benutzerlimit erreicht wurde. Überprüfen Sie Ihre Benachrichtigungen, um mehr zu erfahren.",
"Could not find category \"%s\"" : "Die Kategorie \"%s“ konnte nicht gefunden werden",
"Sunday" : "Sonntag",
"Monday" : "Montag",
@@ -194,15 +199,14 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dez.",
- "The user limit has been reached and the user was not created." : "Die Benutzergrenze wurde erreicht und der Benutzer wurde nicht erstellt.",
+ "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden",
+ "The username is already being used" : "Dieser Benutzername existiert bereits",
+ "Could not create user" : "Benutzer konnte nicht erstellt werden",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Folgende Zeichen sind im Benutzernamen erlaubt: „a-z“, „A-Z“, „0-9“ und „_.@-'“",
"A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden",
"Username contains whitespace at the beginning or at the end" : "Der Benutzername enthält Leerzeichen am Anfang oder am Ende",
"Username must not consist of dots only" : "Der Benutzername darf nicht nur aus Punkten bestehen",
"Username is invalid because files already exist for this user" : "Der Benutzer ist ungültig, da bereits Dateien von diesem Benutzer existieren",
- "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden",
- "The username is already being used" : "Dieser Benutzername existiert bereits",
- "Could not create user" : "Benutzer konnte nicht erstellt werden",
"User disabled" : "Benutzer deaktiviert",
"Login canceled by app" : "Anmeldung durch die App abgebrochen",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Die App „%1$s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %2$s",
@@ -262,6 +266,9 @@
"%s enter the database username." : "%s geben Sie den Datenbank-Benutzernamen an.",
"%s enter the database name." : "%s geben Sie den Datenbanknamen an.",
"%s you may not use dots in the database name" : "%s Der Datenbankname darf keine Punkte enthalten",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Es scheint, dass diese %s-Instanz unter einer 32-Bit-PHP-Umgebung läuft und open_basedir in der Datei php.ini konfiguriert worden ist. Von einem solchen Betrieb wird dringend abgeraten, weil es dabei zu Problemen mit Dateien kommt, deren Größe 4 GB übersteigt.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bitte entfernen Sie die open_basedir-Einstellung in Ihrer php.ini oder wechseln Sie zu 64-Bit-PHP.",
+ "The user limit has been reached and the user was not created." : "Die Benutzergrenze wurde erreicht und der Benutzer wurde nicht erstellt.",
"Cannot read file" : "Datei kann nicht gelesen werden",
"Cannot write into \"config\" directory" : "Schreiben in das „config“-Verzeichnis ist nicht möglich",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s",
@@ -279,6 +286,7 @@
"Your data directory is readable by other users" : "Ihr Datenverzeichnis kann von anderen Benutzern gelesen werden",
"Your data directory must be an absolute path" : "Ihr Datenverzeichnis muss einen eindeutigen Pfad haben",
"Check the value of \"datadirectory\" in your configuration" : "Überprüfen Sie bitte die Angabe unter „datadirectory“ in Ihrer Konfiguration",
- "Your data directory is invalid" : "Ihr Datenverzeichnis ist ungültig."
+ "Your data directory is invalid" : "Ihr Datenverzeichnis ist ungültig.",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Das Benutzerlimit wurde erreicht und der Benutzer wurde nicht erstellt. Überprüfen Sie Ihre Benachrichtigungen, um mehr zu erfahren."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/lib/l10n/el.js b/lib/l10n/el.js
index f14b4a14d10..cb74b86c2e1 100644
--- a/lib/l10n/el.js
+++ b/lib/l10n/el.js
@@ -90,8 +90,10 @@ OC.L10N.register(
"__language_name__" : "Ελληνικά",
"This is an automatically sent email, please do not reply." : "Αυτό είναι ένα μήνυμα ηλεκτρονικού ταχυδρομείου που στάλθηκε αυτόματα, παρακαλούμε μην απαντήσετε.",
"Help" : "Βοήθεια",
+ "Appearance and accessibility" : "Εμφάνιση και προσβασιμότητα",
"Apps" : "Εφαρμογές",
"Personal settings" : "Προσωπικές ρυθμίσεις",
+ "Administration settings" : "Ρυθμίσεις διαχείρισης",
"Settings" : "Ρυθμίσεις",
"Log out" : "Έξοδος",
"Users" : "Χρήστες",
@@ -119,8 +121,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Μη έγκυρος χρήστης και/ή συνθηματικό της PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Το Mac OS X δεν υποστηρίζεται και το %s δεν θα λειτουργήσει σωστά σε αυτή την πλατφόρμα. Χρησιμοποιείτε με δική σας ευθύνη!",
"For the best results, please consider using a GNU/Linux server instead." : "Για καλύτερα αποτελέσματα, παρακαλούμε εξετάστε την μετατροπή σε έναν διακομιστή GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Φαίνεται ότι η εγκατάσταση %s εκτελείται σε περιβάλλον 32-bit PHP και η επιλογή open_basedir έχει ρυθμιστεί στο αρχείο php.ini. Αυτό θα οδηγήσει σε προβλήματα με αρχεία πάνω από 4 GB και δεν συνίσταται.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Παρακαλούμε αφαιρέστε την ρύθμιση open_basedir μέσα στο αρχείο php.ini ή αλλάξτε σε 64-bit PHP.",
"Set an admin username." : "Εισάγετε όνομα χρήστη διαχειριστή.",
"Set an admin password." : "Εισάγετε συνθηματικό διαχειριστή.",
"Cannot create or write into the data directory %s" : "Δεν είναι δυνατή η δημιουργία ή εγγραφή στον κατάλογο δεδομένων %s",
@@ -190,20 +190,20 @@ OC.L10N.register(
"Oct." : "Οκτ.",
"Nov." : "Νοε.",
"Dec." : "Δεκ.",
- "The user limit has been reached and the user was not created." : "Το όριο χρήστη έχει συμπληρωθεί και ο χρήστης δεν δημιουργήθηκε.",
+ "A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό",
+ "The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο",
+ "Could not create user" : "Αδυναμία δημιουργίας χρήστη",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Μόνο οι ακόλουθοι χαρακτήρες επιτρέπονται στο όνομα χρήστη; \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Πρέπει να δοθεί έγκυρο όνομα χρήστη",
"Username contains whitespace at the beginning or at the end" : "Το όνομα χρήστη περιέχει κενό διάστημα στην αρχή ή στο τέλος",
"Username must not consist of dots only" : "Το όνομα χρήστη δεν πρέπει να περιέχει μόνο τελείες",
"Username is invalid because files already exist for this user" : "Το όνομα χρήστη δεν είναι έγκυρο, επειδή υπάρχουν ήδη αρχεία για αυτόν τον χρήστη",
- "A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό",
- "The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο",
- "Could not create user" : "Αδυναμία δημιουργίας χρήστη",
"User disabled" : "Ο χρήστης απενεργοποιήθηκε",
"Login canceled by app" : "Η είσοδος ακυρώθηκε από την εφαρμογή",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Η εφαρμογή \"%1$s\" δεν μπορεί να εγκατασταθεί επειδή δεν πληρούνται τα προαπαιτούμενα: %2$s",
"a safe home for all your data" : "ένα ασφαλές μέρος για όλα τα δεδομένα σας",
"File is currently busy, please try again later" : "Το αρχείο χρησιμοποιείται αυτή τη στιγμή, παρακαλούμε προσπαθήστε αργότερα",
+ "Cannot download file" : "Δεν είναι δυνατή η λήψη του αρχείου",
"Application is not enabled" : "Δεν ενεργοποιήθηκε η εφαρμογή",
"Authentication error" : "Σφάλμα πιστοποίησης",
"Token expired. Please reload page." : "Το αναγνωριστικό έληξε. Παρακαλούμε φορτώστε ξανά την σελίδα.",
@@ -231,6 +231,7 @@ OC.L10N.register(
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "Κάποια αρθρώματα της PHP έχουν εγκατασταθεί, αλλά είναι ακόμα καταγεγραμμένες ως εκλιπόντα;",
"Please ask your server administrator to restart the web server." : "Παρακαλούμε ζητήστε από το διαχειριστή του διακομιστή σας να επανεκκινήσει το διακομιστή δικτύου σας.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Παρακαλούμε ζητήστε από το διαχειριστή του διακομιστή σας να ελέγξει τη διαμόρφωση του Nextcloud.",
"PostgreSQL >= 9 required." : "Απαιτείται PostgreSQL >= 9.",
"Please upgrade your database version." : "Παρακαλούμε αναβαθμίστε την έκδοση της βάσης δεδομένων σας.",
"Your data directory is readable by other users." : "Ο κατάλογος δεδομένων σας είναι αναγνώσιμος από άλλους χρήστες.",
@@ -255,6 +256,9 @@ OC.L10N.register(
"%s enter the database username." : "%s εισάγετε το όνομα χρήστη της βάσης δεδομένων.",
"%s enter the database name." : "%s εισάγετε το όνομα της βάσης δεδομένων.",
"%s you may not use dots in the database name" : "%s μάλλον δεν χρησιμοποιείτε τελείες στο όνομα της βάσης δεδομένων",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Φαίνεται ότι η εγκατάσταση %s εκτελείται σε περιβάλλον 32-bit PHP και η επιλογή open_basedir έχει ρυθμιστεί στο αρχείο php.ini. Αυτό θα οδηγήσει σε προβλήματα με αρχεία πάνω από 4 GB και δεν συνίσταται.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Παρακαλούμε αφαιρέστε την ρύθμιση open_basedir μέσα στο αρχείο php.ini ή αλλάξτε σε 64-bit PHP.",
+ "The user limit has been reached and the user was not created." : "Το όριο χρήστη έχει συμπληρωθεί και ο χρήστης δεν δημιουργήθηκε.",
"Cannot read file" : "Δεν είναι δυνατή η ανάγνωση του αρχείου",
"Cannot write into \"config\" directory" : "Αδυναμία εγγραφής στον κατάλογο \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Αυτό μπορεί συνήθως να διορθωθεί δίνοντας στον διακομιστή ιστού δικαιώματα εγγραφής στον κατάλογο config. Δείτε το%s",
diff --git a/lib/l10n/el.json b/lib/l10n/el.json
index 692c3911529..9c5ad95668b 100644
--- a/lib/l10n/el.json
+++ b/lib/l10n/el.json
@@ -88,8 +88,10 @@
"__language_name__" : "Ελληνικά",
"This is an automatically sent email, please do not reply." : "Αυτό είναι ένα μήνυμα ηλεκτρονικού ταχυδρομείου που στάλθηκε αυτόματα, παρακαλούμε μην απαντήσετε.",
"Help" : "Βοήθεια",
+ "Appearance and accessibility" : "Εμφάνιση και προσβασιμότητα",
"Apps" : "Εφαρμογές",
"Personal settings" : "Προσωπικές ρυθμίσεις",
+ "Administration settings" : "Ρυθμίσεις διαχείρισης",
"Settings" : "Ρυθμίσεις",
"Log out" : "Έξοδος",
"Users" : "Χρήστες",
@@ -117,8 +119,6 @@
"PostgreSQL username and/or password not valid" : "Μη έγκυρος χρήστης και/ή συνθηματικό της PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Το Mac OS X δεν υποστηρίζεται και το %s δεν θα λειτουργήσει σωστά σε αυτή την πλατφόρμα. Χρησιμοποιείτε με δική σας ευθύνη!",
"For the best results, please consider using a GNU/Linux server instead." : "Για καλύτερα αποτελέσματα, παρακαλούμε εξετάστε την μετατροπή σε έναν διακομιστή GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Φαίνεται ότι η εγκατάσταση %s εκτελείται σε περιβάλλον 32-bit PHP και η επιλογή open_basedir έχει ρυθμιστεί στο αρχείο php.ini. Αυτό θα οδηγήσει σε προβλήματα με αρχεία πάνω από 4 GB και δεν συνίσταται.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Παρακαλούμε αφαιρέστε την ρύθμιση open_basedir μέσα στο αρχείο php.ini ή αλλάξτε σε 64-bit PHP.",
"Set an admin username." : "Εισάγετε όνομα χρήστη διαχειριστή.",
"Set an admin password." : "Εισάγετε συνθηματικό διαχειριστή.",
"Cannot create or write into the data directory %s" : "Δεν είναι δυνατή η δημιουργία ή εγγραφή στον κατάλογο δεδομένων %s",
@@ -188,20 +188,20 @@
"Oct." : "Οκτ.",
"Nov." : "Νοε.",
"Dec." : "Δεκ.",
- "The user limit has been reached and the user was not created." : "Το όριο χρήστη έχει συμπληρωθεί και ο χρήστης δεν δημιουργήθηκε.",
+ "A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό",
+ "The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο",
+ "Could not create user" : "Αδυναμία δημιουργίας χρήστη",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Μόνο οι ακόλουθοι χαρακτήρες επιτρέπονται στο όνομα χρήστη; \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Πρέπει να δοθεί έγκυρο όνομα χρήστη",
"Username contains whitespace at the beginning or at the end" : "Το όνομα χρήστη περιέχει κενό διάστημα στην αρχή ή στο τέλος",
"Username must not consist of dots only" : "Το όνομα χρήστη δεν πρέπει να περιέχει μόνο τελείες",
"Username is invalid because files already exist for this user" : "Το όνομα χρήστη δεν είναι έγκυρο, επειδή υπάρχουν ήδη αρχεία για αυτόν τον χρήστη",
- "A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό",
- "The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο",
- "Could not create user" : "Αδυναμία δημιουργίας χρήστη",
"User disabled" : "Ο χρήστης απενεργοποιήθηκε",
"Login canceled by app" : "Η είσοδος ακυρώθηκε από την εφαρμογή",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Η εφαρμογή \"%1$s\" δεν μπορεί να εγκατασταθεί επειδή δεν πληρούνται τα προαπαιτούμενα: %2$s",
"a safe home for all your data" : "ένα ασφαλές μέρος για όλα τα δεδομένα σας",
"File is currently busy, please try again later" : "Το αρχείο χρησιμοποιείται αυτή τη στιγμή, παρακαλούμε προσπαθήστε αργότερα",
+ "Cannot download file" : "Δεν είναι δυνατή η λήψη του αρχείου",
"Application is not enabled" : "Δεν ενεργοποιήθηκε η εφαρμογή",
"Authentication error" : "Σφάλμα πιστοποίησης",
"Token expired. Please reload page." : "Το αναγνωριστικό έληξε. Παρακαλούμε φορτώστε ξανά την σελίδα.",
@@ -229,6 +229,7 @@
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "Κάποια αρθρώματα της PHP έχουν εγκατασταθεί, αλλά είναι ακόμα καταγεγραμμένες ως εκλιπόντα;",
"Please ask your server administrator to restart the web server." : "Παρακαλούμε ζητήστε από το διαχειριστή του διακομιστή σας να επανεκκινήσει το διακομιστή δικτύου σας.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Παρακαλούμε ζητήστε από το διαχειριστή του διακομιστή σας να ελέγξει τη διαμόρφωση του Nextcloud.",
"PostgreSQL >= 9 required." : "Απαιτείται PostgreSQL >= 9.",
"Please upgrade your database version." : "Παρακαλούμε αναβαθμίστε την έκδοση της βάσης δεδομένων σας.",
"Your data directory is readable by other users." : "Ο κατάλογος δεδομένων σας είναι αναγνώσιμος από άλλους χρήστες.",
@@ -253,6 +254,9 @@
"%s enter the database username." : "%s εισάγετε το όνομα χρήστη της βάσης δεδομένων.",
"%s enter the database name." : "%s εισάγετε το όνομα της βάσης δεδομένων.",
"%s you may not use dots in the database name" : "%s μάλλον δεν χρησιμοποιείτε τελείες στο όνομα της βάσης δεδομένων",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Φαίνεται ότι η εγκατάσταση %s εκτελείται σε περιβάλλον 32-bit PHP και η επιλογή open_basedir έχει ρυθμιστεί στο αρχείο php.ini. Αυτό θα οδηγήσει σε προβλήματα με αρχεία πάνω από 4 GB και δεν συνίσταται.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Παρακαλούμε αφαιρέστε την ρύθμιση open_basedir μέσα στο αρχείο php.ini ή αλλάξτε σε 64-bit PHP.",
+ "The user limit has been reached and the user was not created." : "Το όριο χρήστη έχει συμπληρωθεί και ο χρήστης δεν δημιουργήθηκε.",
"Cannot read file" : "Δεν είναι δυνατή η ανάγνωση του αρχείου",
"Cannot write into \"config\" directory" : "Αδυναμία εγγραφής στον κατάλογο \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Αυτό μπορεί συνήθως να διορθωθεί δίνοντας στον διακομιστή ιστού δικαιώματα εγγραφής στον κατάλογο config. Δείτε το%s",
diff --git a/lib/l10n/en_GB.js b/lib/l10n/en_GB.js
index 9f879ad2aa5..1b4f1783425 100644
--- a/lib/l10n/en_GB.js
+++ b/lib/l10n/en_GB.js
@@ -2,9 +2,20 @@ OC.L10N.register(
"lib",
{
"Cannot write into \"config\" directory!" : "Cannot write into \"config\" directory!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "This can usually be fixed by giving the web server write access to the config directory.",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it.",
"See %s" : "See %s",
+ "The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server.",
"Sample configuration detected" : "Sample configuration detected",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "The page could not be found on the server.",
+ "%s email verification" : "%s email verification",
+ "Email verification" : "Email verification",
+ "Click the following button to confirm your email." : "Click the following button to confirm your email.",
+ "Click the following link to confirm your email." : "Click the following link to confirm your email.",
+ "Confirm your email" : "Confirm your email",
+ "Other activities" : "Other activities",
"%1$s and %2$s" : "%1$s and %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s and %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s and %4$s",
@@ -12,20 +23,40 @@ OC.L10N.register(
"Education Edition" : "Education Edition",
"Enterprise bundle" : "Enterprise bundle",
"Groupware bundle" : "Groupware bundle",
+ "Hub bundle" : "Hub bundle",
"Social sharing bundle" : "Social sharing bundle",
"PHP %s or higher is required." : "PHP %s or higher is required.",
"PHP with a version lower than %s is required." : "PHP with a version lower than %s is required.",
"%sbit or higher PHP required." : "%sbit or higher PHP required.",
+ "The following architectures are supported: %s" : "The following architectures are supported: %s",
+ "The following databases are supported: %s" : "The following databases are supported: %s",
"The command line tool %s could not be found" : "The command line tool %s could not be found",
"The library %s is not available." : "The library %s is not available.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Library %1$s with a version higher than %2$s is required - available version %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Library %1$s with a version lower than %2$s is required - available version %3$s.",
+ "The following platforms are supported: %s" : "The following platforms are supported: %s",
"Server version %s or higher is required." : "Server version %s or higher is required.",
"Server version %s or lower is required." : "Server version %s or lower is required.",
"Logged in user must be an admin, a sub admin or gotten special right to access this setting" : "Logged in user must be an admin, a sub-admin or has special right to access this setting",
+ "Logged in user must be an admin or sub admin" : "Logged in user must be an admin or sub admin",
"Logged in user must be an admin" : "Logged in user must be an admin",
+ "Wiping of device %s has started" : "Wiping of device %s has started",
+ "Wiping of device »%s« has started" : "Wiping of device »%s« has started",
+ "»%s« started remote wipe" : "»%s« started remote wipe",
+ "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished",
+ "Wiping of device %s has finished" : "Wiping of device %s has finished",
+ "Wiping of device »%s« has finished" : "Wiping of device »%s« has finished",
+ "»%s« finished remote wipe" : "»%s« finished remote wipe",
+ "Device or application »%s« has finished the remote wipe process." : "Device or application »%s« has finished the remote wipe process.",
+ "Remote wipe started" : "Remote wipe started",
+ "A remote wipe was started on device %s" : "A remote wipe was started on device %s",
+ "Remote wipe finished" : "Remote wipe finished",
+ "The remote wipe on %s has finished" : "The remote wipe on %s has finished",
"Authentication" : "Authentication",
"Unknown filetype" : "Unknown filetype",
"Invalid image" : "Invalid image",
"Avatar image is not square" : "Avatar image is not square",
+ "View profile" : "View profile",
"today" : "today",
"tomorrow" : "tomorrow",
"yesterday" : "yesterday",
@@ -45,8 +76,12 @@ OC.L10N.register(
"_%n minute ago_::_%n minutes ago_" : ["%n minute ago","%n minutes ago"],
"in a few seconds" : "in a few seconds",
"seconds ago" : "seconds ago",
+ "Empty file" : "Empty file",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator.",
"File already exists" : "File already exists",
+ "Invalid path" : "Invalid path",
+ "Failed to create file from template" : "Failed to create file from template",
+ "Templates" : "Templates",
"File name is a reserved word" : "File name is a reserved word",
"File name contains at least one invalid character" : "File name contains at least one invalid character",
"File name is too long" : "File name is too long",
@@ -57,41 +92,69 @@ OC.L10N.register(
"__language_name__" : "English (British English)",
"This is an automatically sent email, please do not reply." : "This is an automatically sent email, please do not reply.",
"Help" : "Help",
+ "Appearance and accessibility" : "Appearance and accessibility",
"Apps" : "Apps",
+ "Personal settings" : "Personal settings",
+ "Administration settings" : "Administration settings",
"Settings" : "Settings",
"Log out" : "Log out",
"Users" : "Users",
"Email" : "Email",
+ "Mail %s" : "Mail %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "View %s on the fediverse",
"Phone" : "Phone",
+ "Call %s" : "Call %s",
"Twitter" : "Twitter",
+ "View %s on Twitter" : "View %s on Twitter",
"Website" : "Website",
+ "Visit %s" : "Visit %s",
"Address" : "Address",
"Profile picture" : "Profile picture",
"About" : "About",
"Full name" : "Full name",
+ "Headline" : "Headline",
+ "Organisation" : "Organisation",
+ "Role" : "Role",
"Unknown user" : "Unknown user",
"Additional settings" : "Additional settings",
+ "Enter the database username and name for %s" : "Enter the database username and name for %s",
+ "Enter the database username for %s" : "Enter the database username for %s",
+ "Enter the database name for %s" : "Enter the database name for %s",
+ "You cannot use dots in the database name %s" : "You cannot use dots in the database name %s",
+ "MySQL username and/or password not valid" : "MySQL username and/or password not valid",
"You need to enter details of an existing account." : "You need to enter details of an existing account.",
"Oracle connection could not be established" : "Oracle connection could not be established",
"Oracle username and/or password not valid" : "Oracle username and/or password not valid",
"PostgreSQL username and/or password not valid" : "PostgreSQL username and/or password not valid",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! ",
"For the best results, please consider using a GNU/Linux server instead." : "For the best results, please consider using a GNU/Linux server instead.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir setting has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher.",
+ "Please switch to 64-bit PHP." : "Please switch to 64-bit PHP.",
"Set an admin username." : "Set an admin username.",
"Set an admin password." : "Set an admin password.",
+ "Cannot create or write into the data directory %s" : "Cannot create or write into the data directory %s",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Sharing backend %s must implement the interface OCP\\Share_Backend",
"Sharing backend %s not found" : "Sharing backend %s not found",
"Sharing backend for %s not found" : "Sharing backend for %s not found",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s shared »%2$s« with you and wants to add:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s shared »%2$s« with you and wants to add",
+ "»%s« added a note to a file shared with you" : "»%s« added a note to a file shared with you",
"Open »%s«" : "Open »%s«",
"%1$s via %2$s" : "%1$s via %2$s",
"You are not allowed to share %s" : "You are not allowed to share %s",
"Cannot increase permissions of %s" : "Cannot increase permissions of %s",
+ "Files cannot be shared with delete permissions" : "Files cannot be shared with delete permissions",
+ "Files cannot be shared with create permissions" : "Files cannot be shared with create permissions",
"Expiration date is in the past" : "Expiration date is in the past",
+ "_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Cannot set expiration date more than %n day in the future","Cannot set expiration date more than %n days in the future"],
+ "Sharing is only allowed with group members" : "Sharing is only allowed with group members",
"Sharing %s failed, because this item is already shared with user %s" : "Sharing %s failed, because this item is already shared with user %s",
+ "%1$s shared »%2$s« with you" : "%1$s shared »%2$s« with you",
+ "%1$s shared »%2$s« with you." : "%1$s shared »%2$s« with you.",
"Click the button below to open it." : "Click the button below to open it.",
"The requested share does not exist anymore" : "The requested share does not exist any more",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "The user was not created because the user limit has been reached. Check your notifications to learn more.",
"Could not find category \"%s\"" : "Could not find category \"%s\"",
"Sunday" : "Sunday",
"Monday" : "Monday",
@@ -138,46 +201,81 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dec.",
+ "A valid password must be provided" : "A valid password must be provided",
+ "The username is already being used" : "The username is already being used",
+ "Could not create user" : "Could not create user",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "A valid username must be provided",
"Username contains whitespace at the beginning or at the end" : "Username contains whitespace at the beginning or at the end",
"Username must not consist of dots only" : "Username must not consist of dots only",
- "A valid password must be provided" : "A valid password must be provided",
- "The username is already being used" : "The username is already being used",
- "Could not create user" : "Could not create user",
+ "Username is invalid because files already exist for this user" : "Username is invalid because files already exist for this user",
"User disabled" : "User disabled",
"Login canceled by app" : "Login cancelled by app",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s",
"a safe home for all your data" : "a safe home for all your data",
"File is currently busy, please try again later" : "File is currently busy, please try again later",
+ "Cannot download file" : "Cannot download file",
"Application is not enabled" : "Application is not enabled",
"Authentication error" : "Authentication error",
"Token expired. Please reload page." : "Token expired. Please reload page.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No database drivers (sqlite, mysql, or postgresql) installed.",
+ "Cannot write into \"config\" directory." : "Cannot write into \"config\" directory.",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "This can usually be fixed by giving the web server write access to the config directory. See %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s",
+ "Cannot write into \"apps\" directory." : "Cannot write into \"apps\" directory.",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file.",
+ "Cannot create \"data\" directory." : "Cannot create \"data\" directory.",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "This can usually be fixed by giving the web server write access to the root directory. See %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Permissions can usually be fixed by giving the web server write access to the root directory. See %s.",
+ "Your data directory is not writable." : "Your data directory is not writable.",
+ "Setting locale to %s failed." : "Setting locale to %s failed.",
+ "Please install one of these locales on your system and restart your web server." : "Please install one of these locales on your system and restart your web server.",
"PHP module %s not installed." : "PHP module %s not installed.",
"Please ask your server administrator to install the module." : "Please ask your server administrator to install the module.",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP setting \"%s\" is not set to \"%s\".",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Adjusting this setting in php.ini will allow Nextcloud to run",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "libxml2 2.7.0 is at least required. Currently %s is installed.",
"To fix this issue update your libxml2 version and restart your web server." : "To fix this issue update your libxml2 version and restart your web server.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP modules have been installed, but they are still listed as missing?",
"Please ask your server administrator to restart the web server." : "Please ask your server administrator to restart the web server.",
+ "The required %s config variable is not configured in the config.php file." : "The required %s config variable is not configured in the config.php file.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Please ask your server administrator to check the Nextcloud configuration.",
+ "PostgreSQL >= 9 required." : "PostgreSQL >= 9 required.",
+ "Please upgrade your database version." : "Please upgrade your database version.",
+ "Your data directory is readable by other users." : "Your data directory is readable by other users.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Please change the permissions to 0770 so that the directory cannot be listed by other users.",
+ "Your data directory must be an absolute path." : "Your data directory must be an absolute path.",
+ "Check the value of \"datadirectory\" in your configuration." : "Check the value of \"datadirectory\" in your configuration.",
+ "Your data directory is invalid." : "Your data directory is invalid.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Ensure there is a file called \".ocdata\" in the root of the data directory.",
+ "Action \"%s\" not supported or implemented." : "Action \"%s\" not supported or implemented.",
+ "Authentication failed, wrong token or provider ID given" : "Authentication failed, wrong token or provider ID given",
+ "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Parameters missing in order to complete the request. Missing Parameters: \"%s\"",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "ID \"%1$s\" already used by cloud federation provider \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "Cloud Federation Provider with ID: \"%s\" does not exist.",
"Could not obtain lock type %d on \"%s\"." : "Could not obtain lock type %d on \"%s\".",
"Storage unauthorized. %s" : "Storage unauthorised. %s",
"Storage incomplete configuration. %s" : "Storage incomplete configuration. %s",
"Storage connection error. %s" : "Storage connection error. %s",
"Storage is temporarily not available" : "Storage is temporarily not available",
"Storage connection timeout. %s" : "Storage connection timeout. %s",
+ "This can usually be fixed by giving the webserver write access to the config directory." : "This can usually be fixed by giving the webserver write access to the config directory.",
"%s enter the database username and name." : "%s enter the database username and name.",
"%s enter the database username." : "%s enter the database username.",
"%s enter the database name." : "%s enter the database name.",
"%s you may not use dots in the database name" : "%s you may not use dots in the database name",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir setting has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP.",
+ "The user limit has been reached and the user was not created." : "The user limit has been reached and the user was not created.",
+ "Cannot read file" : "Cannot read file",
"Cannot write into \"config\" directory" : "Cannot write into \"config\" directory",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "This can usually be fixed by giving the webserver write access to the config directory. See %s",
"Cannot write into \"apps\" directory" : "Cannot write into \"apps\" directory",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file.",
"Cannot create \"data\" directory" : "Cannot create \"data\" directory",
"This can usually be fixed by giving the webserver write access to the root directory. See %s" : "This can usually be fixed by giving the webserver write access to the root directory. See %s",
"Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s.",
@@ -190,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Your data directory is readable by other users",
"Your data directory must be an absolute path" : "Your data directory must be an absolute path",
"Check the value of \"datadirectory\" in your configuration" : "Check the value of \"datadirectory\" in your configuration",
- "Your data directory is invalid" : "Your data directory is invalid"
+ "Your data directory is invalid" : "Your data directory is invalid",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "The user limit has been reached and the user was not created. Check your notifications to learn more."
},
"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/en_GB.json b/lib/l10n/en_GB.json
index e46b68d2b29..97680b5d520 100644
--- a/lib/l10n/en_GB.json
+++ b/lib/l10n/en_GB.json
@@ -1,8 +1,19 @@
{ "translations": {
"Cannot write into \"config\" directory!" : "Cannot write into \"config\" directory!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "This can usually be fixed by giving the web server write access to the config directory.",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it.",
"See %s" : "See %s",
+ "The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server.",
"Sample configuration detected" : "Sample configuration detected",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "The page could not be found on the server.",
+ "%s email verification" : "%s email verification",
+ "Email verification" : "Email verification",
+ "Click the following button to confirm your email." : "Click the following button to confirm your email.",
+ "Click the following link to confirm your email." : "Click the following link to confirm your email.",
+ "Confirm your email" : "Confirm your email",
+ "Other activities" : "Other activities",
"%1$s and %2$s" : "%1$s and %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s and %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s and %4$s",
@@ -10,20 +21,40 @@
"Education Edition" : "Education Edition",
"Enterprise bundle" : "Enterprise bundle",
"Groupware bundle" : "Groupware bundle",
+ "Hub bundle" : "Hub bundle",
"Social sharing bundle" : "Social sharing bundle",
"PHP %s or higher is required." : "PHP %s or higher is required.",
"PHP with a version lower than %s is required." : "PHP with a version lower than %s is required.",
"%sbit or higher PHP required." : "%sbit or higher PHP required.",
+ "The following architectures are supported: %s" : "The following architectures are supported: %s",
+ "The following databases are supported: %s" : "The following databases are supported: %s",
"The command line tool %s could not be found" : "The command line tool %s could not be found",
"The library %s is not available." : "The library %s is not available.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Library %1$s with a version higher than %2$s is required - available version %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Library %1$s with a version lower than %2$s is required - available version %3$s.",
+ "The following platforms are supported: %s" : "The following platforms are supported: %s",
"Server version %s or higher is required." : "Server version %s or higher is required.",
"Server version %s or lower is required." : "Server version %s or lower is required.",
"Logged in user must be an admin, a sub admin or gotten special right to access this setting" : "Logged in user must be an admin, a sub-admin or has special right to access this setting",
+ "Logged in user must be an admin or sub admin" : "Logged in user must be an admin or sub admin",
"Logged in user must be an admin" : "Logged in user must be an admin",
+ "Wiping of device %s has started" : "Wiping of device %s has started",
+ "Wiping of device »%s« has started" : "Wiping of device »%s« has started",
+ "»%s« started remote wipe" : "»%s« started remote wipe",
+ "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished",
+ "Wiping of device %s has finished" : "Wiping of device %s has finished",
+ "Wiping of device »%s« has finished" : "Wiping of device »%s« has finished",
+ "»%s« finished remote wipe" : "»%s« finished remote wipe",
+ "Device or application »%s« has finished the remote wipe process." : "Device or application »%s« has finished the remote wipe process.",
+ "Remote wipe started" : "Remote wipe started",
+ "A remote wipe was started on device %s" : "A remote wipe was started on device %s",
+ "Remote wipe finished" : "Remote wipe finished",
+ "The remote wipe on %s has finished" : "The remote wipe on %s has finished",
"Authentication" : "Authentication",
"Unknown filetype" : "Unknown filetype",
"Invalid image" : "Invalid image",
"Avatar image is not square" : "Avatar image is not square",
+ "View profile" : "View profile",
"today" : "today",
"tomorrow" : "tomorrow",
"yesterday" : "yesterday",
@@ -43,8 +74,12 @@
"_%n minute ago_::_%n minutes ago_" : ["%n minute ago","%n minutes ago"],
"in a few seconds" : "in a few seconds",
"seconds ago" : "seconds ago",
+ "Empty file" : "Empty file",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator.",
"File already exists" : "File already exists",
+ "Invalid path" : "Invalid path",
+ "Failed to create file from template" : "Failed to create file from template",
+ "Templates" : "Templates",
"File name is a reserved word" : "File name is a reserved word",
"File name contains at least one invalid character" : "File name contains at least one invalid character",
"File name is too long" : "File name is too long",
@@ -55,41 +90,69 @@
"__language_name__" : "English (British English)",
"This is an automatically sent email, please do not reply." : "This is an automatically sent email, please do not reply.",
"Help" : "Help",
+ "Appearance and accessibility" : "Appearance and accessibility",
"Apps" : "Apps",
+ "Personal settings" : "Personal settings",
+ "Administration settings" : "Administration settings",
"Settings" : "Settings",
"Log out" : "Log out",
"Users" : "Users",
"Email" : "Email",
+ "Mail %s" : "Mail %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "View %s on the fediverse",
"Phone" : "Phone",
+ "Call %s" : "Call %s",
"Twitter" : "Twitter",
+ "View %s on Twitter" : "View %s on Twitter",
"Website" : "Website",
+ "Visit %s" : "Visit %s",
"Address" : "Address",
"Profile picture" : "Profile picture",
"About" : "About",
"Full name" : "Full name",
+ "Headline" : "Headline",
+ "Organisation" : "Organisation",
+ "Role" : "Role",
"Unknown user" : "Unknown user",
"Additional settings" : "Additional settings",
+ "Enter the database username and name for %s" : "Enter the database username and name for %s",
+ "Enter the database username for %s" : "Enter the database username for %s",
+ "Enter the database name for %s" : "Enter the database name for %s",
+ "You cannot use dots in the database name %s" : "You cannot use dots in the database name %s",
+ "MySQL username and/or password not valid" : "MySQL username and/or password not valid",
"You need to enter details of an existing account." : "You need to enter details of an existing account.",
"Oracle connection could not be established" : "Oracle connection could not be established",
"Oracle username and/or password not valid" : "Oracle username and/or password not valid",
"PostgreSQL username and/or password not valid" : "PostgreSQL username and/or password not valid",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! ",
"For the best results, please consider using a GNU/Linux server instead." : "For the best results, please consider using a GNU/Linux server instead.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir setting has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher.",
+ "Please switch to 64-bit PHP." : "Please switch to 64-bit PHP.",
"Set an admin username." : "Set an admin username.",
"Set an admin password." : "Set an admin password.",
+ "Cannot create or write into the data directory %s" : "Cannot create or write into the data directory %s",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Sharing backend %s must implement the interface OCP\\Share_Backend",
"Sharing backend %s not found" : "Sharing backend %s not found",
"Sharing backend for %s not found" : "Sharing backend for %s not found",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s shared »%2$s« with you and wants to add:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s shared »%2$s« with you and wants to add",
+ "»%s« added a note to a file shared with you" : "»%s« added a note to a file shared with you",
"Open »%s«" : "Open »%s«",
"%1$s via %2$s" : "%1$s via %2$s",
"You are not allowed to share %s" : "You are not allowed to share %s",
"Cannot increase permissions of %s" : "Cannot increase permissions of %s",
+ "Files cannot be shared with delete permissions" : "Files cannot be shared with delete permissions",
+ "Files cannot be shared with create permissions" : "Files cannot be shared with create permissions",
"Expiration date is in the past" : "Expiration date is in the past",
+ "_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Cannot set expiration date more than %n day in the future","Cannot set expiration date more than %n days in the future"],
+ "Sharing is only allowed with group members" : "Sharing is only allowed with group members",
"Sharing %s failed, because this item is already shared with user %s" : "Sharing %s failed, because this item is already shared with user %s",
+ "%1$s shared »%2$s« with you" : "%1$s shared »%2$s« with you",
+ "%1$s shared »%2$s« with you." : "%1$s shared »%2$s« with you.",
"Click the button below to open it." : "Click the button below to open it.",
"The requested share does not exist anymore" : "The requested share does not exist any more",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "The user was not created because the user limit has been reached. Check your notifications to learn more.",
"Could not find category \"%s\"" : "Could not find category \"%s\"",
"Sunday" : "Sunday",
"Monday" : "Monday",
@@ -136,46 +199,81 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dec.",
+ "A valid password must be provided" : "A valid password must be provided",
+ "The username is already being used" : "The username is already being used",
+ "Could not create user" : "Could not create user",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "A valid username must be provided",
"Username contains whitespace at the beginning or at the end" : "Username contains whitespace at the beginning or at the end",
"Username must not consist of dots only" : "Username must not consist of dots only",
- "A valid password must be provided" : "A valid password must be provided",
- "The username is already being used" : "The username is already being used",
- "Could not create user" : "Could not create user",
+ "Username is invalid because files already exist for this user" : "Username is invalid because files already exist for this user",
"User disabled" : "User disabled",
"Login canceled by app" : "Login cancelled by app",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s",
"a safe home for all your data" : "a safe home for all your data",
"File is currently busy, please try again later" : "File is currently busy, please try again later",
+ "Cannot download file" : "Cannot download file",
"Application is not enabled" : "Application is not enabled",
"Authentication error" : "Authentication error",
"Token expired. Please reload page." : "Token expired. Please reload page.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No database drivers (sqlite, mysql, or postgresql) installed.",
+ "Cannot write into \"config\" directory." : "Cannot write into \"config\" directory.",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "This can usually be fixed by giving the web server write access to the config directory. See %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s",
+ "Cannot write into \"apps\" directory." : "Cannot write into \"apps\" directory.",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file.",
+ "Cannot create \"data\" directory." : "Cannot create \"data\" directory.",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "This can usually be fixed by giving the web server write access to the root directory. See %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Permissions can usually be fixed by giving the web server write access to the root directory. See %s.",
+ "Your data directory is not writable." : "Your data directory is not writable.",
+ "Setting locale to %s failed." : "Setting locale to %s failed.",
+ "Please install one of these locales on your system and restart your web server." : "Please install one of these locales on your system and restart your web server.",
"PHP module %s not installed." : "PHP module %s not installed.",
"Please ask your server administrator to install the module." : "Please ask your server administrator to install the module.",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP setting \"%s\" is not set to \"%s\".",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Adjusting this setting in php.ini will allow Nextcloud to run",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "libxml2 2.7.0 is at least required. Currently %s is installed.",
"To fix this issue update your libxml2 version and restart your web server." : "To fix this issue update your libxml2 version and restart your web server.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP modules have been installed, but they are still listed as missing?",
"Please ask your server administrator to restart the web server." : "Please ask your server administrator to restart the web server.",
+ "The required %s config variable is not configured in the config.php file." : "The required %s config variable is not configured in the config.php file.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Please ask your server administrator to check the Nextcloud configuration.",
+ "PostgreSQL >= 9 required." : "PostgreSQL >= 9 required.",
+ "Please upgrade your database version." : "Please upgrade your database version.",
+ "Your data directory is readable by other users." : "Your data directory is readable by other users.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Please change the permissions to 0770 so that the directory cannot be listed by other users.",
+ "Your data directory must be an absolute path." : "Your data directory must be an absolute path.",
+ "Check the value of \"datadirectory\" in your configuration." : "Check the value of \"datadirectory\" in your configuration.",
+ "Your data directory is invalid." : "Your data directory is invalid.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Ensure there is a file called \".ocdata\" in the root of the data directory.",
+ "Action \"%s\" not supported or implemented." : "Action \"%s\" not supported or implemented.",
+ "Authentication failed, wrong token or provider ID given" : "Authentication failed, wrong token or provider ID given",
+ "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Parameters missing in order to complete the request. Missing Parameters: \"%s\"",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "ID \"%1$s\" already used by cloud federation provider \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "Cloud Federation Provider with ID: \"%s\" does not exist.",
"Could not obtain lock type %d on \"%s\"." : "Could not obtain lock type %d on \"%s\".",
"Storage unauthorized. %s" : "Storage unauthorised. %s",
"Storage incomplete configuration. %s" : "Storage incomplete configuration. %s",
"Storage connection error. %s" : "Storage connection error. %s",
"Storage is temporarily not available" : "Storage is temporarily not available",
"Storage connection timeout. %s" : "Storage connection timeout. %s",
+ "This can usually be fixed by giving the webserver write access to the config directory." : "This can usually be fixed by giving the webserver write access to the config directory.",
"%s enter the database username and name." : "%s enter the database username and name.",
"%s enter the database username." : "%s enter the database username.",
"%s enter the database name." : "%s enter the database name.",
"%s you may not use dots in the database name" : "%s you may not use dots in the database name",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir setting has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP.",
+ "The user limit has been reached and the user was not created." : "The user limit has been reached and the user was not created.",
+ "Cannot read file" : "Cannot read file",
"Cannot write into \"config\" directory" : "Cannot write into \"config\" directory",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "This can usually be fixed by giving the webserver write access to the config directory. See %s",
"Cannot write into \"apps\" directory" : "Cannot write into \"apps\" directory",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file.",
"Cannot create \"data\" directory" : "Cannot create \"data\" directory",
"This can usually be fixed by giving the webserver write access to the root directory. See %s" : "This can usually be fixed by giving the webserver write access to the root directory. See %s",
"Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s.",
@@ -188,6 +286,7 @@
"Your data directory is readable by other users" : "Your data directory is readable by other users",
"Your data directory must be an absolute path" : "Your data directory must be an absolute path",
"Check the value of \"datadirectory\" in your configuration" : "Check the value of \"datadirectory\" in your configuration",
- "Your data directory is invalid" : "Your data directory is invalid"
+ "Your data directory is invalid" : "Your data directory is invalid",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "The user limit has been reached and the user was not created. Check your notifications to learn more."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/lib/l10n/eo.js b/lib/l10n/eo.js
index 6de600823d8..2c461fd8e69 100644
--- a/lib/l10n/eo.js
+++ b/lib/l10n/eo.js
@@ -68,6 +68,7 @@ OC.L10N.register(
"Empty file" : "Malplena dosiero",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Modulo kun identigilo %s ne ekzistas. Bv. ŝalti ĝin en la aplikaĵa agordo aŭ kontakti vian administranton.",
"File already exists" : "La dosiero jam ekzistas",
+ "Templates" : "Ŝablonoj",
"File name is a reserved word" : "Dosiernomo estas rezervita vorto",
"File name contains at least one invalid character" : "Dosiernomo enhavas almenaŭ unu nevalidan signon",
"File name is too long" : "La dosiernomo estas tro longa",
@@ -99,8 +100,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "La uzantnomo aŭ la pasvorto de PostgreSQL ne validas",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "MacOS X ne estas subtenata kaj %s ne bone funkcios ĉe ĝi. Uzu ĝin je via risko!",
"For the best results, please consider using a GNU/Linux server instead." : "Por pli bona funkciado, bv. pripensi uzi GNU-Linuksan servilon anstataŭe.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Ŝajnas, ke tiu servilo %s uzas 32-bitan PHP-version, kaj ke la agordo „open_basedir“ ekzistas. Tio kaŭzos problemojn pri dosieroj pli grandaj ol 4 GB, kaj do estas tre malrekomendita.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bv. forigi la agordon „open_basedir“ de via php.ini, aŭ uzu 64-bitan version de PHP.",
"Set an admin username." : "Agordi uzantnomon de administranto.",
"Set an admin password." : "Agordi pasvorton de administranto.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Kunhava interna servo %s devas realigi la interfacon „OCP\\Share_Backend“",
@@ -165,15 +164,14 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "The user limit has been reached and the user was not created." : "La limo de uzantoj estas atingita kaj la uzanto ne estas kreita.",
+ "A valid password must be provided" : "Valida pasvorto devas esti provizita",
+ "The username is already being used" : "La uzantnomo jam estas uzata",
+ "Could not create user" : "Ne povis krei uzanton",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Nur sekvaj signoj estas permesitaj en uzantnomo: \"a-z“, \"A-Z“, \"0-9“ kaj \"_“ (substreko), \"@“ (ĉe), \"-“ (streketo), \"'“ (apostrofo), \".“ (punkto)",
"A valid username must be provided" : "Valida uzantnomo devas esti provizita",
"Username contains whitespace at the beginning or at the end" : "Uzantnomo enhavas spaceton ĉe la komenco aŭ la fino",
"Username must not consist of dots only" : "Uzantnomo ne povas enhavi nur punktojn",
"Username is invalid because files already exist for this user" : "La uzantnomo ne estas valida pro dosieroj por la uzanto jam ekzistas",
- "A valid password must be provided" : "Valida pasvorto devas esti provizita",
- "The username is already being used" : "La uzantnomo jam estas uzata",
- "Could not create user" : "Ne povis krei uzanton",
"User disabled" : "Uzanto malebligita",
"Login canceled by app" : "Ensaluto estis nuligita de aplikaĵo",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "La aplikaĵo „%1$s“ ne instaliĝas, ĉar la jenaj dependecoj ne plenumiĝas: %2$s",
@@ -212,6 +210,9 @@ OC.L10N.register(
"%s enter the database username." : "%s entajpu la datumbazan uzantnomon.",
"%s enter the database name." : "%s entajpu la datumbazan nomon.",
"%s you may not use dots in the database name" : "%s vi ne povas uzi punktojn en la nomo de la datumbazo",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Ŝajnas, ke tiu servilo %s uzas 32-bitan PHP-version, kaj ke la agordo „open_basedir“ ekzistas. Tio kaŭzos problemojn pri dosieroj pli grandaj ol 4 GB, kaj do estas tre malrekomendita.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bv. forigi la agordon „open_basedir“ de via php.ini, aŭ uzu 64-bitan version de PHP.",
+ "The user limit has been reached and the user was not created." : "La limo de uzantoj estas atingita kaj la uzanto ne estas kreita.",
"Cannot write into \"config\" directory" : "Ne skribeblas la dosierujo „config“",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Igi la agordodosierujon alirebla de la servilo kutime solvas tiun problemon. Vidu %s",
"Cannot write into \"apps\" directory" : "Ne skribeblas la dosierujo „apps“",
diff --git a/lib/l10n/eo.json b/lib/l10n/eo.json
index 6b1648f1a05..78cd31eaa55 100644
--- a/lib/l10n/eo.json
+++ b/lib/l10n/eo.json
@@ -66,6 +66,7 @@
"Empty file" : "Malplena dosiero",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Modulo kun identigilo %s ne ekzistas. Bv. ŝalti ĝin en la aplikaĵa agordo aŭ kontakti vian administranton.",
"File already exists" : "La dosiero jam ekzistas",
+ "Templates" : "Ŝablonoj",
"File name is a reserved word" : "Dosiernomo estas rezervita vorto",
"File name contains at least one invalid character" : "Dosiernomo enhavas almenaŭ unu nevalidan signon",
"File name is too long" : "La dosiernomo estas tro longa",
@@ -97,8 +98,6 @@
"PostgreSQL username and/or password not valid" : "La uzantnomo aŭ la pasvorto de PostgreSQL ne validas",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "MacOS X ne estas subtenata kaj %s ne bone funkcios ĉe ĝi. Uzu ĝin je via risko!",
"For the best results, please consider using a GNU/Linux server instead." : "Por pli bona funkciado, bv. pripensi uzi GNU-Linuksan servilon anstataŭe.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Ŝajnas, ke tiu servilo %s uzas 32-bitan PHP-version, kaj ke la agordo „open_basedir“ ekzistas. Tio kaŭzos problemojn pri dosieroj pli grandaj ol 4 GB, kaj do estas tre malrekomendita.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bv. forigi la agordon „open_basedir“ de via php.ini, aŭ uzu 64-bitan version de PHP.",
"Set an admin username." : "Agordi uzantnomon de administranto.",
"Set an admin password." : "Agordi pasvorton de administranto.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Kunhava interna servo %s devas realigi la interfacon „OCP\\Share_Backend“",
@@ -163,15 +162,14 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "The user limit has been reached and the user was not created." : "La limo de uzantoj estas atingita kaj la uzanto ne estas kreita.",
+ "A valid password must be provided" : "Valida pasvorto devas esti provizita",
+ "The username is already being used" : "La uzantnomo jam estas uzata",
+ "Could not create user" : "Ne povis krei uzanton",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Nur sekvaj signoj estas permesitaj en uzantnomo: \"a-z“, \"A-Z“, \"0-9“ kaj \"_“ (substreko), \"@“ (ĉe), \"-“ (streketo), \"'“ (apostrofo), \".“ (punkto)",
"A valid username must be provided" : "Valida uzantnomo devas esti provizita",
"Username contains whitespace at the beginning or at the end" : "Uzantnomo enhavas spaceton ĉe la komenco aŭ la fino",
"Username must not consist of dots only" : "Uzantnomo ne povas enhavi nur punktojn",
"Username is invalid because files already exist for this user" : "La uzantnomo ne estas valida pro dosieroj por la uzanto jam ekzistas",
- "A valid password must be provided" : "Valida pasvorto devas esti provizita",
- "The username is already being used" : "La uzantnomo jam estas uzata",
- "Could not create user" : "Ne povis krei uzanton",
"User disabled" : "Uzanto malebligita",
"Login canceled by app" : "Ensaluto estis nuligita de aplikaĵo",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "La aplikaĵo „%1$s“ ne instaliĝas, ĉar la jenaj dependecoj ne plenumiĝas: %2$s",
@@ -210,6 +208,9 @@
"%s enter the database username." : "%s entajpu la datumbazan uzantnomon.",
"%s enter the database name." : "%s entajpu la datumbazan nomon.",
"%s you may not use dots in the database name" : "%s vi ne povas uzi punktojn en la nomo de la datumbazo",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Ŝajnas, ke tiu servilo %s uzas 32-bitan PHP-version, kaj ke la agordo „open_basedir“ ekzistas. Tio kaŭzos problemojn pri dosieroj pli grandaj ol 4 GB, kaj do estas tre malrekomendita.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Bv. forigi la agordon „open_basedir“ de via php.ini, aŭ uzu 64-bitan version de PHP.",
+ "The user limit has been reached and the user was not created." : "La limo de uzantoj estas atingita kaj la uzanto ne estas kreita.",
"Cannot write into \"config\" directory" : "Ne skribeblas la dosierujo „config“",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Igi la agordodosierujon alirebla de la servilo kutime solvas tiun problemon. Vidu %s",
"Cannot write into \"apps\" directory" : "Ne skribeblas la dosierujo „apps“",
diff --git a/lib/l10n/es.js b/lib/l10n/es.js
index 5834b52f0a1..389ca04f138 100644
--- a/lib/l10n/es.js
+++ b/lib/l10n/es.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Los archivos de la app %1$s no se han reemplazado correctamente. Asegúrate de que es una versión compatible con el servidor.",
"Sample configuration detected" : "Configuración de ejemplo detectada",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Se ha detectado que el ejemplo de configuración ha sido copiado. Esto podría afectar a su instalación, por lo que no tiene soporte. Lea la documentación antes de hacer cambios en config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "La página no se ha encontrado en el servidor.",
"%s email verification" : "%s verificación del correo electrónico",
"Email verification" : "Verificación del correo electrónico",
"Click the following button to confirm your email." : "Haz clic en el siguiente botón para confirmar tu correo electrónico.",
@@ -93,11 +95,14 @@ OC.L10N.register(
"Appearance and accessibility" : "Apariencia y accesibilidad",
"Apps" : "Aplicaciones",
"Personal settings" : "Ajustes personales",
+ "Administration settings" : "Configuraciones de administración",
"Settings" : "Ajustes",
"Log out" : "Cerrar sesión",
"Users" : "Usuarios",
"Email" : "Correo electrónico",
"Mail %s" : "Correo %s",
+ "Fediverse" : "Fediverso",
+ "View %s on the fediverse" : "Ver %s en el fediverso",
"Phone" : "Teléfono",
"Call %s" : "Llamada %s",
"Twitter" : "Twitter",
@@ -113,6 +118,10 @@ OC.L10N.register(
"Role" : "Puesto",
"Unknown user" : "Usuario desconocido",
"Additional settings" : "Configuración adicional",
+ "Enter the database username and name for %s" : "Introduzca el nombre de usuario y la contraseña para la base de datos %s",
+ "Enter the database username for %s" : "Introduzca el nombre de usuario para la base datos %s",
+ "Enter the database name for %s" : "Introduzca el nombre de la base de datos %s",
+ "You cannot use dots in the database name %s" : "No puede utilizar puntos para el nombre de base de datos 1%s ",
"MySQL username and/or password not valid" : "Usuario y/o contraseña de MySQL no válidos",
"You need to enter details of an existing account." : "Tienes que introducir los datos de una cuenta existente.",
"Oracle connection could not be established" : "No se pudo establecer la conexión a Oracle",
@@ -120,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Usuario y/o contraseña de PostgreSQL no válidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X no está soportado y %s no funcionará bien en esta plataforma. ¡Úsala bajo tu propio riesgo! ",
"For the best results, please consider using a GNU/Linux server instead." : "Para obtener los mejores resultados, considera utilizar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parece que esta instancia %s está funcionando en un entorno PHP de 32-bits y el open_basedir se ha configurado en php.ini. Esto acarreará problemas con archivos de tamaño superior a 4GB y resulta totalmente desaconsejado.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, quite el ajuste de open_basedir —dentro de su php.ini— o pásese a PHP de 64 bits.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Parece que esta %s instancia está ejecutándose en un ambiente PHP de 32 bits. Se requiere 64 bits para 26 y superiores.",
+ "Please switch to 64-bit PHP." : "Por favor cambie a PHP de 64 bits",
"Set an admin username." : "Configurar un nombre de usuario del administrador",
"Set an admin password." : "Configurar la contraseña del administrador.",
"Cannot create or write into the data directory %s" : "No se puede crear o escribir en la carpeta de datos %s",
@@ -145,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s ha compartido «%2$s» contigo.",
"Click the button below to open it." : "Haz clic en el botón de abajo para abrirlo.",
"The requested share does not exist anymore" : "El recurso compartido solicitado ya no existe",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "El usuario no fue creado ya que el límite de usuarios fue alcanzado. Compruebe sus notificaciones para aprender más.",
"Could not find category \"%s\"" : "No puede encontrar la categoría \"%s\"",
"Sunday" : "Domingo",
"Monday" : "Lunes",
@@ -191,20 +201,20 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
- "The user limit has been reached and the user was not created." : "Ha sido alcanzado el límite de usuarios, por tanto el usuario no fue creado.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "El nombre de usuario ya está en uso",
+ "Could not create user" : "No se ha podido crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Solo los siguientes caracteres están permitidos en un nombre de usuario: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El nombre de usuario contiene espacios en blanco al principio o al final",
"Username must not consist of dots only" : "El nombre de usuario no debe consistir solo de puntos",
"Username is invalid because files already exist for this user" : "El nombre de usuario es incorrecto debido a a que los archivos ya existen para este usuario",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "El nombre de usuario ya está en uso",
- "Could not create user" : "No se ha podido crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Login cancelado por la app",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "No se ha podido instlaar la app «%1$s» porque no se cumplen las siguientes dependencias: %2$s",
"a safe home for all your data" : "un hogar seguro para todos tus datos",
"File is currently busy, please try again later" : "El archivo se encuentra actualmente ocupado, por favor inténtelo de nuevo más tarde",
+ "Cannot download file" : "No se puede descargar archivo",
"Application is not enabled" : "La aplicación no está habilitada",
"Authentication error" : "Error de autenticación",
"Token expired. Please reload page." : "Token caducado. Por favor, recarge la página.",
@@ -258,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "%s introduzca el usuario de la base de datos.",
"%s enter the database name." : "%s introduzca el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s puede utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parece que esta instancia %s está funcionando en un entorno PHP de 32-bits y el open_basedir se ha configurado en php.ini. Esto acarreará problemas con archivos de tamaño superior a 4GB y resulta totalmente desaconsejado.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, quite el ajuste de open_basedir —dentro de su php.ini— o pásese a PHP de 64 bits.",
+ "The user limit has been reached and the user was not created." : "Ha sido alcanzado el límite de usuarios, por tanto el usuario no fue creado.",
"Cannot read file" : "No se puede leer archivo",
"Cannot write into \"config\" directory" : "No se puede escribir el el directorio de configuración",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Se podría solucionar esto dándole al servidor permisos de escritura del directorio de configuración. Ver %s",
@@ -275,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Tu directorio de datos puede ser leído por otros usuarios",
"Your data directory must be an absolute path" : "Su directorio data debe ser una ruta absoluta",
"Check the value of \"datadirectory\" in your configuration" : "Compruebe el valor de \"datadirectory\" en su configuración.",
- "Your data directory is invalid" : "Tu directorio de datos es inválido"
+ "Your data directory is invalid" : "Tu directorio de datos es inválido",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "El límite de usuarios fue alcanzado y el usuario no fue creado. Compruebe sus notificaciones para aprender más."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/lib/l10n/es.json b/lib/l10n/es.json
index fe3460a3f55..4c457cbb519 100644
--- a/lib/l10n/es.json
+++ b/lib/l10n/es.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Los archivos de la app %1$s no se han reemplazado correctamente. Asegúrate de que es una versión compatible con el servidor.",
"Sample configuration detected" : "Configuración de ejemplo detectada",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Se ha detectado que el ejemplo de configuración ha sido copiado. Esto podría afectar a su instalación, por lo que no tiene soporte. Lea la documentación antes de hacer cambios en config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "La página no se ha encontrado en el servidor.",
"%s email verification" : "%s verificación del correo electrónico",
"Email verification" : "Verificación del correo electrónico",
"Click the following button to confirm your email." : "Haz clic en el siguiente botón para confirmar tu correo electrónico.",
@@ -91,11 +93,14 @@
"Appearance and accessibility" : "Apariencia y accesibilidad",
"Apps" : "Aplicaciones",
"Personal settings" : "Ajustes personales",
+ "Administration settings" : "Configuraciones de administración",
"Settings" : "Ajustes",
"Log out" : "Cerrar sesión",
"Users" : "Usuarios",
"Email" : "Correo electrónico",
"Mail %s" : "Correo %s",
+ "Fediverse" : "Fediverso",
+ "View %s on the fediverse" : "Ver %s en el fediverso",
"Phone" : "Teléfono",
"Call %s" : "Llamada %s",
"Twitter" : "Twitter",
@@ -111,6 +116,10 @@
"Role" : "Puesto",
"Unknown user" : "Usuario desconocido",
"Additional settings" : "Configuración adicional",
+ "Enter the database username and name for %s" : "Introduzca el nombre de usuario y la contraseña para la base de datos %s",
+ "Enter the database username for %s" : "Introduzca el nombre de usuario para la base datos %s",
+ "Enter the database name for %s" : "Introduzca el nombre de la base de datos %s",
+ "You cannot use dots in the database name %s" : "No puede utilizar puntos para el nombre de base de datos 1%s ",
"MySQL username and/or password not valid" : "Usuario y/o contraseña de MySQL no válidos",
"You need to enter details of an existing account." : "Tienes que introducir los datos de una cuenta existente.",
"Oracle connection could not be established" : "No se pudo establecer la conexión a Oracle",
@@ -118,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "Usuario y/o contraseña de PostgreSQL no válidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X no está soportado y %s no funcionará bien en esta plataforma. ¡Úsala bajo tu propio riesgo! ",
"For the best results, please consider using a GNU/Linux server instead." : "Para obtener los mejores resultados, considera utilizar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parece que esta instancia %s está funcionando en un entorno PHP de 32-bits y el open_basedir se ha configurado en php.ini. Esto acarreará problemas con archivos de tamaño superior a 4GB y resulta totalmente desaconsejado.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, quite el ajuste de open_basedir —dentro de su php.ini— o pásese a PHP de 64 bits.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Parece que esta %s instancia está ejecutándose en un ambiente PHP de 32 bits. Se requiere 64 bits para 26 y superiores.",
+ "Please switch to 64-bit PHP." : "Por favor cambie a PHP de 64 bits",
"Set an admin username." : "Configurar un nombre de usuario del administrador",
"Set an admin password." : "Configurar la contraseña del administrador.",
"Cannot create or write into the data directory %s" : "No se puede crear o escribir en la carpeta de datos %s",
@@ -143,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s ha compartido «%2$s» contigo.",
"Click the button below to open it." : "Haz clic en el botón de abajo para abrirlo.",
"The requested share does not exist anymore" : "El recurso compartido solicitado ya no existe",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "El usuario no fue creado ya que el límite de usuarios fue alcanzado. Compruebe sus notificaciones para aprender más.",
"Could not find category \"%s\"" : "No puede encontrar la categoría \"%s\"",
"Sunday" : "Domingo",
"Monday" : "Lunes",
@@ -189,20 +199,20 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
- "The user limit has been reached and the user was not created." : "Ha sido alcanzado el límite de usuarios, por tanto el usuario no fue creado.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "El nombre de usuario ya está en uso",
+ "Could not create user" : "No se ha podido crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Solo los siguientes caracteres están permitidos en un nombre de usuario: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El nombre de usuario contiene espacios en blanco al principio o al final",
"Username must not consist of dots only" : "El nombre de usuario no debe consistir solo de puntos",
"Username is invalid because files already exist for this user" : "El nombre de usuario es incorrecto debido a a que los archivos ya existen para este usuario",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "El nombre de usuario ya está en uso",
- "Could not create user" : "No se ha podido crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Login cancelado por la app",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "No se ha podido instlaar la app «%1$s» porque no se cumplen las siguientes dependencias: %2$s",
"a safe home for all your data" : "un hogar seguro para todos tus datos",
"File is currently busy, please try again later" : "El archivo se encuentra actualmente ocupado, por favor inténtelo de nuevo más tarde",
+ "Cannot download file" : "No se puede descargar archivo",
"Application is not enabled" : "La aplicación no está habilitada",
"Authentication error" : "Error de autenticación",
"Token expired. Please reload page." : "Token caducado. Por favor, recarge la página.",
@@ -256,6 +266,9 @@
"%s enter the database username." : "%s introduzca el usuario de la base de datos.",
"%s enter the database name." : "%s introduzca el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s puede utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parece que esta instancia %s está funcionando en un entorno PHP de 32-bits y el open_basedir se ha configurado en php.ini. Esto acarreará problemas con archivos de tamaño superior a 4GB y resulta totalmente desaconsejado.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, quite el ajuste de open_basedir —dentro de su php.ini— o pásese a PHP de 64 bits.",
+ "The user limit has been reached and the user was not created." : "Ha sido alcanzado el límite de usuarios, por tanto el usuario no fue creado.",
"Cannot read file" : "No se puede leer archivo",
"Cannot write into \"config\" directory" : "No se puede escribir el el directorio de configuración",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Se podría solucionar esto dándole al servidor permisos de escritura del directorio de configuración. Ver %s",
@@ -273,6 +286,7 @@
"Your data directory is readable by other users" : "Tu directorio de datos puede ser leído por otros usuarios",
"Your data directory must be an absolute path" : "Su directorio data debe ser una ruta absoluta",
"Check the value of \"datadirectory\" in your configuration" : "Compruebe el valor de \"datadirectory\" en su configuración.",
- "Your data directory is invalid" : "Tu directorio de datos es inválido"
+ "Your data directory is invalid" : "Tu directorio de datos es inválido",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "El límite de usuarios fue alcanzado y el usuario no fue creado. Compruebe sus notificaciones para aprender más."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/lib/l10n/es_419.js b/lib/l10n/es_419.js
index f0b27a21e92..6da03457563 100644
--- a/lib/l10n/es_419.js
+++ b/lib/l10n/es_419.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -135,13 +133,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -172,6 +170,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_419.json b/lib/l10n/es_419.json
index d7bb63f6436..6ca06d5e8a7 100644
--- a/lib/l10n/es_419.json
+++ b/lib/l10n/es_419.json
@@ -73,8 +73,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -133,13 +131,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -170,6 +168,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_AR.js b/lib/l10n/es_AR.js
index 156eca583ed..b6a38dd668f 100644
--- a/lib/l10n/es_AR.js
+++ b/lib/l10n/es_AR.js
@@ -13,12 +13,12 @@ OC.L10N.register(
"Groupware bundle" : "Paquete de Groupware",
"Social sharing bundle" : "Paquete para compartir en redes sociales",
"PHP %s or higher is required." : "Se requiere de PHPH %s o superior.",
- "PHP with a version lower than %s is required." : "PHP con una versión inferiror a la %s es requerido. ",
+ "PHP with a version lower than %s is required." : "PHP con una versión inferior a la %s es requerido. ",
"%sbit or higher PHP required." : "se requiere PHP para %sbit o superior.",
"The command line tool %s could not be found" : "No fue posible encontar la herramienta de línea de comando %s",
"The library %s is not available." : "La biblioteca %s no está disponible. ",
"Server version %s or higher is required." : "Se requiere la versión del servidor %s o superior. ",
- "Server version %s or lower is required." : "La versión del servidor %s o inferior es requerdia. ",
+ "Server version %s or lower is required." : "La versión del servidor %s o inferior es requerida. ",
"Authentication" : "Autenticación",
"Unknown filetype" : "Tipo de archivo desconocido",
"Invalid image" : "Imagen inválida",
@@ -64,8 +64,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El nombre de usuario y/o contraseña de PostgreSQL inválidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Uselo bajo su propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, favor de cosiderar usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Favor de eliminar el ajuste open_basedir de su archivo php.ini o cambie a PHP de 64 bits. ",
"Set an admin username." : "Configurar un nombre de usuario del administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -123,12 +121,12 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese nombre de usuario ya está en uso",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el nombre de usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El nombre del usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El nombre de usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese nombre de usuario ya está en uso",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos sus datos",
@@ -158,6 +156,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresar el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puede utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Favor de eliminar el ajuste open_basedir de su archivo php.ini o cambie a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Favor de ver %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_AR.json b/lib/l10n/es_AR.json
index 6e32f378720..88407943b39 100644
--- a/lib/l10n/es_AR.json
+++ b/lib/l10n/es_AR.json
@@ -11,12 +11,12 @@
"Groupware bundle" : "Paquete de Groupware",
"Social sharing bundle" : "Paquete para compartir en redes sociales",
"PHP %s or higher is required." : "Se requiere de PHPH %s o superior.",
- "PHP with a version lower than %s is required." : "PHP con una versión inferiror a la %s es requerido. ",
+ "PHP with a version lower than %s is required." : "PHP con una versión inferior a la %s es requerido. ",
"%sbit or higher PHP required." : "se requiere PHP para %sbit o superior.",
"The command line tool %s could not be found" : "No fue posible encontar la herramienta de línea de comando %s",
"The library %s is not available." : "La biblioteca %s no está disponible. ",
"Server version %s or higher is required." : "Se requiere la versión del servidor %s o superior. ",
- "Server version %s or lower is required." : "La versión del servidor %s o inferior es requerdia. ",
+ "Server version %s or lower is required." : "La versión del servidor %s o inferior es requerida. ",
"Authentication" : "Autenticación",
"Unknown filetype" : "Tipo de archivo desconocido",
"Invalid image" : "Imagen inválida",
@@ -62,8 +62,6 @@
"PostgreSQL username and/or password not valid" : "El nombre de usuario y/o contraseña de PostgreSQL inválidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Uselo bajo su propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, favor de cosiderar usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Favor de eliminar el ajuste open_basedir de su archivo php.ini o cambie a PHP de 64 bits. ",
"Set an admin username." : "Configurar un nombre de usuario del administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -121,12 +119,12 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese nombre de usuario ya está en uso",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el nombre de usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El nombre del usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El nombre de usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese nombre de usuario ya está en uso",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos sus datos",
@@ -156,6 +154,8 @@
"%s enter the database username." : "%s ingresar el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puede utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Favor de eliminar el ajuste open_basedir de su archivo php.ini o cambie a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Favor de ver %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_CL.js b/lib/l10n/es_CL.js
index 70fc5b7d518..d4801386b5d 100644
--- a/lib/l10n/es_CL.js
+++ b/lib/l10n/es_CL.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -136,13 +134,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -173,6 +171,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_CL.json b/lib/l10n/es_CL.json
index 9bc25a25071..284861e6370 100644
--- a/lib/l10n/es_CL.json
+++ b/lib/l10n/es_CL.json
@@ -74,8 +74,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -134,13 +132,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -171,6 +169,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_CO.js b/lib/l10n/es_CO.js
index 59d9d091670..f7eb47d5441 100644
--- a/lib/l10n/es_CO.js
+++ b/lib/l10n/es_CO.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -136,13 +134,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -173,6 +171,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_CO.json b/lib/l10n/es_CO.json
index ab12da2c063..e624828b11b 100644
--- a/lib/l10n/es_CO.json
+++ b/lib/l10n/es_CO.json
@@ -74,8 +74,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -134,13 +132,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -171,6 +169,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_CR.js b/lib/l10n/es_CR.js
index 56c4c7c22f1..45367e71016 100644
--- a/lib/l10n/es_CR.js
+++ b/lib/l10n/es_CR.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -136,13 +134,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -173,6 +171,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_CR.json b/lib/l10n/es_CR.json
index 840ada39651..0c8786a7ba6 100644
--- a/lib/l10n/es_CR.json
+++ b/lib/l10n/es_CR.json
@@ -74,8 +74,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -134,13 +132,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -171,6 +169,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_DO.js b/lib/l10n/es_DO.js
index 762c7532d98..9dd0f2a9c16 100644
--- a/lib/l10n/es_DO.js
+++ b/lib/l10n/es_DO.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -136,13 +134,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -173,6 +171,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_DO.json b/lib/l10n/es_DO.json
index 30d41f08a88..3b0f0e93289 100644
--- a/lib/l10n/es_DO.json
+++ b/lib/l10n/es_DO.json
@@ -74,8 +74,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -134,13 +132,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -171,6 +169,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_EC.js b/lib/l10n/es_EC.js
index dcec6609f21..46576459888 100644
--- a/lib/l10n/es_EC.js
+++ b/lib/l10n/es_EC.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -136,13 +134,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -173,6 +171,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_EC.json b/lib/l10n/es_EC.json
index bef6b23e944..409f6ded61a 100644
--- a/lib/l10n/es_EC.json
+++ b/lib/l10n/es_EC.json
@@ -74,8 +74,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -134,13 +132,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -171,6 +169,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_GT.js b/lib/l10n/es_GT.js
index b4679aeae39..cc39cb2465c 100644
--- a/lib/l10n/es_GT.js
+++ b/lib/l10n/es_GT.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -136,13 +134,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -173,6 +171,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_GT.json b/lib/l10n/es_GT.json
index 88cebed4778..535722fea2c 100644
--- a/lib/l10n/es_GT.json
+++ b/lib/l10n/es_GT.json
@@ -74,8 +74,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -134,13 +132,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -171,6 +169,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_HN.js b/lib/l10n/es_HN.js
index 1da8f101d05..0cbfba3bc10 100644
--- a/lib/l10n/es_HN.js
+++ b/lib/l10n/es_HN.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -135,13 +133,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -172,6 +170,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_HN.json b/lib/l10n/es_HN.json
index 9e37a9c81b6..f9e1e2cc28d 100644
--- a/lib/l10n/es_HN.json
+++ b/lib/l10n/es_HN.json
@@ -73,8 +73,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -133,13 +131,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -170,6 +168,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js
index be2e63c0b2b..2080280e110 100644
--- a/lib/l10n/es_MX.js
+++ b/lib/l10n/es_MX.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -136,13 +134,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -173,6 +171,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json
index 25a4acc9521..2f9a6c69540 100644
--- a/lib/l10n/es_MX.json
+++ b/lib/l10n/es_MX.json
@@ -74,8 +74,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -134,13 +132,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -171,6 +169,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_NI.js b/lib/l10n/es_NI.js
index 123446b8615..1d54c2700f3 100644
--- a/lib/l10n/es_NI.js
+++ b/lib/l10n/es_NI.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -135,13 +133,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -172,6 +170,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_NI.json b/lib/l10n/es_NI.json
index 61ceee164ad..be2822ac729 100644
--- a/lib/l10n/es_NI.json
+++ b/lib/l10n/es_NI.json
@@ -73,8 +73,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -133,13 +131,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -170,6 +168,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_PA.js b/lib/l10n/es_PA.js
index 0c59644bc7a..15f0051fbc8 100644
--- a/lib/l10n/es_PA.js
+++ b/lib/l10n/es_PA.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -135,13 +133,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -172,6 +170,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_PA.json b/lib/l10n/es_PA.json
index b0d62f4f8c9..2dddd431a33 100644
--- a/lib/l10n/es_PA.json
+++ b/lib/l10n/es_PA.json
@@ -73,8 +73,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -133,13 +131,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -170,6 +168,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_PE.js b/lib/l10n/es_PE.js
index daffcc77ad4..37b25e67445 100644
--- a/lib/l10n/es_PE.js
+++ b/lib/l10n/es_PE.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -135,13 +133,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -172,6 +170,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_PE.json b/lib/l10n/es_PE.json
index a884ca24f19..ec0f63847d5 100644
--- a/lib/l10n/es_PE.json
+++ b/lib/l10n/es_PE.json
@@ -73,8 +73,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -133,13 +131,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -170,6 +168,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_PR.js b/lib/l10n/es_PR.js
index 007ad8ade6b..859bbf19ee3 100644
--- a/lib/l10n/es_PR.js
+++ b/lib/l10n/es_PR.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -135,13 +133,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -172,6 +170,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_PR.json b/lib/l10n/es_PR.json
index 708a1384c20..213ae26ce33 100644
--- a/lib/l10n/es_PR.json
+++ b/lib/l10n/es_PR.json
@@ -73,8 +73,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -133,13 +131,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -170,6 +168,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_PY.js b/lib/l10n/es_PY.js
index 2b2cbcb0a1b..1f79c02aa05 100644
--- a/lib/l10n/es_PY.js
+++ b/lib/l10n/es_PY.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -135,13 +133,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -172,6 +170,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_PY.json b/lib/l10n/es_PY.json
index b967a1b7bb5..1f19891f6d2 100644
--- a/lib/l10n/es_PY.json
+++ b/lib/l10n/es_PY.json
@@ -73,8 +73,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -133,13 +131,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -170,6 +168,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_SV.js b/lib/l10n/es_SV.js
index d8c45c42904..2dcb68b3517 100644
--- a/lib/l10n/es_SV.js
+++ b/lib/l10n/es_SV.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -136,13 +134,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -173,6 +171,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_SV.json b/lib/l10n/es_SV.json
index 3ec4a7f47c9..53874c95a54 100644
--- a/lib/l10n/es_SV.json
+++ b/lib/l10n/es_SV.json
@@ -74,8 +74,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -134,13 +132,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -171,6 +169,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_UY.js b/lib/l10n/es_UY.js
index c136e563659..53efed21d1f 100644
--- a/lib/l10n/es_UY.js
+++ b/lib/l10n/es_UY.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -135,13 +133,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -172,6 +170,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/es_UY.json b/lib/l10n/es_UY.json
index 4ac24ccd5c4..affb6f8d017 100644
--- a/lib/l10n/es_UY.json
+++ b/lib/l10n/es_UY.json
@@ -73,8 +73,6 @@
"PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Úsalo bajo tu propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, por favor cosidera usar en su lugar un servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "El backend %s que comparte debe implementar la interface OCP\\Share_Backend",
@@ -133,13 +131,13 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dic.",
+ "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
+ "The username is already being used" : "Ese usuario ya está en uso",
+ "Could not create user" : "No fue posible crear el usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
"A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
"Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
"Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
- "A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese usuario ya está en uso",
- "Could not create user" : "No fue posible crear el usuario",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"a safe home for all your data" : "un lugar seguro para todos tus datos",
@@ -170,6 +168,8 @@
"%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
"%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
diff --git a/lib/l10n/et_EE.js b/lib/l10n/et_EE.js
index e61b94a20da..6147eb38ccf 100644
--- a/lib/l10n/et_EE.js
+++ b/lib/l10n/et_EE.js
@@ -117,13 +117,13 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dets.",
+ "A valid password must be provided" : "Sisesta nõuetele vastav parool",
+ "The username is already being used" : "Kasutajanimi on juba kasutuses",
+ "Could not create user" : "Ei saanud kasutajat luua",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kasutajanimes on lubatud ainult järgmised sümbolid: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Sisesta nõuetele vastav kasutajatunnus",
"Username contains whitespace at the beginning or at the end" : "Kasutajanime alguses või lõpus on tühik",
"Username must not consist of dots only" : "Kasutajanimi ei tohi koosneda ainult punktidest",
- "A valid password must be provided" : "Sisesta nõuetele vastav parool",
- "The username is already being used" : "Kasutajanimi on juba kasutuses",
- "Could not create user" : "Ei saanud kasutajat luua",
"User disabled" : "Kasutaja deaktiveeritud",
"a safe home for all your data" : "turvaline koht sinu andmetele",
"File is currently busy, please try again later" : "Fail on hetkel kasutuses, proovi hiljem uuesti",
diff --git a/lib/l10n/et_EE.json b/lib/l10n/et_EE.json
index 6bd088afc55..c9dc07c86c4 100644
--- a/lib/l10n/et_EE.json
+++ b/lib/l10n/et_EE.json
@@ -115,13 +115,13 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dets.",
+ "A valid password must be provided" : "Sisesta nõuetele vastav parool",
+ "The username is already being used" : "Kasutajanimi on juba kasutuses",
+ "Could not create user" : "Ei saanud kasutajat luua",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kasutajanimes on lubatud ainult järgmised sümbolid: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Sisesta nõuetele vastav kasutajatunnus",
"Username contains whitespace at the beginning or at the end" : "Kasutajanime alguses või lõpus on tühik",
"Username must not consist of dots only" : "Kasutajanimi ei tohi koosneda ainult punktidest",
- "A valid password must be provided" : "Sisesta nõuetele vastav parool",
- "The username is already being used" : "Kasutajanimi on juba kasutuses",
- "Could not create user" : "Ei saanud kasutajat luua",
"User disabled" : "Kasutaja deaktiveeritud",
"a safe home for all your data" : "turvaline koht sinu andmetele",
"File is currently busy, please try again later" : "Fail on hetkel kasutuses, proovi hiljem uuesti",
diff --git a/lib/l10n/eu.js b/lib/l10n/eu.js
index e013cd2f75d..d3aac44cca8 100644
--- a/lib/l10n/eu.js
+++ b/lib/l10n/eu.js
@@ -8,6 +8,7 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "%1$s aplikazioaren fitxategiak ez dira behar bezala ordezkatu. Ziurtatu zerbitzariarekin bateragarria den bertsioa dela.",
"Sample configuration detected" : "Adibide-ezarpena detektatua",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Detektatu da adibide-ezarpena kopiatu dela. Honek zure instalazioa apur dezake eta ez da onartzen. Irakurri dokumentazioa config.php fitxategia aldatu aurretik.",
+ "The page could not be found on the server." : "Orria ez da zerbitzarian aurkitu.",
"%s email verification" : "%sposta elektronikoaren egiaztapena",
"Email verification" : "Posta elektronikoaren egiaztapena",
"Click the following button to confirm your email." : "Egin klik hurrengo botoian zure posta elektronikoa berresteko.",
@@ -93,6 +94,7 @@ OC.L10N.register(
"Appearance and accessibility" : "Itxura eta irisgarritasuna",
"Apps" : "Aplikazioak",
"Personal settings" : "Ezarpen pertsonalak",
+ "Administration settings" : "Administrazio ezarpenak",
"Settings" : "Ezarpenak",
"Log out" : "Amaitu saioa",
"Users" : "Erabiltzaileak",
@@ -113,6 +115,10 @@ OC.L10N.register(
"Role" : "Zeregina",
"Unknown user" : "Erabiltzaile ezezaguna",
"Additional settings" : "Ezarpen gehiago",
+ "Enter the database username and name for %s" : "Sartu %s(r)en datu-base erabiltzaile-izen eta izena",
+ "Enter the database username for %s" : "Sartu %s(r)en datu-base erabiltzaile-izena",
+ "Enter the database name for %s" : "Sartu %s(r)en datu-base izena",
+ "You cannot use dots in the database name %s" : "Ezin duzu punturik erabili %s datu-base izenean",
"MySQL username and/or password not valid" : "MySQL erabiltzaile-izen edota pasahitza baliogabea",
"You need to enter details of an existing account." : "Existitzen den kontu baten xehetasunak sartu behar dituzu.",
"Oracle connection could not be established" : "Ezin da Oracle konexioa sortu",
@@ -120,8 +126,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL erabiltzaile edota pasahitza ez dira egokiak.",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X-ek ez du sostengurik eta %s gaizki ibili daiteke plataforma honetan. Erabiltzekotan, zure ardurapean.",
"For the best results, please consider using a GNU/Linux server instead." : "Emaitza hobeak izateko, mesedez gogoan hartu GNU/Linux zerbitzari bat erabiltzea.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Badirudi %s instantzia hau 32 biteko PHP ingurune bat exekutatzen ari dela eta open_basedir aldagaia php.ini fitxategian konfiguratu dela. Honek arazoak sortuko ditu 4 GB baino gehiagoko fitxategiekin eta ez da gomendatzen.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Mesedez kendu open_basedir ezarpena zure php.ini-tik edo aldatu 64-biteko PHPra.",
"Set an admin username." : "Ezarri administraziorako erabiltzaile izena.",
"Set an admin password." : "Ezarri administraziorako pasahitza.",
"Cannot create or write into the data directory %s" : "Ezin da sortu edo idatzi %s datu-direktorioan ",
@@ -191,15 +195,14 @@ OC.L10N.register(
"Oct." : "Urr.",
"Nov." : "Aza.",
"Dec." : "Abe.",
- "The user limit has been reached and the user was not created." : "Erabiltzaile mugara heldu da eta ez da erabiltzailea sortu.",
+ "A valid password must be provided" : "Baliozko pasahitza eman behar da",
+ "The username is already being used" : "Erabiltzaile izena dagoeneko erabiltzen ari da",
+ "Could not create user" : "Ezin izan da erabiltzailea sortu",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Erabiltzaile-izenean karaktere hauek soilik erabili daitezke: \"a-z\", \"A-Z\", \"0-9\", eta \"_.@-'\"",
"A valid username must be provided" : "Baliozko erabiltzaile izena eman behar da",
"Username contains whitespace at the beginning or at the end" : "Erabiltzaile-izenak zuriuneren bat du hasieran edo amaieran",
"Username must not consist of dots only" : "Erabiltzaile-izena ezin da puntuz osatuta soilik egon",
"Username is invalid because files already exist for this user" : "Erabiltzaile-izena ez da baliozkoa fitxategiak erabiltzaile honentzat existitzen direlako dagoeneko",
- "A valid password must be provided" : "Baliozko pasahitza eman behar da",
- "The username is already being used" : "Erabiltzaile izena dagoeneko erabiltzen ari da",
- "Could not create user" : "Ezin izan da erabiltzailea sortu",
"User disabled" : "Erabiltzaile desgaituta",
"Login canceled by app" : "Aplikazioa saioa bertan behera utzi du",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" aplikazioa ezin da instalatu, menpekotasun hauek betetzen ez direlako:%2$s",
@@ -259,6 +262,9 @@ OC.L10N.register(
"%s enter the database username." : "%s sartu datu basearen erabiltzaile izena.",
"%s enter the database name." : "%s sartu datu basearen izena.",
"%s you may not use dots in the database name" : "%s ezin duzu punturik erabili datu basearen izenean.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Badirudi %s instantzia hau 32 biteko PHP ingurune bat exekutatzen ari dela eta open_basedir aldagaia php.ini fitxategian konfiguratu dela. Honek arazoak sortuko ditu 4 GB baino gehiagoko fitxategiekin eta ez da gomendatzen.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Mesedez kendu open_basedir ezarpena zure php.ini-tik edo aldatu 64-biteko PHPra.",
+ "The user limit has been reached and the user was not created." : "Erabiltzaile mugara heldu da eta ez da erabiltzailea sortu.",
"Cannot read file" : "Ezin da fitxategia irakurri",
"Cannot write into \"config\" directory" : "Ezin da idatzi \"config\" karpetan",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Hau normalean konpondu daiteke web zerbitzariari konfigurazio direktoriorako sarbidea emanez. Ikus %s",
diff --git a/lib/l10n/eu.json b/lib/l10n/eu.json
index f1cb4bb66ea..42c87d60660 100644
--- a/lib/l10n/eu.json
+++ b/lib/l10n/eu.json
@@ -6,6 +6,7 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "%1$s aplikazioaren fitxategiak ez dira behar bezala ordezkatu. Ziurtatu zerbitzariarekin bateragarria den bertsioa dela.",
"Sample configuration detected" : "Adibide-ezarpena detektatua",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Detektatu da adibide-ezarpena kopiatu dela. Honek zure instalazioa apur dezake eta ez da onartzen. Irakurri dokumentazioa config.php fitxategia aldatu aurretik.",
+ "The page could not be found on the server." : "Orria ez da zerbitzarian aurkitu.",
"%s email verification" : "%sposta elektronikoaren egiaztapena",
"Email verification" : "Posta elektronikoaren egiaztapena",
"Click the following button to confirm your email." : "Egin klik hurrengo botoian zure posta elektronikoa berresteko.",
@@ -91,6 +92,7 @@
"Appearance and accessibility" : "Itxura eta irisgarritasuna",
"Apps" : "Aplikazioak",
"Personal settings" : "Ezarpen pertsonalak",
+ "Administration settings" : "Administrazio ezarpenak",
"Settings" : "Ezarpenak",
"Log out" : "Amaitu saioa",
"Users" : "Erabiltzaileak",
@@ -111,6 +113,10 @@
"Role" : "Zeregina",
"Unknown user" : "Erabiltzaile ezezaguna",
"Additional settings" : "Ezarpen gehiago",
+ "Enter the database username and name for %s" : "Sartu %s(r)en datu-base erabiltzaile-izen eta izena",
+ "Enter the database username for %s" : "Sartu %s(r)en datu-base erabiltzaile-izena",
+ "Enter the database name for %s" : "Sartu %s(r)en datu-base izena",
+ "You cannot use dots in the database name %s" : "Ezin duzu punturik erabili %s datu-base izenean",
"MySQL username and/or password not valid" : "MySQL erabiltzaile-izen edota pasahitza baliogabea",
"You need to enter details of an existing account." : "Existitzen den kontu baten xehetasunak sartu behar dituzu.",
"Oracle connection could not be established" : "Ezin da Oracle konexioa sortu",
@@ -118,8 +124,6 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL erabiltzaile edota pasahitza ez dira egokiak.",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X-ek ez du sostengurik eta %s gaizki ibili daiteke plataforma honetan. Erabiltzekotan, zure ardurapean.",
"For the best results, please consider using a GNU/Linux server instead." : "Emaitza hobeak izateko, mesedez gogoan hartu GNU/Linux zerbitzari bat erabiltzea.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Badirudi %s instantzia hau 32 biteko PHP ingurune bat exekutatzen ari dela eta open_basedir aldagaia php.ini fitxategian konfiguratu dela. Honek arazoak sortuko ditu 4 GB baino gehiagoko fitxategiekin eta ez da gomendatzen.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Mesedez kendu open_basedir ezarpena zure php.ini-tik edo aldatu 64-biteko PHPra.",
"Set an admin username." : "Ezarri administraziorako erabiltzaile izena.",
"Set an admin password." : "Ezarri administraziorako pasahitza.",
"Cannot create or write into the data directory %s" : "Ezin da sortu edo idatzi %s datu-direktorioan ",
@@ -189,15 +193,14 @@
"Oct." : "Urr.",
"Nov." : "Aza.",
"Dec." : "Abe.",
- "The user limit has been reached and the user was not created." : "Erabiltzaile mugara heldu da eta ez da erabiltzailea sortu.",
+ "A valid password must be provided" : "Baliozko pasahitza eman behar da",
+ "The username is already being used" : "Erabiltzaile izena dagoeneko erabiltzen ari da",
+ "Could not create user" : "Ezin izan da erabiltzailea sortu",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Erabiltzaile-izenean karaktere hauek soilik erabili daitezke: \"a-z\", \"A-Z\", \"0-9\", eta \"_.@-'\"",
"A valid username must be provided" : "Baliozko erabiltzaile izena eman behar da",
"Username contains whitespace at the beginning or at the end" : "Erabiltzaile-izenak zuriuneren bat du hasieran edo amaieran",
"Username must not consist of dots only" : "Erabiltzaile-izena ezin da puntuz osatuta soilik egon",
"Username is invalid because files already exist for this user" : "Erabiltzaile-izena ez da baliozkoa fitxategiak erabiltzaile honentzat existitzen direlako dagoeneko",
- "A valid password must be provided" : "Baliozko pasahitza eman behar da",
- "The username is already being used" : "Erabiltzaile izena dagoeneko erabiltzen ari da",
- "Could not create user" : "Ezin izan da erabiltzailea sortu",
"User disabled" : "Erabiltzaile desgaituta",
"Login canceled by app" : "Aplikazioa saioa bertan behera utzi du",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" aplikazioa ezin da instalatu, menpekotasun hauek betetzen ez direlako:%2$s",
@@ -257,6 +260,9 @@
"%s enter the database username." : "%s sartu datu basearen erabiltzaile izena.",
"%s enter the database name." : "%s sartu datu basearen izena.",
"%s you may not use dots in the database name" : "%s ezin duzu punturik erabili datu basearen izenean.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Badirudi %s instantzia hau 32 biteko PHP ingurune bat exekutatzen ari dela eta open_basedir aldagaia php.ini fitxategian konfiguratu dela. Honek arazoak sortuko ditu 4 GB baino gehiagoko fitxategiekin eta ez da gomendatzen.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Mesedez kendu open_basedir ezarpena zure php.ini-tik edo aldatu 64-biteko PHPra.",
+ "The user limit has been reached and the user was not created." : "Erabiltzaile mugara heldu da eta ez da erabiltzailea sortu.",
"Cannot read file" : "Ezin da fitxategia irakurri",
"Cannot write into \"config\" directory" : "Ezin da idatzi \"config\" karpetan",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Hau normalean konpondu daiteke web zerbitzariari konfigurazio direktoriorako sarbidea emanez. Ikus %s",
diff --git a/lib/l10n/fa.js b/lib/l10n/fa.js
index 9aeeba84822..e1e9c89ec88 100644
--- a/lib/l10n/fa.js
+++ b/lib/l10n/fa.js
@@ -6,24 +6,28 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "فایل های برنامه %1$sبه درستی تعویض نشد. اطمینان حاصل کنید که این یک نسخه سازگار با سرور است.",
"Sample configuration detected" : "فایل پیکربندی نمونه پیدا شد",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "تشخیص داده شده است که پیکربندی نمونه کپی شده است. این می تواند نصب شما را خراب کند و پشتیبانی نمی شود. لطفاً قبل از انجام تغییرات در config.php ، اسناد را بخوانید",
+ "404" : "۴۰۴",
"%1$s and %2$s" : "%1$sو%2$s",
"%1$s, %2$s and %3$s" : "%1$s،%2$sو%3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s،%2$s،%3$sو%4$s",
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s،%2$s،%3$s،%4$sو%5$s",
- "Education Edition" : "نسخه آموزش",
- "Enterprise bundle" : "بسته نرم افزاری سازمانی",
- "Groupware bundle" : "بسته نرم افزاری گروهی",
- "Hub bundle" : "بسته های توپی",
- "Social sharing bundle" : "بسته نرم افزاری اشتراک اجتماعی",
+ "Education Edition" : "نگارش آموزشی",
+ "Enterprise bundle" : "بستهٔ سازمانی",
+ "Groupware bundle" : "بستهٔ کار گروهی",
+ "Hub bundle" : "بستهٔ هسته‌ای",
+ "Social sharing bundle" : "بستهٔ هم‌رسانی اجتماعی",
"PHP %s or higher is required." : "PHP نسخه‌ی %s یا بالاتر نیاز است.",
- "PHP with a version lower than %s is required." : "PHP با نسخه پایین تر از مورد نیاز%s است.",
- "%sbit or higher PHP required." : "%sکمی یا بالاتر PHP لازم است.",
+ "PHP with a version lower than %s is required." : "نیاز به نگارش پایین‌تر از %s پی‌اچ‌پی.",
+ "%sbit or higher PHP required." : "نیاز به پی‌اچ‌پی %sبیتی یا بالاتر.",
+ "The following architectures are supported: %s" : "معماری‌های زیر پشتیبانی می‌شوند: %s",
+ "The following databases are supported: %s" : "پایگاه داده‌های زیر پشتیبانی می‌شوند: %s",
"The command line tool %s could not be found" : "ابزار کامندلاین %s پیدا نشد",
"The library %s is not available." : "کتابخانه‌ی %s در دسترس نیست.",
- "Library %1$s with a version higher than %2$s is required - available version %3$s." : "%3$sکتابخانه با%1$s نسخه بالاتر از حد مورد%2$s نیاز - نسخه موجود",
- "Library %1$s with a version lower than %2$s is required - available version %3$s." : "%3$sکتابخانه %1$sبا نسخه پایین تر از حد مورد%2$s نیاز - نسخه موجود",
- "Server version %s or higher is required." : "نسخه سرور%s یا بالاتر مورد نیاز است.",
- "Server version %s or lower is required." : "نسخه سرور%sیا پایین مورد نیاز است.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "کتاب‌خانهٔ %1$s با نگارشی بالاتر از %2$s مورد نیاز است - نگارش موجود %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "کتاب‌خانهٔ %1$s با نگارشی پایین‌تر از %2$s مورد نیاز است - نگارش موجود %3$s.",
+ "The following platforms are supported: %s" : "بن‌سازه‌های زیر پشتیبانی می‌شوند: %s",
+ "Server version %s or higher is required." : "نیاز به کارساز با نگارش %s یا بالاتر.",
+ "Server version %s or lower is required." : "نیاز به کارساز با نگارش %s یا پایین‌تر.",
"Logged in user must be an admin or sub admin" : "ورود به سیستم کاربر باید یک مدیر یا مدیر فرعی باشد",
"Logged in user must be an admin" : "ورود به سیستم کاربر باید مدیر سایت باشد",
"Wiping of device %s has started" : "پاک کردن دستگاه%s شروع شده است",
@@ -46,54 +50,73 @@ OC.L10N.register(
"today" : "امروز",
"tomorrow" : "فردا",
"yesterday" : "دیروز",
+ "_in %n day_::_in %n days_" : ["در ۱ روز","در %n روز"],
"_%n day ago_::_%n days ago_" : ["%n روز پیش","%n روز پیش"],
"next month" : "ماه آینده",
"last month" : "ماه قبل",
+ "_in %n month_::_in %n months_" : ["در ۱ ماه","در %n ماه"],
"_%n month ago_::_%n months ago_" : ["%n ماه قبل","%n ماه قبل"],
"next year" : "سال آینده",
"last year" : "سال قبل",
+ "_in %n year_::_in %n years_" : ["در ۱ سال","در %nسال"],
"_%n year ago_::_%n years ago_" : ["%n سال پیش","%n سال پیش"],
+ "_in %n hour_::_in %n hours_" : ["در ۱ ساعت","در %n ساعت"],
"_%n hour ago_::_%n hours ago_" : ["%n ساعت قبل","%n ساعت قبل"],
+ "_in %n minute_::_in %n minutes_" : ["در ۱ دقیقه","در %n دقیقه"],
"_%n minute ago_::_%n minutes ago_" : ["%n دقیقه قبل","%n دقیقه قبل"],
"in a few seconds" : "در چند ثانیه",
"seconds ago" : "ثانیه‌ها پیش",
- "Empty file" : "پرونده خالی",
+ "Empty file" : "پروندهٔ خالی",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "ماژول با شناسه:%s وجود ندارد. لطفاً آن را در تنظیمات برنامه خود فعال کنید یا با سرپرست خود تماس بگیرید",
- "File already exists" : "پرونده از قبل موجود است",
+ "File already exists" : "پرونده از پیش موجود است",
+ "Invalid path" : "مسیر نامعتبر",
+ "Failed to create file from template" : "شکست در ایجاد پرونده از قالب",
+ "Templates" : "قالب‌ها",
"File name is a reserved word" : "این نام فایل جزو کلمات رزرو می‌باشد",
"File name contains at least one invalid character" : "نام فایل دارای حداقل یک کاراکتر نامعتبر است",
"File name is too long" : "نام فایل خیلی بزرگ است",
- "Dot files are not allowed" : "فایل های نقطه مجاز نیستند",
+ "Dot files are not allowed" : "پرونده‌های نقطه‌دار مجاز نیستند",
"Empty filename is not allowed" : "نام فایل نمی‌تواند خالی باشد",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "برنامه%s به دلیل نصب پرونده اطلاعات برنامه قابل نصب نیست.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "برنامه%s قابل نصب نیست زیرا با این نسخه از سرور سازگار نیست.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "کارهٔ «%s» به دلیل ناتوانی در خواندن پروندهٔ appinfo نمی‌تواند نصب شود.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "کارهٔ «%s» به دلیل سازگار نبودن با این نگارش از کارساز نمی‌تواند نصب شود.",
"__language_name__" : "فارسى",
- "This is an automatically sent email, please do not reply." : "این یک ایمیل بصورت خودکار ارسال شده است ، لطفاً پاسخ ندهید.",
- "Help" : "کمک",
+ "This is an automatically sent email, please do not reply." : "این یک رایانامهٔ خودکار است. لطفاً پاسخ ندهید.",
+ "Help" : "راه‌نما",
+ "Appearance and accessibility" : "ظاهر و دسترسی‌پذیری",
"Apps" : " برنامه ها",
+ "Personal settings" : "تنظیمات شخصی",
+ "Administration settings" : "تنظمیات مدیریتی",
"Settings" : "تنظیمات",
"Log out" : "خروج",
"Users" : "کاربران",
"Email" : "رایانامه",
- "Phone" : "شماره تلفن",
+ "Mail %s" : "نامه به %s",
+ "Phone" : "تلفن",
+ "Call %s" : "تماس با %s",
"Twitter" : "توییتر",
- "Website" : "وب‌ سایت",
+ "View %s on Twitter" : "دیدن %s روی توییتر",
+ "Website" : "پایگاه وب",
+ "Visit %s" : "سر زدن به %s",
"Address" : "نشانی",
- "Profile picture" : "تصویر پروفایل",
+ "Profile picture" : "تصویر نمایه",
"About" : "درباره",
"Full name" : "نام کامل",
"Headline" : "عنوان",
+ "Organisation" : "سازمان",
"Role" : "نقش",
"Unknown user" : "کاربر نامعلوم",
"Additional settings" : "تنظیمات اضافی",
- "You need to enter details of an existing account." : "شما باید جزئیات یک حساب موجود را وارد کنید.",
+ "Enter the database username and name for %s" : "ورود نام و نام کاربری پایگاه داده برای %s",
+ "Enter the database username for %s" : "ورود نام کاربری پایگاه داده برای %s",
+ "Enter the database name for %s" : "ورود نام پایگاه داده برای %s",
+ "You cannot use dots in the database name %s" : "نمی‌توانید در در نام پایگاه دادهٔ %s از نقطه استفاده کنید",
+ "MySQL username and/or password not valid" : "نام کاربری یا گذرواژهٔ مای‌سکول معتبر نیست",
+ "You need to enter details of an existing account." : "لازم است جزییات یک حساب موحود را وارد کنید.",
"Oracle connection could not be established" : "ارتباط اراکل نمیتواند برقرار باشد.",
"Oracle username and/or password not valid" : "نام کاربری و / یا رمزعبور اراکل معتبر نیست.",
"PostgreSQL username and/or password not valid" : "PostgreSQL نام کاربری و / یا رمزعبور معتبر نیست.",
- "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X پشتیبانی نمی شود و %sبه درستی روی این پلتفرم کار نخواهد کرد. از خطر آن استفاده کنید!",
- "For the best results, please consider using a GNU/Linux server instead." : "برای بهترین نتیجه ، لطفاً به جای آن از سرور GNU / Linux در نظر بگیرید.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "به نظر می رسد%s که این نمونه در یک محیط PHP 32 بیتی در حال اجرا است و open_baseir در php.ini پیکربندی شده است. این مسئله به پرونده هایی با بیش از 4 گیگ منجر می شود و بسیار دلسرد می شود",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "لطفاً تنظیمات open_baseir را درون php.ini خود حذف کنید یا به PHP 64 بیتی تغییر دهید.",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "مک‌اواس ۱۰ پشتیبانی نشده و %s روی این بن‌سازه درست کار نخواهد کرد. با مسئولیت خودتان استفاده کنید!",
+ "For the best results, please consider using a GNU/Linux server instead." : "برای بهترین نتیجه، استفاده از یک کارساز گنو/لینوکسی را در نظر داشته باشید.",
"Set an admin username." : "یک نام کاربری برای مدیر تنظیم نمایید.",
"Set an admin password." : "یک رمزعبور برای مدیر تنظیم نمایید.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "به اشتراک گذاشتن باطن باید رابط OCP \\ Share_Backend %sرا پیاده سازی کند",
@@ -111,63 +134,64 @@ OC.L10N.register(
"Click the button below to open it." : "برای باز کردن آن روی دکمه زیر کلیک کنید.",
"The requested share does not exist anymore" : "سهم درخواست شده دیگر وجود ندارد",
"Could not find category \"%s\"" : "دسته بندی %s یافت نشد",
- "Sunday" : "یکشنبه",
+ "Sunday" : "یک‌شنبه",
"Monday" : "دوشنبه",
- "Tuesday" : "سه شنبه",
+ "Tuesday" : "سه‌شنبه",
"Wednesday" : "چهارشنبه",
- "Thursday" : "پنجشنبه",
- "Friday" : "جمعه",
+ "Thursday" : "پنج‌شنبه",
+ "Friday" : "آدینه",
"Saturday" : "شنبه",
- "Sun." : "یکشنبه",
- "Mon." : "دوشنبه",
- "Tue." : "سه شنبه",
- "Wed." : "چهارشنبه",
- "Thu." : "پنج شنبه",
- "Fri." : "جمعه",
- "Sat." : "شنبه",
- "Su" : "یک‌شنبه",
- "Mo" : "دوشنبه",
- "Tu" : "سه‌شنبه",
- "We" : "چهار‌شنبه",
- "Th" : "پنج‌شنبه",
- "Fr" : "جمعه",
- "Sa" : "شنبه",
+ "Sun." : "یک.",
+ "Mon." : "دو.",
+ "Tue." : "سه.",
+ "Wed." : "چهار.",
+ "Thu." : "پنج.",
+ "Fri." : "آد.",
+ "Sat." : "شن.",
+ "Su" : "ی",
+ "Mo" : "د",
+ "Tu" : "س",
+ "We" : "چ",
+ "Th" : "پ",
+ "Fr" : "آ",
+ "Sa" : "ش",
"January" : "ژانویه",
"February" : "فوریه",
"March" : "مارس",
"April" : "آوریل",
- "May" : "می",
+ "May" : "مه",
"June" : "ژوئن",
"July" : "جولای",
- "August" : "آگوست",
+ "August" : "اوت",
"September" : "سپتامبر",
"October" : "اکتبر",
"November" : "نوامبر",
"December" : "دسامبر",
- "Jan." : "ژانویه",
- "Feb." : "فوریه",
- "Mar." : "مارچ",
- "Apr." : "آوریل",
- "May." : "می",
- "Jun." : "ژوئن",
- "Jul." : "جولای",
- "Aug." : "آگوست",
- "Sep." : "سپتامبر",
- "Oct." : "اکتبر",
- "Nov." : "نوامبر",
- "Dec." : "دسامبر",
- "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "فقط کاراکترهای زیر در نام کاربری مجاز هستند: \"a-z\" ، \"A-Z\" ، \"0-9\" و \"_. @ - '\"",
+ "Jan." : "ژان.",
+ "Feb." : "فو.",
+ "Mar." : "مار.",
+ "Apr." : "آو.",
+ "May." : "مه.",
+ "Jun." : "ژو.",
+ "Jul." : "جول.",
+ "Aug." : "اوت.",
+ "Sep." : "سپ.",
+ "Oct." : "اکت.",
+ "Nov." : "نو.",
+ "Dec." : "دس.",
+ "A valid password must be provided" : "رمز عبور صحیح باید وارد شود",
+ "The username is already being used" : "نام‌کاربری قبلا استفاده شده است",
+ "Could not create user" : "نتواسنت کاربر را ایجاد کند",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "تنها نویسه‌ها زیر در نام کاربری مجازند: \"a-z\" ، \"A-Z\" ، \"0-9\" و \"_. @ - '\"",
"A valid username must be provided" : "نام کاربری صحیح باید وارد شود",
"Username contains whitespace at the beginning or at the end" : "نام کاربری دارای فضای سفید در ابتدا یا انتهای آن است",
"Username must not consist of dots only" : "نام کاربری نباید فقط از نقاط تشکیل شده باشد",
- "A valid password must be provided" : "رمز عبور صحیح باید وارد شود",
- "The username is already being used" : "نام‌کاربری قبلا استفاده شده است",
- "Could not create user" : "کاربر ایجاد نشد",
- "User disabled" : "کاربر غیرفعال",
- "Login canceled by app" : "ورود به سیستم توسط برنامه لغو شد",
- "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "%2$sبرنامه %1$sنصب نمی شود زیرا وابستگی های زیر برآورده نشده است:",
- "a safe home for all your data" : "خانه ای امن برای تمام داده های شما",
+ "User disabled" : "کاربر از کار افتاده",
+ "Login canceled by app" : "ورود به دست کاره لغو شد",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "کارهٔ «%1$s» نمی‌تواند نصب شود؛ چرا که وابستگی زیر تأمین نشده: %2$s",
+ "a safe home for all your data" : "خانه‌ای امن برای تمامی داده‌هایتان",
"File is currently busy, please try again later" : "فایل در حال حاضر مشغول است، لطفا مجددا تلاش کنید",
+ "Cannot download file" : "نمی‌توان پرونده را بارگرفت",
"Application is not enabled" : "برنامه فعال نشده است",
"Authentication error" : "خطا در اعتبار سنجی",
"Token expired. Please reload page." : "Token منقضی شده است. لطفا دوباره صفحه را بارگذاری نمایید.",
@@ -200,10 +224,12 @@ OC.L10N.register(
"%s enter the database username." : "%s نام کاربری پایگاه داده را وارد نمایید.",
"%s enter the database name." : "%s نام پایگاه داده را وارد نمایید.",
"%s you may not use dots in the database name" : "%s شما نباید از نقطه در نام پایگاه داده استفاده نمایید.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "به نظر می رسد%s که این نمونه در یک محیط PHP 32 بیتی در حال اجرا است و open_baseir در php.ini پیکربندی شده است. این مسئله به پرونده هایی با بیش از 4 گیگ منجر می شود و بسیار دلسرد می شود",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "لطفاً تنظیمات open_baseir را درون php.ini خود حذف کنید یا به PHP 64 بیتی تغییر دهید.",
"Cannot write into \"config\" directory" : "امکان نوشتن درون شاخه‌ی \"config\" وجود ندارد",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "%sاین امر معمولاً با دسترسی به نوشتن وب سرور به فهرست تنظیمات قابل حل است. دیدن",
"Cannot write into \"apps\" directory" : "نمی توان در فهرست \"برنامه ها\" نوشت",
- "Cannot create \"data\" directory" : "دایرکتوری \"داده\" ایجاد نمی شود",
+ "Cannot create \"data\" directory" : "نتوانست شاخهٔ data را ایجاد کند",
"This can usually be fixed by giving the webserver write access to the root directory. See %s" : "این امر معمولاً با دسترسی به نوشتن وب سرور به فهرست اصلی قابل حل است. دیدن%s",
"Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "معمولاً مجوزها می توانند با دسترسی به نوشتن وب سرور به فهرست اصلی ، ثابت شوند. دیدن%s",
"Setting locale to %s failed" : "تنظیم محلی در %sانجام نشد",
@@ -215,6 +241,6 @@ OC.L10N.register(
"Your data directory is readable by other users" : "فهرست داده های شما توسط سایر کاربران قابل خواندن است",
"Your data directory must be an absolute path" : "فهرست داده های شما باید مسیری مطلق باشد",
"Check the value of \"datadirectory\" in your configuration" : "مقدار \"datadirectory\" را در پیکربندی خود بررسی کنید",
- "Your data directory is invalid" : "فهرست داده شما نامعتبر است"
+ "Your data directory is invalid" : "شاخهٔ data نامعتبر است"
},
"nplurals=2; plural=(n > 1);");
diff --git a/lib/l10n/fa.json b/lib/l10n/fa.json
index ef69c878b1d..c3176b9ae80 100644
--- a/lib/l10n/fa.json
+++ b/lib/l10n/fa.json
@@ -4,24 +4,28 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "فایل های برنامه %1$sبه درستی تعویض نشد. اطمینان حاصل کنید که این یک نسخه سازگار با سرور است.",
"Sample configuration detected" : "فایل پیکربندی نمونه پیدا شد",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "تشخیص داده شده است که پیکربندی نمونه کپی شده است. این می تواند نصب شما را خراب کند و پشتیبانی نمی شود. لطفاً قبل از انجام تغییرات در config.php ، اسناد را بخوانید",
+ "404" : "۴۰۴",
"%1$s and %2$s" : "%1$sو%2$s",
"%1$s, %2$s and %3$s" : "%1$s،%2$sو%3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s،%2$s،%3$sو%4$s",
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s،%2$s،%3$s،%4$sو%5$s",
- "Education Edition" : "نسخه آموزش",
- "Enterprise bundle" : "بسته نرم افزاری سازمانی",
- "Groupware bundle" : "بسته نرم افزاری گروهی",
- "Hub bundle" : "بسته های توپی",
- "Social sharing bundle" : "بسته نرم افزاری اشتراک اجتماعی",
+ "Education Edition" : "نگارش آموزشی",
+ "Enterprise bundle" : "بستهٔ سازمانی",
+ "Groupware bundle" : "بستهٔ کار گروهی",
+ "Hub bundle" : "بستهٔ هسته‌ای",
+ "Social sharing bundle" : "بستهٔ هم‌رسانی اجتماعی",
"PHP %s or higher is required." : "PHP نسخه‌ی %s یا بالاتر نیاز است.",
- "PHP with a version lower than %s is required." : "PHP با نسخه پایین تر از مورد نیاز%s است.",
- "%sbit or higher PHP required." : "%sکمی یا بالاتر PHP لازم است.",
+ "PHP with a version lower than %s is required." : "نیاز به نگارش پایین‌تر از %s پی‌اچ‌پی.",
+ "%sbit or higher PHP required." : "نیاز به پی‌اچ‌پی %sبیتی یا بالاتر.",
+ "The following architectures are supported: %s" : "معماری‌های زیر پشتیبانی می‌شوند: %s",
+ "The following databases are supported: %s" : "پایگاه داده‌های زیر پشتیبانی می‌شوند: %s",
"The command line tool %s could not be found" : "ابزار کامندلاین %s پیدا نشد",
"The library %s is not available." : "کتابخانه‌ی %s در دسترس نیست.",
- "Library %1$s with a version higher than %2$s is required - available version %3$s." : "%3$sکتابخانه با%1$s نسخه بالاتر از حد مورد%2$s نیاز - نسخه موجود",
- "Library %1$s with a version lower than %2$s is required - available version %3$s." : "%3$sکتابخانه %1$sبا نسخه پایین تر از حد مورد%2$s نیاز - نسخه موجود",
- "Server version %s or higher is required." : "نسخه سرور%s یا بالاتر مورد نیاز است.",
- "Server version %s or lower is required." : "نسخه سرور%sیا پایین مورد نیاز است.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "کتاب‌خانهٔ %1$s با نگارشی بالاتر از %2$s مورد نیاز است - نگارش موجود %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "کتاب‌خانهٔ %1$s با نگارشی پایین‌تر از %2$s مورد نیاز است - نگارش موجود %3$s.",
+ "The following platforms are supported: %s" : "بن‌سازه‌های زیر پشتیبانی می‌شوند: %s",
+ "Server version %s or higher is required." : "نیاز به کارساز با نگارش %s یا بالاتر.",
+ "Server version %s or lower is required." : "نیاز به کارساز با نگارش %s یا پایین‌تر.",
"Logged in user must be an admin or sub admin" : "ورود به سیستم کاربر باید یک مدیر یا مدیر فرعی باشد",
"Logged in user must be an admin" : "ورود به سیستم کاربر باید مدیر سایت باشد",
"Wiping of device %s has started" : "پاک کردن دستگاه%s شروع شده است",
@@ -44,54 +48,73 @@
"today" : "امروز",
"tomorrow" : "فردا",
"yesterday" : "دیروز",
+ "_in %n day_::_in %n days_" : ["در ۱ روز","در %n روز"],
"_%n day ago_::_%n days ago_" : ["%n روز پیش","%n روز پیش"],
"next month" : "ماه آینده",
"last month" : "ماه قبل",
+ "_in %n month_::_in %n months_" : ["در ۱ ماه","در %n ماه"],
"_%n month ago_::_%n months ago_" : ["%n ماه قبل","%n ماه قبل"],
"next year" : "سال آینده",
"last year" : "سال قبل",
+ "_in %n year_::_in %n years_" : ["در ۱ سال","در %nسال"],
"_%n year ago_::_%n years ago_" : ["%n سال پیش","%n سال پیش"],
+ "_in %n hour_::_in %n hours_" : ["در ۱ ساعت","در %n ساعت"],
"_%n hour ago_::_%n hours ago_" : ["%n ساعت قبل","%n ساعت قبل"],
+ "_in %n minute_::_in %n minutes_" : ["در ۱ دقیقه","در %n دقیقه"],
"_%n minute ago_::_%n minutes ago_" : ["%n دقیقه قبل","%n دقیقه قبل"],
"in a few seconds" : "در چند ثانیه",
"seconds ago" : "ثانیه‌ها پیش",
- "Empty file" : "پرونده خالی",
+ "Empty file" : "پروندهٔ خالی",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "ماژول با شناسه:%s وجود ندارد. لطفاً آن را در تنظیمات برنامه خود فعال کنید یا با سرپرست خود تماس بگیرید",
- "File already exists" : "پرونده از قبل موجود است",
+ "File already exists" : "پرونده از پیش موجود است",
+ "Invalid path" : "مسیر نامعتبر",
+ "Failed to create file from template" : "شکست در ایجاد پرونده از قالب",
+ "Templates" : "قالب‌ها",
"File name is a reserved word" : "این نام فایل جزو کلمات رزرو می‌باشد",
"File name contains at least one invalid character" : "نام فایل دارای حداقل یک کاراکتر نامعتبر است",
"File name is too long" : "نام فایل خیلی بزرگ است",
- "Dot files are not allowed" : "فایل های نقطه مجاز نیستند",
+ "Dot files are not allowed" : "پرونده‌های نقطه‌دار مجاز نیستند",
"Empty filename is not allowed" : "نام فایل نمی‌تواند خالی باشد",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "برنامه%s به دلیل نصب پرونده اطلاعات برنامه قابل نصب نیست.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "برنامه%s قابل نصب نیست زیرا با این نسخه از سرور سازگار نیست.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "کارهٔ «%s» به دلیل ناتوانی در خواندن پروندهٔ appinfo نمی‌تواند نصب شود.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "کارهٔ «%s» به دلیل سازگار نبودن با این نگارش از کارساز نمی‌تواند نصب شود.",
"__language_name__" : "فارسى",
- "This is an automatically sent email, please do not reply." : "این یک ایمیل بصورت خودکار ارسال شده است ، لطفاً پاسخ ندهید.",
- "Help" : "کمک",
+ "This is an automatically sent email, please do not reply." : "این یک رایانامهٔ خودکار است. لطفاً پاسخ ندهید.",
+ "Help" : "راه‌نما",
+ "Appearance and accessibility" : "ظاهر و دسترسی‌پذیری",
"Apps" : " برنامه ها",
+ "Personal settings" : "تنظیمات شخصی",
+ "Administration settings" : "تنظمیات مدیریتی",
"Settings" : "تنظیمات",
"Log out" : "خروج",
"Users" : "کاربران",
"Email" : "رایانامه",
- "Phone" : "شماره تلفن",
+ "Mail %s" : "نامه به %s",
+ "Phone" : "تلفن",
+ "Call %s" : "تماس با %s",
"Twitter" : "توییتر",
- "Website" : "وب‌ سایت",
+ "View %s on Twitter" : "دیدن %s روی توییتر",
+ "Website" : "پایگاه وب",
+ "Visit %s" : "سر زدن به %s",
"Address" : "نشانی",
- "Profile picture" : "تصویر پروفایل",
+ "Profile picture" : "تصویر نمایه",
"About" : "درباره",
"Full name" : "نام کامل",
"Headline" : "عنوان",
+ "Organisation" : "سازمان",
"Role" : "نقش",
"Unknown user" : "کاربر نامعلوم",
"Additional settings" : "تنظیمات اضافی",
- "You need to enter details of an existing account." : "شما باید جزئیات یک حساب موجود را وارد کنید.",
+ "Enter the database username and name for %s" : "ورود نام و نام کاربری پایگاه داده برای %s",
+ "Enter the database username for %s" : "ورود نام کاربری پایگاه داده برای %s",
+ "Enter the database name for %s" : "ورود نام پایگاه داده برای %s",
+ "You cannot use dots in the database name %s" : "نمی‌توانید در در نام پایگاه دادهٔ %s از نقطه استفاده کنید",
+ "MySQL username and/or password not valid" : "نام کاربری یا گذرواژهٔ مای‌سکول معتبر نیست",
+ "You need to enter details of an existing account." : "لازم است جزییات یک حساب موحود را وارد کنید.",
"Oracle connection could not be established" : "ارتباط اراکل نمیتواند برقرار باشد.",
"Oracle username and/or password not valid" : "نام کاربری و / یا رمزعبور اراکل معتبر نیست.",
"PostgreSQL username and/or password not valid" : "PostgreSQL نام کاربری و / یا رمزعبور معتبر نیست.",
- "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X پشتیبانی نمی شود و %sبه درستی روی این پلتفرم کار نخواهد کرد. از خطر آن استفاده کنید!",
- "For the best results, please consider using a GNU/Linux server instead." : "برای بهترین نتیجه ، لطفاً به جای آن از سرور GNU / Linux در نظر بگیرید.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "به نظر می رسد%s که این نمونه در یک محیط PHP 32 بیتی در حال اجرا است و open_baseir در php.ini پیکربندی شده است. این مسئله به پرونده هایی با بیش از 4 گیگ منجر می شود و بسیار دلسرد می شود",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "لطفاً تنظیمات open_baseir را درون php.ini خود حذف کنید یا به PHP 64 بیتی تغییر دهید.",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "مک‌اواس ۱۰ پشتیبانی نشده و %s روی این بن‌سازه درست کار نخواهد کرد. با مسئولیت خودتان استفاده کنید!",
+ "For the best results, please consider using a GNU/Linux server instead." : "برای بهترین نتیجه، استفاده از یک کارساز گنو/لینوکسی را در نظر داشته باشید.",
"Set an admin username." : "یک نام کاربری برای مدیر تنظیم نمایید.",
"Set an admin password." : "یک رمزعبور برای مدیر تنظیم نمایید.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "به اشتراک گذاشتن باطن باید رابط OCP \\ Share_Backend %sرا پیاده سازی کند",
@@ -109,63 +132,64 @@
"Click the button below to open it." : "برای باز کردن آن روی دکمه زیر کلیک کنید.",
"The requested share does not exist anymore" : "سهم درخواست شده دیگر وجود ندارد",
"Could not find category \"%s\"" : "دسته بندی %s یافت نشد",
- "Sunday" : "یکشنبه",
+ "Sunday" : "یک‌شنبه",
"Monday" : "دوشنبه",
- "Tuesday" : "سه شنبه",
+ "Tuesday" : "سه‌شنبه",
"Wednesday" : "چهارشنبه",
- "Thursday" : "پنجشنبه",
- "Friday" : "جمعه",
+ "Thursday" : "پنج‌شنبه",
+ "Friday" : "آدینه",
"Saturday" : "شنبه",
- "Sun." : "یکشنبه",
- "Mon." : "دوشنبه",
- "Tue." : "سه شنبه",
- "Wed." : "چهارشنبه",
- "Thu." : "پنج شنبه",
- "Fri." : "جمعه",
- "Sat." : "شنبه",
- "Su" : "یک‌شنبه",
- "Mo" : "دوشنبه",
- "Tu" : "سه‌شنبه",
- "We" : "چهار‌شنبه",
- "Th" : "پنج‌شنبه",
- "Fr" : "جمعه",
- "Sa" : "شنبه",
+ "Sun." : "یک.",
+ "Mon." : "دو.",
+ "Tue." : "سه.",
+ "Wed." : "چهار.",
+ "Thu." : "پنج.",
+ "Fri." : "آد.",
+ "Sat." : "شن.",
+ "Su" : "ی",
+ "Mo" : "د",
+ "Tu" : "س",
+ "We" : "چ",
+ "Th" : "پ",
+ "Fr" : "آ",
+ "Sa" : "ش",
"January" : "ژانویه",
"February" : "فوریه",
"March" : "مارس",
"April" : "آوریل",
- "May" : "می",
+ "May" : "مه",
"June" : "ژوئن",
"July" : "جولای",
- "August" : "آگوست",
+ "August" : "اوت",
"September" : "سپتامبر",
"October" : "اکتبر",
"November" : "نوامبر",
"December" : "دسامبر",
- "Jan." : "ژانویه",
- "Feb." : "فوریه",
- "Mar." : "مارچ",
- "Apr." : "آوریل",
- "May." : "می",
- "Jun." : "ژوئن",
- "Jul." : "جولای",
- "Aug." : "آگوست",
- "Sep." : "سپتامبر",
- "Oct." : "اکتبر",
- "Nov." : "نوامبر",
- "Dec." : "دسامبر",
- "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "فقط کاراکترهای زیر در نام کاربری مجاز هستند: \"a-z\" ، \"A-Z\" ، \"0-9\" و \"_. @ - '\"",
+ "Jan." : "ژان.",
+ "Feb." : "فو.",
+ "Mar." : "مار.",
+ "Apr." : "آو.",
+ "May." : "مه.",
+ "Jun." : "ژو.",
+ "Jul." : "جول.",
+ "Aug." : "اوت.",
+ "Sep." : "سپ.",
+ "Oct." : "اکت.",
+ "Nov." : "نو.",
+ "Dec." : "دس.",
+ "A valid password must be provided" : "رمز عبور صحیح باید وارد شود",
+ "The username is already being used" : "نام‌کاربری قبلا استفاده شده است",
+ "Could not create user" : "نتواسنت کاربر را ایجاد کند",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "تنها نویسه‌ها زیر در نام کاربری مجازند: \"a-z\" ، \"A-Z\" ، \"0-9\" و \"_. @ - '\"",
"A valid username must be provided" : "نام کاربری صحیح باید وارد شود",
"Username contains whitespace at the beginning or at the end" : "نام کاربری دارای فضای سفید در ابتدا یا انتهای آن است",
"Username must not consist of dots only" : "نام کاربری نباید فقط از نقاط تشکیل شده باشد",
- "A valid password must be provided" : "رمز عبور صحیح باید وارد شود",
- "The username is already being used" : "نام‌کاربری قبلا استفاده شده است",
- "Could not create user" : "کاربر ایجاد نشد",
- "User disabled" : "کاربر غیرفعال",
- "Login canceled by app" : "ورود به سیستم توسط برنامه لغو شد",
- "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "%2$sبرنامه %1$sنصب نمی شود زیرا وابستگی های زیر برآورده نشده است:",
- "a safe home for all your data" : "خانه ای امن برای تمام داده های شما",
+ "User disabled" : "کاربر از کار افتاده",
+ "Login canceled by app" : "ورود به دست کاره لغو شد",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "کارهٔ «%1$s» نمی‌تواند نصب شود؛ چرا که وابستگی زیر تأمین نشده: %2$s",
+ "a safe home for all your data" : "خانه‌ای امن برای تمامی داده‌هایتان",
"File is currently busy, please try again later" : "فایل در حال حاضر مشغول است، لطفا مجددا تلاش کنید",
+ "Cannot download file" : "نمی‌توان پرونده را بارگرفت",
"Application is not enabled" : "برنامه فعال نشده است",
"Authentication error" : "خطا در اعتبار سنجی",
"Token expired. Please reload page." : "Token منقضی شده است. لطفا دوباره صفحه را بارگذاری نمایید.",
@@ -198,10 +222,12 @@
"%s enter the database username." : "%s نام کاربری پایگاه داده را وارد نمایید.",
"%s enter the database name." : "%s نام پایگاه داده را وارد نمایید.",
"%s you may not use dots in the database name" : "%s شما نباید از نقطه در نام پایگاه داده استفاده نمایید.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "به نظر می رسد%s که این نمونه در یک محیط PHP 32 بیتی در حال اجرا است و open_baseir در php.ini پیکربندی شده است. این مسئله به پرونده هایی با بیش از 4 گیگ منجر می شود و بسیار دلسرد می شود",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "لطفاً تنظیمات open_baseir را درون php.ini خود حذف کنید یا به PHP 64 بیتی تغییر دهید.",
"Cannot write into \"config\" directory" : "امکان نوشتن درون شاخه‌ی \"config\" وجود ندارد",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "%sاین امر معمولاً با دسترسی به نوشتن وب سرور به فهرست تنظیمات قابل حل است. دیدن",
"Cannot write into \"apps\" directory" : "نمی توان در فهرست \"برنامه ها\" نوشت",
- "Cannot create \"data\" directory" : "دایرکتوری \"داده\" ایجاد نمی شود",
+ "Cannot create \"data\" directory" : "نتوانست شاخهٔ data را ایجاد کند",
"This can usually be fixed by giving the webserver write access to the root directory. See %s" : "این امر معمولاً با دسترسی به نوشتن وب سرور به فهرست اصلی قابل حل است. دیدن%s",
"Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "معمولاً مجوزها می توانند با دسترسی به نوشتن وب سرور به فهرست اصلی ، ثابت شوند. دیدن%s",
"Setting locale to %s failed" : "تنظیم محلی در %sانجام نشد",
@@ -213,6 +239,6 @@
"Your data directory is readable by other users" : "فهرست داده های شما توسط سایر کاربران قابل خواندن است",
"Your data directory must be an absolute path" : "فهرست داده های شما باید مسیری مطلق باشد",
"Check the value of \"datadirectory\" in your configuration" : "مقدار \"datadirectory\" را در پیکربندی خود بررسی کنید",
- "Your data directory is invalid" : "فهرست داده شما نامعتبر است"
+ "Your data directory is invalid" : "شاخهٔ data نامعتبر است"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/lib/l10n/fi.js b/lib/l10n/fi.js
index 24dec0603e9..2bf240365ae 100644
--- a/lib/l10n/fi.js
+++ b/lib/l10n/fi.js
@@ -7,6 +7,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Sovelluksen %1$s tiedostoja ei korvattu oikein Varmista, että sen versio on yhteensopiva palvelimen kanssa.",
"Sample configuration detected" : "Esimerkkimääritykset havaittu",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "On havaittu, että esimerkkimäärityksen on kopioitu. Se voi rikkoa asennuksesi, eikä sitä tueta. Lue ohjeet ennen kuin muutat config.php tiedostoa.",
+ "404" : "404",
+ "The page could not be found on the server." : "Sivua ei löytynyt palvelimelta.",
"Email verification" : "Sähköpostin vahvistus",
"Click the following button to confirm your email." : "Napsauta seuraavaa painiketta vahvistaaksesi sähköpostiosoitteesi.",
"Click the following link to confirm your email." : "Napsauta seuraavaa linkkiä vahvistaaksesi sähköpostiosoitteesi.",
@@ -81,6 +83,7 @@ OC.L10N.register(
"Appearance and accessibility" : "Ulkoasu ja saavutettavuus",
"Apps" : "Sovellukset",
"Personal settings" : "Henkilökohtaiset asetukset",
+ "Administration settings" : "Ylläpitäjän asetukset",
"Settings" : "Asetukset",
"Log out" : "Kirjaudu ulos",
"Users" : "Käyttäjät",
@@ -108,8 +111,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL:n käyttäjätunnus ja/tai salasana on väärin",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X ei ole tuettu, joten %s ei toimi kunnolla tällä alustalla. Käytä omalla vastuulla!",
"For the best results, please consider using a GNU/Linux server instead." : "Käytä parhaan lopputuloksen saamiseksi GNU/Linux-palvelinta.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Vaikuttaa siltä, että tämä %s-instanssi toimii 32-bittisessä PHP-ympäristössä ja open_basedir-asetus on määritetty php.ini-tiedostossa. Tämä johtaa ongelmiin yli 4 gigatavun tiedostojen kanssa, eikä siksi ole suositeltavaa.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Poista open_basedir-asetus php.ini-tiedostosta tai vaihda 64-bittiseen PHP:hen.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Vaikuttaa siltä, että %s-instanssi toimii 32-bittisessä PHP-ympäristössä. 64-bittinen PHP on vaadittu versiolle 26 ja sitä uudemmille.",
+ "Please switch to 64-bit PHP." : "Vaihda PHP:n 64-bittiseen versioon.",
"Set an admin username." : "Aseta ylläpitäjän käyttäjätunnus.",
"Set an admin password." : "Aseta ylläpitäjän salasana.",
"Sharing backend %s not found" : "Jakamisen taustaosaa %s ei löytynyt",
@@ -177,15 +180,14 @@ OC.L10N.register(
"Oct." : "Loka",
"Nov." : "Marras",
"Dec." : "Joulu",
- "The user limit has been reached and the user was not created." : "Käyttäjäraja on tullut täyteen, joten käyttäjää ei luotu.",
+ "A valid password must be provided" : "Anna kelvollinen salasana",
+ "The username is already being used" : "Käyttäjätunnus on jo käytössä",
+ "Could not create user" : "Ei voitu luoda käyttäjää",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Vain seuraavat merkit ovat sallittuja käyttäjätunnuksessa: \"a-z\", \"A-Z\", \"0-9\" ja \"_.@-'\"",
"A valid username must be provided" : "Anna kelvollinen käyttäjätunnus",
"Username contains whitespace at the beginning or at the end" : "Käyttäjätunnus sisältää tyhjätilaa joko alussa tai lopussa",
"Username must not consist of dots only" : "Käyttäjänimi ei voi koostua vain pisteistä",
"Username is invalid because files already exist for this user" : "Käyttäjänimi on virheellinen koska tiedostoja on olemassa tälle käyttäjälle",
- "A valid password must be provided" : "Anna kelvollinen salasana",
- "The username is already being used" : "Käyttäjätunnus on jo käytössä",
- "Could not create user" : "Ei voitu luoda käyttäjää",
"User disabled" : "Käyttäjä poistettu käytöstä",
"Login canceled by app" : "Kirjautuminen peruttiin sovelluksen toimesta",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Sovellusta \"%1$s\" ei voi asentaa, koska seuraavat riippuvuudet eivät täyty: %2$s",
@@ -200,6 +202,7 @@ OC.L10N.register(
"Cannot write into \"apps\" directory." : "Ei voi kirjoittaa \"apps\"-hakemistoon",
"Cannot create \"data\" directory." : "Ei voi luoda \"data\"-hakemistoa",
"Your data directory is not writable." : "Datahakemistosi ei ole kirjoitettavissa.",
+ "Setting locale to %s failed." : "Maa-asetuston %s asettaminen epäonnistui.",
"PHP module %s not installed." : "PHP-moduulia %s ei ole asennettu.",
"Please ask your server administrator to install the module." : "Pyydä palvelimen ylläpitäjää asentamaan moduulin.",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP-asetusta \"%s\" ei ole asetettu arvoon \"%s\".",
@@ -227,6 +230,9 @@ OC.L10N.register(
"%s enter the database username." : "%s anna tietokannan käyttäjätunnus.",
"%s enter the database name." : "%s anna tietokannan nimi.",
"%s you may not use dots in the database name" : "%s et voi käyttää pisteitä tietokannan nimessä",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Vaikuttaa siltä, että tämä %s-instanssi toimii 32-bittisessä PHP-ympäristössä ja open_basedir-asetus on määritetty php.ini-tiedostossa. Tämä johtaa ongelmiin yli 4 gigatavun tiedostojen kanssa, eikä siksi ole suositeltavaa.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Poista open_basedir-asetus php.ini-tiedostosta tai vaihda 64-bittiseen PHP:hen.",
+ "The user limit has been reached and the user was not created." : "Käyttäjäraja on tullut täyteen, joten käyttäjää ei luotu.",
"Cannot read file" : "Tiedostoa ei voi lukea",
"Cannot write into \"config\" directory" : "Hakemistoon \"config\" kirjoittaminen ei onnistu",
"Cannot write into \"apps\" directory" : "Hakemistoon \"apps\" kirjoittaminen ei onnistu",
diff --git a/lib/l10n/fi.json b/lib/l10n/fi.json
index b5394a1faa2..4222a1c4d21 100644
--- a/lib/l10n/fi.json
+++ b/lib/l10n/fi.json
@@ -5,6 +5,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Sovelluksen %1$s tiedostoja ei korvattu oikein Varmista, että sen versio on yhteensopiva palvelimen kanssa.",
"Sample configuration detected" : "Esimerkkimääritykset havaittu",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "On havaittu, että esimerkkimäärityksen on kopioitu. Se voi rikkoa asennuksesi, eikä sitä tueta. Lue ohjeet ennen kuin muutat config.php tiedostoa.",
+ "404" : "404",
+ "The page could not be found on the server." : "Sivua ei löytynyt palvelimelta.",
"Email verification" : "Sähköpostin vahvistus",
"Click the following button to confirm your email." : "Napsauta seuraavaa painiketta vahvistaaksesi sähköpostiosoitteesi.",
"Click the following link to confirm your email." : "Napsauta seuraavaa linkkiä vahvistaaksesi sähköpostiosoitteesi.",
@@ -79,6 +81,7 @@
"Appearance and accessibility" : "Ulkoasu ja saavutettavuus",
"Apps" : "Sovellukset",
"Personal settings" : "Henkilökohtaiset asetukset",
+ "Administration settings" : "Ylläpitäjän asetukset",
"Settings" : "Asetukset",
"Log out" : "Kirjaudu ulos",
"Users" : "Käyttäjät",
@@ -106,8 +109,8 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL:n käyttäjätunnus ja/tai salasana on väärin",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X ei ole tuettu, joten %s ei toimi kunnolla tällä alustalla. Käytä omalla vastuulla!",
"For the best results, please consider using a GNU/Linux server instead." : "Käytä parhaan lopputuloksen saamiseksi GNU/Linux-palvelinta.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Vaikuttaa siltä, että tämä %s-instanssi toimii 32-bittisessä PHP-ympäristössä ja open_basedir-asetus on määritetty php.ini-tiedostossa. Tämä johtaa ongelmiin yli 4 gigatavun tiedostojen kanssa, eikä siksi ole suositeltavaa.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Poista open_basedir-asetus php.ini-tiedostosta tai vaihda 64-bittiseen PHP:hen.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Vaikuttaa siltä, että %s-instanssi toimii 32-bittisessä PHP-ympäristössä. 64-bittinen PHP on vaadittu versiolle 26 ja sitä uudemmille.",
+ "Please switch to 64-bit PHP." : "Vaihda PHP:n 64-bittiseen versioon.",
"Set an admin username." : "Aseta ylläpitäjän käyttäjätunnus.",
"Set an admin password." : "Aseta ylläpitäjän salasana.",
"Sharing backend %s not found" : "Jakamisen taustaosaa %s ei löytynyt",
@@ -175,15 +178,14 @@
"Oct." : "Loka",
"Nov." : "Marras",
"Dec." : "Joulu",
- "The user limit has been reached and the user was not created." : "Käyttäjäraja on tullut täyteen, joten käyttäjää ei luotu.",
+ "A valid password must be provided" : "Anna kelvollinen salasana",
+ "The username is already being used" : "Käyttäjätunnus on jo käytössä",
+ "Could not create user" : "Ei voitu luoda käyttäjää",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Vain seuraavat merkit ovat sallittuja käyttäjätunnuksessa: \"a-z\", \"A-Z\", \"0-9\" ja \"_.@-'\"",
"A valid username must be provided" : "Anna kelvollinen käyttäjätunnus",
"Username contains whitespace at the beginning or at the end" : "Käyttäjätunnus sisältää tyhjätilaa joko alussa tai lopussa",
"Username must not consist of dots only" : "Käyttäjänimi ei voi koostua vain pisteistä",
"Username is invalid because files already exist for this user" : "Käyttäjänimi on virheellinen koska tiedostoja on olemassa tälle käyttäjälle",
- "A valid password must be provided" : "Anna kelvollinen salasana",
- "The username is already being used" : "Käyttäjätunnus on jo käytössä",
- "Could not create user" : "Ei voitu luoda käyttäjää",
"User disabled" : "Käyttäjä poistettu käytöstä",
"Login canceled by app" : "Kirjautuminen peruttiin sovelluksen toimesta",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Sovellusta \"%1$s\" ei voi asentaa, koska seuraavat riippuvuudet eivät täyty: %2$s",
@@ -198,6 +200,7 @@
"Cannot write into \"apps\" directory." : "Ei voi kirjoittaa \"apps\"-hakemistoon",
"Cannot create \"data\" directory." : "Ei voi luoda \"data\"-hakemistoa",
"Your data directory is not writable." : "Datahakemistosi ei ole kirjoitettavissa.",
+ "Setting locale to %s failed." : "Maa-asetuston %s asettaminen epäonnistui.",
"PHP module %s not installed." : "PHP-moduulia %s ei ole asennettu.",
"Please ask your server administrator to install the module." : "Pyydä palvelimen ylläpitäjää asentamaan moduulin.",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP-asetusta \"%s\" ei ole asetettu arvoon \"%s\".",
@@ -225,6 +228,9 @@
"%s enter the database username." : "%s anna tietokannan käyttäjätunnus.",
"%s enter the database name." : "%s anna tietokannan nimi.",
"%s you may not use dots in the database name" : "%s et voi käyttää pisteitä tietokannan nimessä",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Vaikuttaa siltä, että tämä %s-instanssi toimii 32-bittisessä PHP-ympäristössä ja open_basedir-asetus on määritetty php.ini-tiedostossa. Tämä johtaa ongelmiin yli 4 gigatavun tiedostojen kanssa, eikä siksi ole suositeltavaa.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Poista open_basedir-asetus php.ini-tiedostosta tai vaihda 64-bittiseen PHP:hen.",
+ "The user limit has been reached and the user was not created." : "Käyttäjäraja on tullut täyteen, joten käyttäjää ei luotu.",
"Cannot read file" : "Tiedostoa ei voi lukea",
"Cannot write into \"config\" directory" : "Hakemistoon \"config\" kirjoittaminen ei onnistu",
"Cannot write into \"apps\" directory" : "Hakemistoon \"apps\" kirjoittaminen ei onnistu",
diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js
index c3c72bba840..243a5b5bc77 100644
--- a/lib/l10n/fr.js
+++ b/lib/l10n/fr.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Les fichiers de l'application %1$s n'ont pas été remplacés correctement. Veuillez vérifier que c'est une version compatible avec le serveur.",
"Sample configuration detected" : "Configuration d'exemple détectée",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Il a été détecté que la configuration donnée à titre d'exemple a été copiée. Cela peut rendre votre installation inopérante et n'est pas pris en charge. Veuillez lire la documentation avant d'effectuer des modifications dans config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "La page n'a pas pu être trouvée sur le serveur.",
"%s email verification" : "Vérification de l'e-mail %s",
"Email verification" : "Vérification de l'e-mail",
"Click the following button to confirm your email." : "Cliquez sur le bouton ci-dessous pour confirmer votre e-mail.",
@@ -93,11 +95,14 @@ OC.L10N.register(
"Appearance and accessibility" : "Apparence et accessibilité",
"Apps" : "Applications",
"Personal settings" : "Paramètres personnels",
+ "Administration settings" : "Paramètres d'administration",
"Settings" : "Paramètres",
"Log out" : "Se déconnecter",
"Users" : "Utilisateurs",
"Email" : "E-mail",
"Mail %s" : "Courrier %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Voir %s sur le Fediverse",
"Phone" : "Téléphone",
"Call %s" : "Appel %s",
"Twitter" : "Twitter",
@@ -110,9 +115,13 @@ OC.L10N.register(
"Full name" : "Nom complet",
"Headline" : "Titre",
"Organisation" : "Organisme",
- "Role" : "Rôle",
+ "Role" : "Fonction",
"Unknown user" : "Utilisateur inconnu",
"Additional settings" : "Paramètres supplémentaires",
+ "Enter the database username and name for %s" : "Entrez le nom d'utilisateur et le nom de la base de données pour %s",
+ "Enter the database username for %s" : "Entrez le nom d'utilisateur de la base de données pour %s",
+ "Enter the database name for %s" : "Entrez le nom de la base de données pour %s",
+ "You cannot use dots in the database name %s" : "Vous ne pouvez pas utiliser de points dans le nom de la base de données %s",
"MySQL username and/or password not valid" : "Nom d'utilisateur et/ou mot de passe de la base MySQL non valide(s)",
"You need to enter details of an existing account." : "Vous devez indiquer les détails d'un compte existant.",
"Oracle connection could not be established" : "La connexion Oracle ne peut être établie",
@@ -120,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Nom d'utilisateur et/ou mot de passe de la base PostgreSQL non valide(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X n'est pas pris en charge et %s ne fonctionnera pas correctement sur cette plate-forme. Son utilisation est à vos risques et périls !",
"For the best results, please consider using a GNU/Linux server instead." : "Pour obtenir les meilleurs résultats, vous devriez utiliser un serveur GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Il semble que cette instance %s fonctionne sur un environnement PHP 32-bit et open_basedir a été configuré dans php.ini. Cela engendre des problèmes avec les fichiers de taille supérieure à 4 Go et est donc fortement déconseillé.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Veuillez supprimer la configuration open_basedir de votre php.ini ou utiliser une version PHP 64-bit.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Il semble que l'instance %s tourne avec un environnement PHP de 32 bits. Le 64 bits est nécessaire pour la version 26 et ultérieures.",
+ "Please switch to 64-bit PHP." : "Veuillez passer à une version de PHP 64 bits.",
"Set an admin username." : "Spécifiez un nom d'utilisateur pour l'administrateur.",
"Set an admin password." : "Spécifiez un mot de passe pour l'administrateur.",
"Cannot create or write into the data directory %s" : "Impossible de créer ou d'écrire dans le répertoire des données %s",
@@ -145,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s a partagé « %2$s » avec vous.",
"Click the button below to open it." : "Cliquez sur le bouton ci-dessous pour l'ouvrir",
"The requested share does not exist anymore" : "Le partage demandé n'existe plus",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "L'utilisateur n'a pas été créé car la limite du nombre d'utilisateurs a été atteinte. Consultez vos notifications pour en savoir plus.",
"Could not find category \"%s\"" : "Impossible de trouver la catégorie \"%s\"",
"Sunday" : "Dimanche",
"Monday" : "Lundi",
@@ -191,15 +201,14 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Déc.",
- "The user limit has been reached and the user was not created." : "Le nombre maximum d'utilisateurs a été atteint, l'utilisateur n'a pas pu être créé.",
+ "A valid password must be provided" : "Un mot de passe valide doit être saisi",
+ "The username is already being used" : "Ce nom d'utilisateur est déjà utilisé",
+ "Could not create user" : "Impossible de créer l'utilisateur",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Seuls les caractères suivants sont autorisés dans un nom d'utilisateur : \"a-z\", \"A-Z\", \"0-9\", \"_@-\" et \".\" (le point)",
"A valid username must be provided" : "Un nom d'utilisateur valide doit être saisi",
"Username contains whitespace at the beginning or at the end" : "Le nom d'utilisateur contient des espaces au début ou à la fin",
"Username must not consist of dots only" : "Le nom d'utilisateur ne doit pas être composé uniquement de points",
"Username is invalid because files already exist for this user" : "Ce nom d'utilisateur n'est pas valide car des fichiers existent déjà pour cet utilisateur",
- "A valid password must be provided" : "Un mot de passe valide doit être saisi",
- "The username is already being used" : "Ce nom d'utilisateur est déjà utilisé",
- "Could not create user" : "Impossible de créer l'utilisateur",
"User disabled" : "Utilisateur désactivé",
"Login canceled by app" : "L'authentification a été annulé par l'application",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'application \"%1$s\" ne peut pas être installée à cause des dépendances suivantes non satisfaites : %2$s",
@@ -246,8 +255,8 @@ OC.L10N.register(
"Action \"%s\" not supported or implemented." : "Action \"%s\" non supportée ou implémentée.",
"Authentication failed, wrong token or provider ID given" : "Échec de l'authentification, jeton erroné ou identification du fournisseur donnée",
"Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Paramètres manquants pour compléter la requête. Paramètres manquants : \"%s\"",
- "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "L'identifiant \"%1$s\" est déjà utilisé par le fournisseur de cloud \"%2$s\"",
- "Cloud Federation Provider with ID: \"%s\" does not exist." : "Le fournisseur de cloud avec l'identifiant \"%s\" n'existe pas.",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "L'identifiant \"%1$s\" est déjà utilisé par l'instance de Cloud Fédéré \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "L'instance de Cloud Fédéré dont l'identifiant est \"%s\" n'existe pas.",
"Could not obtain lock type %d on \"%s\"." : "Impossible d'obtenir le verrouillage de type %d sur \"%s\".",
"Storage unauthorized. %s" : "Espace de stockage non autorisé. %s",
"Storage incomplete configuration. %s" : "Configuration de l'espace de stockage incomplète. %s",
@@ -259,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "%s entrez le nom d'utilisateur de la base de données.",
"%s enter the database name." : "%s entrez le nom de la base de données.",
"%s you may not use dots in the database name" : "%s vous ne pouvez pas utiliser de points dans le nom de la base de données",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Il semble que cette instance %s fonctionne sur un environnement PHP 32-bit et open_basedir a été configuré dans php.ini. Cela engendre des problèmes avec les fichiers de taille supérieure à 4 Go et est donc fortement déconseillé.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Veuillez supprimer la configuration open_basedir de votre php.ini ou utiliser une version PHP 64-bit.",
+ "The user limit has been reached and the user was not created." : "Le nombre maximum d'utilisateurs a été atteint, l'utilisateur n'a pas pu être créé.",
"Cannot read file" : "Impossible de lire le fichier",
"Cannot write into \"config\" directory" : "Impossible d’écrire dans le répertoire \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"config\". Voir %s",
@@ -276,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Votre répertoire est lisible par les autres utilisateurs",
"Your data directory must be an absolute path" : "Le chemin de votre répertoire doit être un lien absolu",
"Check the value of \"datadirectory\" in your configuration" : "Verifiez la valeur de \"datadirectory\" dans votre configuration",
- "Your data directory is invalid" : "Votre répertoire n'est pas valide"
+ "Your data directory is invalid" : "Votre répertoire n'est pas valide",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "La limite d'utilisateurs à été atteinte et cet utilisateur n'a pas été créé. Consultez vos notifications pour en savoir plus."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json
index 5a47d71dadd..6fc2ebf0c85 100644
--- a/lib/l10n/fr.json
+++ b/lib/l10n/fr.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Les fichiers de l'application %1$s n'ont pas été remplacés correctement. Veuillez vérifier que c'est une version compatible avec le serveur.",
"Sample configuration detected" : "Configuration d'exemple détectée",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Il a été détecté que la configuration donnée à titre d'exemple a été copiée. Cela peut rendre votre installation inopérante et n'est pas pris en charge. Veuillez lire la documentation avant d'effectuer des modifications dans config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "La page n'a pas pu être trouvée sur le serveur.",
"%s email verification" : "Vérification de l'e-mail %s",
"Email verification" : "Vérification de l'e-mail",
"Click the following button to confirm your email." : "Cliquez sur le bouton ci-dessous pour confirmer votre e-mail.",
@@ -91,11 +93,14 @@
"Appearance and accessibility" : "Apparence et accessibilité",
"Apps" : "Applications",
"Personal settings" : "Paramètres personnels",
+ "Administration settings" : "Paramètres d'administration",
"Settings" : "Paramètres",
"Log out" : "Se déconnecter",
"Users" : "Utilisateurs",
"Email" : "E-mail",
"Mail %s" : "Courrier %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Voir %s sur le Fediverse",
"Phone" : "Téléphone",
"Call %s" : "Appel %s",
"Twitter" : "Twitter",
@@ -108,9 +113,13 @@
"Full name" : "Nom complet",
"Headline" : "Titre",
"Organisation" : "Organisme",
- "Role" : "Rôle",
+ "Role" : "Fonction",
"Unknown user" : "Utilisateur inconnu",
"Additional settings" : "Paramètres supplémentaires",
+ "Enter the database username and name for %s" : "Entrez le nom d'utilisateur et le nom de la base de données pour %s",
+ "Enter the database username for %s" : "Entrez le nom d'utilisateur de la base de données pour %s",
+ "Enter the database name for %s" : "Entrez le nom de la base de données pour %s",
+ "You cannot use dots in the database name %s" : "Vous ne pouvez pas utiliser de points dans le nom de la base de données %s",
"MySQL username and/or password not valid" : "Nom d'utilisateur et/ou mot de passe de la base MySQL non valide(s)",
"You need to enter details of an existing account." : "Vous devez indiquer les détails d'un compte existant.",
"Oracle connection could not be established" : "La connexion Oracle ne peut être établie",
@@ -118,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "Nom d'utilisateur et/ou mot de passe de la base PostgreSQL non valide(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X n'est pas pris en charge et %s ne fonctionnera pas correctement sur cette plate-forme. Son utilisation est à vos risques et périls !",
"For the best results, please consider using a GNU/Linux server instead." : "Pour obtenir les meilleurs résultats, vous devriez utiliser un serveur GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Il semble que cette instance %s fonctionne sur un environnement PHP 32-bit et open_basedir a été configuré dans php.ini. Cela engendre des problèmes avec les fichiers de taille supérieure à 4 Go et est donc fortement déconseillé.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Veuillez supprimer la configuration open_basedir de votre php.ini ou utiliser une version PHP 64-bit.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Il semble que l'instance %s tourne avec un environnement PHP de 32 bits. Le 64 bits est nécessaire pour la version 26 et ultérieures.",
+ "Please switch to 64-bit PHP." : "Veuillez passer à une version de PHP 64 bits.",
"Set an admin username." : "Spécifiez un nom d'utilisateur pour l'administrateur.",
"Set an admin password." : "Spécifiez un mot de passe pour l'administrateur.",
"Cannot create or write into the data directory %s" : "Impossible de créer ou d'écrire dans le répertoire des données %s",
@@ -143,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s a partagé « %2$s » avec vous.",
"Click the button below to open it." : "Cliquez sur le bouton ci-dessous pour l'ouvrir",
"The requested share does not exist anymore" : "Le partage demandé n'existe plus",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "L'utilisateur n'a pas été créé car la limite du nombre d'utilisateurs a été atteinte. Consultez vos notifications pour en savoir plus.",
"Could not find category \"%s\"" : "Impossible de trouver la catégorie \"%s\"",
"Sunday" : "Dimanche",
"Monday" : "Lundi",
@@ -189,15 +199,14 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Déc.",
- "The user limit has been reached and the user was not created." : "Le nombre maximum d'utilisateurs a été atteint, l'utilisateur n'a pas pu être créé.",
+ "A valid password must be provided" : "Un mot de passe valide doit être saisi",
+ "The username is already being used" : "Ce nom d'utilisateur est déjà utilisé",
+ "Could not create user" : "Impossible de créer l'utilisateur",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Seuls les caractères suivants sont autorisés dans un nom d'utilisateur : \"a-z\", \"A-Z\", \"0-9\", \"_@-\" et \".\" (le point)",
"A valid username must be provided" : "Un nom d'utilisateur valide doit être saisi",
"Username contains whitespace at the beginning or at the end" : "Le nom d'utilisateur contient des espaces au début ou à la fin",
"Username must not consist of dots only" : "Le nom d'utilisateur ne doit pas être composé uniquement de points",
"Username is invalid because files already exist for this user" : "Ce nom d'utilisateur n'est pas valide car des fichiers existent déjà pour cet utilisateur",
- "A valid password must be provided" : "Un mot de passe valide doit être saisi",
- "The username is already being used" : "Ce nom d'utilisateur est déjà utilisé",
- "Could not create user" : "Impossible de créer l'utilisateur",
"User disabled" : "Utilisateur désactivé",
"Login canceled by app" : "L'authentification a été annulé par l'application",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'application \"%1$s\" ne peut pas être installée à cause des dépendances suivantes non satisfaites : %2$s",
@@ -244,8 +253,8 @@
"Action \"%s\" not supported or implemented." : "Action \"%s\" non supportée ou implémentée.",
"Authentication failed, wrong token or provider ID given" : "Échec de l'authentification, jeton erroné ou identification du fournisseur donnée",
"Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Paramètres manquants pour compléter la requête. Paramètres manquants : \"%s\"",
- "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "L'identifiant \"%1$s\" est déjà utilisé par le fournisseur de cloud \"%2$s\"",
- "Cloud Federation Provider with ID: \"%s\" does not exist." : "Le fournisseur de cloud avec l'identifiant \"%s\" n'existe pas.",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "L'identifiant \"%1$s\" est déjà utilisé par l'instance de Cloud Fédéré \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "L'instance de Cloud Fédéré dont l'identifiant est \"%s\" n'existe pas.",
"Could not obtain lock type %d on \"%s\"." : "Impossible d'obtenir le verrouillage de type %d sur \"%s\".",
"Storage unauthorized. %s" : "Espace de stockage non autorisé. %s",
"Storage incomplete configuration. %s" : "Configuration de l'espace de stockage incomplète. %s",
@@ -257,6 +266,9 @@
"%s enter the database username." : "%s entrez le nom d'utilisateur de la base de données.",
"%s enter the database name." : "%s entrez le nom de la base de données.",
"%s you may not use dots in the database name" : "%s vous ne pouvez pas utiliser de points dans le nom de la base de données",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Il semble que cette instance %s fonctionne sur un environnement PHP 32-bit et open_basedir a été configuré dans php.ini. Cela engendre des problèmes avec les fichiers de taille supérieure à 4 Go et est donc fortement déconseillé.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Veuillez supprimer la configuration open_basedir de votre php.ini ou utiliser une version PHP 64-bit.",
+ "The user limit has been reached and the user was not created." : "Le nombre maximum d'utilisateurs a été atteint, l'utilisateur n'a pas pu être créé.",
"Cannot read file" : "Impossible de lire le fichier",
"Cannot write into \"config\" directory" : "Impossible d’écrire dans le répertoire \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"config\". Voir %s",
@@ -274,6 +286,7 @@
"Your data directory is readable by other users" : "Votre répertoire est lisible par les autres utilisateurs",
"Your data directory must be an absolute path" : "Le chemin de votre répertoire doit être un lien absolu",
"Check the value of \"datadirectory\" in your configuration" : "Verifiez la valeur de \"datadirectory\" dans votre configuration",
- "Your data directory is invalid" : "Votre répertoire n'est pas valide"
+ "Your data directory is invalid" : "Votre répertoire n'est pas valide",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "La limite d'utilisateurs à été atteinte et cet utilisateur n'a pas été créé. Consultez vos notifications pour en savoir plus."
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/lib/l10n/gl.js b/lib/l10n/gl.js
index 7a83fdf3ce7..18a911c6ebe 100644
--- a/lib/l10n/gl.js
+++ b/lib/l10n/gl.js
@@ -2,10 +2,19 @@ OC.L10N.register(
"lib",
{
"Cannot write into \"config\" directory!" : "Non é posíbel escribir no directorio «config»!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Isto normalmente pódese solucionar dándolle ao servidor web acceso de escritura ao directorio de configuración.",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Pero, se prefires manter o ficheiro config.php de só lectura, establece a opción \"config_is_read_only\" como verdadeira nel.",
"See %s" : "Vexa %s",
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Os ficheiros da aplicación %1$s non foron substituídos correctamente. Asegúrese que é unha versión compatíbel co servidor.",
"Sample configuration detected" : "Detectouse a configuración de exemplo",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Detectouse que foi copiada a configuración de exemplo. Isto pode rachar a súa instalación e non é compatíbel. Lea a documentación antes de facer cambios en config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Non se puido atopar a páxina no servidor.",
+ "%s email verification" : "%s verificación de correo electrónico",
+ "Email verification" : "Verificación de correo electrónico",
+ "Click the following button to confirm your email." : "Fai clic no seguinte botón para confirmar o teu correo electrónico.",
+ "Click the following link to confirm your email." : "Fai clic na seguinte ligazón para confirmar o teu correo electrónico.",
+ "Confirm your email" : "Confirma o teu correo electrónico",
"Other activities" : "Outras actividades",
"%1$s and %2$s" : "%1$s e %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s e %3$s",
@@ -28,6 +37,7 @@ OC.L10N.register(
"The following platforms are supported: %s" : "Admítense as seguintes plataformas: %s",
"Server version %s or higher is required." : "É necesaria a versión %s ou superior do servidor.",
"Server version %s or lower is required." : "É necesaria a versión %s ou inferior do servidor.",
+ "Logged in user must be an admin, a sub admin or gotten special right to access this setting" : "O usuario iniciado debe ser un administrador, un subadministrador ou ter un dereito especial para acceder a esta configuración",
"Logged in user must be an admin or sub admin" : "O usuario rexistrado debe ser un administrador ou subadministrador",
"Logged in user must be an admin" : "O usuario rexistrado debe ser un administrador",
"Wiping of device %s has started" : "Iniciouse a limpeza do dispositivo %s",
@@ -82,22 +92,36 @@ OC.L10N.register(
"__language_name__" : "Galego",
"This is an automatically sent email, please do not reply." : "Este é un correo enviado automaticamente, non responda.",
"Help" : "Axuda",
+ "Appearance and accessibility" : "Aspecto e accesibilidade",
"Apps" : "Aplicacións",
+ "Personal settings" : "Axustes persoais",
+ "Administration settings" : "Axustes de administración",
"Settings" : "Axustes",
"Log out" : "Saír",
"Users" : "Usuarios",
"Email" : "Correo-e",
+ "Mail %s" : "Correo %s",
+ "Fediverse" : "Fediverso",
+ "View %s on the fediverse" : "Ver %s no fediverso",
"Phone" : "Teléfono",
+ "Call %s" : "Chamar %s",
"Twitter" : "Twitter",
+ "View %s on Twitter" : "Ver %s en Twitter",
"Website" : "Sitio web",
+ "Visit %s" : "Visitar %s",
"Address" : "Enderezo",
"Profile picture" : "Imaxe do perfil",
"About" : "Sobre",
"Full name" : "Nome completo",
"Headline" : "Titular",
+ "Organisation" : "Organización",
"Role" : "Cargo",
"Unknown user" : "Usuario descoñecido",
"Additional settings" : "Axustes adicionais",
+ "Enter the database username and name for %s" : "Introduza o nome de usuario e o nome da base de datos para %s",
+ "Enter the database username for %s" : "Introduza o nome de usuario da base de datos para %s",
+ "Enter the database name for %s" : "Introduza o nome da base de datos para %s",
+ "You cannot use dots in the database name %s" : "Non pode usar puntos no nome da base de datos %s",
"MySQL username and/or password not valid" : "Nome de usuario e/ou contrasinal de MySQL incorrecto",
"You need to enter details of an existing account." : "Debe introducir os detalles dunha conta existente.",
"Oracle connection could not be established" : "Non foi posíbel estabelecer a conexión con Oracle",
@@ -105,10 +129,11 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Nome de usuario e/ou contrasinal de PostgreSQL incorrecto",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X non é compatíbel e %s non funcionará correctamente nesta plataforma. Utilíceo baixo a súa responsabilidade!",
"For the best results, please consider using a GNU/Linux server instead." : "Para obter mellores resultados, considere o emprego dun servidor GNU/Linux no seu canto.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Semella que esta instancia de %s está a funcionar nun contorno PHP de 32 bisst e o open_basedir foi configurado no php.ini. Isto provocará problemas con ficheiros maiores de 4 GB e está absolutamente desaconsellado.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Retire o axuste de open_basedir no php.ini ou cambie a PHP de 64 bits.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Parece que esta instancia %s está a executarse nun ambiente PHP de 32 bits. Requírese 64 bits para 26 ou superior.",
+ "Please switch to 64-bit PHP." : "Cambia a PHP de 64 bits.",
"Set an admin username." : "Estabeleza un nome de usuario administrador",
"Set an admin password." : "Estabeleza un contrasinal de administrador",
+ "Cannot create or write into the data directory %s" : "Non se pode crear nin escribir no directorio de datos %s",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "A infraestrutura de compartición %s ten que implementar a interface OCP\\Share_Backend",
"Sharing backend %s not found" : "Non se atopou a infraestrutura de compartición %s",
"Sharing backend for %s not found" : "Non se atopou a infraestrutura de compartición para %s",
@@ -119,6 +144,8 @@ OC.L10N.register(
"%1$s via %2$s" : "%1$s mediante %2$s",
"You are not allowed to share %s" : "Non ten permiso para compartir %s",
"Cannot increase permissions of %s" : "Non é posíbel aumentar os permisos de %s",
+ "Files cannot be shared with delete permissions" : "Non se poden compartir ficheiros con permisos de eliminación",
+ "Files cannot be shared with create permissions" : "Non se poden compartir ficheiros con permisos de creación",
"Expiration date is in the past" : "Xa pasou a data de caducidade",
"Sharing is only allowed with group members" : "Só se permite compartir cos membros do grupo",
"Sharing %s failed, because this item is already shared with user %s" : "Fallou a compartición de %s por mor de que este elemento xa foi compartido co usuario %s",
@@ -126,6 +153,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s compartiu «%2$s» con vostede.",
"Click the button below to open it." : "Prema no botón de embaixo para abrilo.",
"The requested share does not exist anymore" : "O recurso compartido solicitado xa non existe",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Non se creou o usuario porque se alcanzou o límite de usuarios. Consulta as túas notificacións para obter máis información.",
"Could not find category \"%s\"" : "Non foi posíbel atopar a categoría «%s»",
"Sunday" : "domingo",
"Monday" : "luns",
@@ -172,36 +200,56 @@ OC.L10N.register(
"Oct." : "out.",
"Nov." : "nov.",
"Dec." : "dec.",
- "The user limit has been reached and the user was not created." : "Acadouse o límite de usuarios polo que non se creou o usuario.",
+ "A valid password must be provided" : "Debe fornecer un contrasinal",
+ "The username is already being used" : "Este nome de usuario xa está a ser usado",
+ "Could not create user" : "Non foi posíbel crear o usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Só os seguintes caracteres están permitidos nos nomes de usuario: «a-z», «A-Z», «0-9» e «_.@-'»",
"A valid username must be provided" : "Debe fornecer un nome de usuario correcto",
"Username contains whitespace at the beginning or at the end" : "O nome de usuario contén un espazo en branco no inicio ou no final",
"Username must not consist of dots only" : "O nome de usuario non debe consistir só de puntos",
"Username is invalid because files already exist for this user" : "O nome de usuario non é válido porque xa existen ficheiros para este usuario",
- "A valid password must be provided" : "Debe fornecer un contrasinal",
- "The username is already being used" : "Este nome de usuario xa está a ser usado",
- "Could not create user" : "Non foi posíbel crear o usuario",
"User disabled" : "Usuario desactivado",
"Login canceled by app" : "Acceso cancelado pola aplicación",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Non é posíbel instalar a aplicación «%1$s» por mor de non cumprirse as dependencias: %2$s",
"a safe home for all your data" : "un lugar seguro para todos os seus datos",
"File is currently busy, please try again later" : "O ficheiro está ocupado neste momento, ténteo máis adiante.",
+ "Cannot download file" : "Non se pode descargar o ficheiro",
"Application is not enabled" : "A aplicación non está activada",
"Authentication error" : "Produciuse un erro de autenticación",
"Token expired. Please reload page." : "Testemuño caducado. Recargue a páxina.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Non hai controladores de base de datos (sqlite, mysql, ou postgresql) instalados.",
+ "Cannot write into \"config\" directory." : "Non se pode escribir no directorio \"config\".",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Isto normalmente pódese solucionar dándolle ao servidor web acceso de escritura ao directorio de configuración. Véxase %s",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Ou, se prefire conservar o ficheiro «config.php» como de só lectura, marque a opción «config_is_read_only» como «true» nel. Vexa %s",
+ "Cannot write into \"apps\" directory." : "Non se pode escribir no directorio \"apps\".",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Normalmente, isto pódese solucionar dándolle ao servidor web acceso de escritura ao directorio de aplicacións ou desactivando a App Store no ficheiro de configuración.",
+ "Cannot create \"data\" directory." : "Non se pode crear o directorio \"data\".",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Isto normalmente pódese solucionar dándolle ao servidor web acceso de escritura ao directorio raíz. Véxase %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Os permisos normalmente pódense corrixir dándolle ao servidor web acceso de escritura ao directorio raíz. Véxase %s.",
+ "Your data directory is not writable." : "O teu directorio de datos non se pode escribir.",
+ "Setting locale to %s failed." : "Produciuse un erro ao establecer a configuración rexional en %s.",
+ "Please install one of these locales on your system and restart your web server." : "Instala un destes locais no teu sistema e reinicia o teu servidor web.",
"PHP module %s not installed." : "O módulo PHP %s non está instalado.",
"Please ask your server administrator to install the module." : "Pregúntelle ao administrador do servidor pola instalación do módulo.",
"PHP setting \"%s\" is not set to \"%s\"." : "O axuste de PHP «%s» non está estabelecido a «%s».",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Cambiar este axuste no ficheiro php.ini fará que Nextcloud funcione de novo",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> está definido en <code>%s</code> en lugar do valor esperado <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "Para solucionar este problema, establece <code>mbstring.func_overload</code> en <code>0</code> no teu php.ini.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "É necesario, cando menos, libxml2 2.7.0. Actualmente esta instalado %s.",
"To fix this issue update your libxml2 version and restart your web server." : "Para arranxar esta incidencia, actualice a versión de libxml2 e reinicie o servidor web. ",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Semella que PHP foi configurado para quitar bloques de documentos en liña. Isto fará que varias aplicacións sexan inaccesíbeis.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto probabelmente se debe unha caché/acelerador como Zend OPcache ou eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "Instaláronse os módulos de PHP, mais aínda aparecen listados como perdidos?",
"Please ask your server administrator to restart the web server." : "Pregúntelle ao administrador do servidor polo reinicio do servidor web..",
+ "The required %s config variable is not configured in the config.php file." : "A variable de configuración %s necesaria non está configurada no ficheiro config.php.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Pídalle ao administrador do seu servidor que verifique a configuración de Nextcloud.",
+ "PostgreSQL >= 9 required." : "Necesario PostgreSQL >= 9.",
+ "Please upgrade your database version." : "Por favor actualiza a versión da túa base de datos.",
+ "Your data directory is readable by other users." : "Outros usuarios poden leer o teu directorio de datos.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Cambie os permisos a 0770 para que o directorio non poida ser listado por outros usuarios.",
+ "Your data directory must be an absolute path." : "O teu directorio de datos debe ser unha ruta absoluta.",
+ "Check the value of \"datadirectory\" in your configuration." : "Comprobe o valor de \"datadirectory\" na súa configuración.",
+ "Your data directory is invalid." : "O teu directorio de datos non é válido.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Asegúrese de que existe un ficheiro chamado «.ocdata» na raíz do directorio de datos.",
"Action \"%s\" not supported or implemented." : "A acción «%s» non está admitida ou implementada.",
"Authentication failed, wrong token or provider ID given" : "Produciuse un fallo de autenticación. Deuse un testemuño ou un ID de provedor erróneos.",
@@ -219,9 +267,14 @@ OC.L10N.register(
"%s enter the database username." : "%s introduza o nome de usuario da base de datos",
"%s enter the database name." : "%s introduza o nome da base de datos",
"%s you may not use dots in the database name" : "%s non se poden empregar puntos na base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Semella que esta instancia de %s está a funcionar nun contorno PHP de 32 bisst e o open_basedir foi configurado no php.ini. Isto provocará problemas con ficheiros maiores de 4 GB e está absolutamente desaconsellado.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Retire o axuste de open_basedir no php.ini ou cambie a PHP de 64 bits.",
+ "The user limit has been reached and the user was not created." : "Acadouse o límite de usuarios polo que non se creou o usuario.",
+ "Cannot read file" : "Non se pode ler o ficheiro",
"Cannot write into \"config\" directory" : "Non é posíbel escribir no directorio «config»",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Polo xeral, isto pode ser fixado para permitirlle ao servidor web acceso de escritura ao directorio «config». Vexa %s",
"Cannot write into \"apps\" directory" : "Non é posíbel escribir no directorio «apps»",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "Normalmente, isto pódese solucionar dándolle ao servidor web acceso de escritura ao directorio de aplicacións ou desactivando a App Store no ficheiro de configuración.",
"Cannot create \"data\" directory" : "Non é posíbel crear o directorio «data»",
"This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Polo xeral, isto pódese solucionar dándolle ao servidor web acceso de escritura ao directorio raíz. Vexa %s.",
"Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Polo xeral, pódense corrixir os permisos dándolle ao servidor web acceso de escritura ao directorio raíz. Vexa %s.",
@@ -234,6 +287,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "O se directorio de datos é lexíbel por outros usuarios",
"Your data directory must be an absolute path" : "O seu directorio de datos debe ser unha ruta absoluta",
"Check the value of \"datadirectory\" in your configuration" : "Comprobe o valor de «datadirectory» na configuración",
- "Your data directory is invalid" : "O seu directorio de datos non é correcto"
+ "Your data directory is invalid" : "O seu directorio de datos non é correcto",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Alcanzouse o límite de usuarios e non se creou o usuario. Consulta as túas notificacións para obter máis información."
},
"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/gl.json b/lib/l10n/gl.json
index cd074df9790..33ab87876af 100644
--- a/lib/l10n/gl.json
+++ b/lib/l10n/gl.json
@@ -1,9 +1,18 @@
{ "translations": {
"Cannot write into \"config\" directory!" : "Non é posíbel escribir no directorio «config»!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Isto normalmente pódese solucionar dándolle ao servidor web acceso de escritura ao directorio de configuración.",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Pero, se prefires manter o ficheiro config.php de só lectura, establece a opción \"config_is_read_only\" como verdadeira nel.",
"See %s" : "Vexa %s",
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Os ficheiros da aplicación %1$s non foron substituídos correctamente. Asegúrese que é unha versión compatíbel co servidor.",
"Sample configuration detected" : "Detectouse a configuración de exemplo",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Detectouse que foi copiada a configuración de exemplo. Isto pode rachar a súa instalación e non é compatíbel. Lea a documentación antes de facer cambios en config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Non se puido atopar a páxina no servidor.",
+ "%s email verification" : "%s verificación de correo electrónico",
+ "Email verification" : "Verificación de correo electrónico",
+ "Click the following button to confirm your email." : "Fai clic no seguinte botón para confirmar o teu correo electrónico.",
+ "Click the following link to confirm your email." : "Fai clic na seguinte ligazón para confirmar o teu correo electrónico.",
+ "Confirm your email" : "Confirma o teu correo electrónico",
"Other activities" : "Outras actividades",
"%1$s and %2$s" : "%1$s e %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s e %3$s",
@@ -26,6 +35,7 @@
"The following platforms are supported: %s" : "Admítense as seguintes plataformas: %s",
"Server version %s or higher is required." : "É necesaria a versión %s ou superior do servidor.",
"Server version %s or lower is required." : "É necesaria a versión %s ou inferior do servidor.",
+ "Logged in user must be an admin, a sub admin or gotten special right to access this setting" : "O usuario iniciado debe ser un administrador, un subadministrador ou ter un dereito especial para acceder a esta configuración",
"Logged in user must be an admin or sub admin" : "O usuario rexistrado debe ser un administrador ou subadministrador",
"Logged in user must be an admin" : "O usuario rexistrado debe ser un administrador",
"Wiping of device %s has started" : "Iniciouse a limpeza do dispositivo %s",
@@ -80,22 +90,36 @@
"__language_name__" : "Galego",
"This is an automatically sent email, please do not reply." : "Este é un correo enviado automaticamente, non responda.",
"Help" : "Axuda",
+ "Appearance and accessibility" : "Aspecto e accesibilidade",
"Apps" : "Aplicacións",
+ "Personal settings" : "Axustes persoais",
+ "Administration settings" : "Axustes de administración",
"Settings" : "Axustes",
"Log out" : "Saír",
"Users" : "Usuarios",
"Email" : "Correo-e",
+ "Mail %s" : "Correo %s",
+ "Fediverse" : "Fediverso",
+ "View %s on the fediverse" : "Ver %s no fediverso",
"Phone" : "Teléfono",
+ "Call %s" : "Chamar %s",
"Twitter" : "Twitter",
+ "View %s on Twitter" : "Ver %s en Twitter",
"Website" : "Sitio web",
+ "Visit %s" : "Visitar %s",
"Address" : "Enderezo",
"Profile picture" : "Imaxe do perfil",
"About" : "Sobre",
"Full name" : "Nome completo",
"Headline" : "Titular",
+ "Organisation" : "Organización",
"Role" : "Cargo",
"Unknown user" : "Usuario descoñecido",
"Additional settings" : "Axustes adicionais",
+ "Enter the database username and name for %s" : "Introduza o nome de usuario e o nome da base de datos para %s",
+ "Enter the database username for %s" : "Introduza o nome de usuario da base de datos para %s",
+ "Enter the database name for %s" : "Introduza o nome da base de datos para %s",
+ "You cannot use dots in the database name %s" : "Non pode usar puntos no nome da base de datos %s",
"MySQL username and/or password not valid" : "Nome de usuario e/ou contrasinal de MySQL incorrecto",
"You need to enter details of an existing account." : "Debe introducir os detalles dunha conta existente.",
"Oracle connection could not be established" : "Non foi posíbel estabelecer a conexión con Oracle",
@@ -103,10 +127,11 @@
"PostgreSQL username and/or password not valid" : "Nome de usuario e/ou contrasinal de PostgreSQL incorrecto",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X non é compatíbel e %s non funcionará correctamente nesta plataforma. Utilíceo baixo a súa responsabilidade!",
"For the best results, please consider using a GNU/Linux server instead." : "Para obter mellores resultados, considere o emprego dun servidor GNU/Linux no seu canto.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Semella que esta instancia de %s está a funcionar nun contorno PHP de 32 bisst e o open_basedir foi configurado no php.ini. Isto provocará problemas con ficheiros maiores de 4 GB e está absolutamente desaconsellado.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Retire o axuste de open_basedir no php.ini ou cambie a PHP de 64 bits.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Parece que esta instancia %s está a executarse nun ambiente PHP de 32 bits. Requírese 64 bits para 26 ou superior.",
+ "Please switch to 64-bit PHP." : "Cambia a PHP de 64 bits.",
"Set an admin username." : "Estabeleza un nome de usuario administrador",
"Set an admin password." : "Estabeleza un contrasinal de administrador",
+ "Cannot create or write into the data directory %s" : "Non se pode crear nin escribir no directorio de datos %s",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "A infraestrutura de compartición %s ten que implementar a interface OCP\\Share_Backend",
"Sharing backend %s not found" : "Non se atopou a infraestrutura de compartición %s",
"Sharing backend for %s not found" : "Non se atopou a infraestrutura de compartición para %s",
@@ -117,6 +142,8 @@
"%1$s via %2$s" : "%1$s mediante %2$s",
"You are not allowed to share %s" : "Non ten permiso para compartir %s",
"Cannot increase permissions of %s" : "Non é posíbel aumentar os permisos de %s",
+ "Files cannot be shared with delete permissions" : "Non se poden compartir ficheiros con permisos de eliminación",
+ "Files cannot be shared with create permissions" : "Non se poden compartir ficheiros con permisos de creación",
"Expiration date is in the past" : "Xa pasou a data de caducidade",
"Sharing is only allowed with group members" : "Só se permite compartir cos membros do grupo",
"Sharing %s failed, because this item is already shared with user %s" : "Fallou a compartición de %s por mor de que este elemento xa foi compartido co usuario %s",
@@ -124,6 +151,7 @@
"%1$s shared »%2$s« with you." : "%1$s compartiu «%2$s» con vostede.",
"Click the button below to open it." : "Prema no botón de embaixo para abrilo.",
"The requested share does not exist anymore" : "O recurso compartido solicitado xa non existe",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Non se creou o usuario porque se alcanzou o límite de usuarios. Consulta as túas notificacións para obter máis información.",
"Could not find category \"%s\"" : "Non foi posíbel atopar a categoría «%s»",
"Sunday" : "domingo",
"Monday" : "luns",
@@ -170,36 +198,56 @@
"Oct." : "out.",
"Nov." : "nov.",
"Dec." : "dec.",
- "The user limit has been reached and the user was not created." : "Acadouse o límite de usuarios polo que non se creou o usuario.",
+ "A valid password must be provided" : "Debe fornecer un contrasinal",
+ "The username is already being used" : "Este nome de usuario xa está a ser usado",
+ "Could not create user" : "Non foi posíbel crear o usuario",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Só os seguintes caracteres están permitidos nos nomes de usuario: «a-z», «A-Z», «0-9» e «_.@-'»",
"A valid username must be provided" : "Debe fornecer un nome de usuario correcto",
"Username contains whitespace at the beginning or at the end" : "O nome de usuario contén un espazo en branco no inicio ou no final",
"Username must not consist of dots only" : "O nome de usuario non debe consistir só de puntos",
"Username is invalid because files already exist for this user" : "O nome de usuario non é válido porque xa existen ficheiros para este usuario",
- "A valid password must be provided" : "Debe fornecer un contrasinal",
- "The username is already being used" : "Este nome de usuario xa está a ser usado",
- "Could not create user" : "Non foi posíbel crear o usuario",
"User disabled" : "Usuario desactivado",
"Login canceled by app" : "Acceso cancelado pola aplicación",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Non é posíbel instalar a aplicación «%1$s» por mor de non cumprirse as dependencias: %2$s",
"a safe home for all your data" : "un lugar seguro para todos os seus datos",
"File is currently busy, please try again later" : "O ficheiro está ocupado neste momento, ténteo máis adiante.",
+ "Cannot download file" : "Non se pode descargar o ficheiro",
"Application is not enabled" : "A aplicación non está activada",
"Authentication error" : "Produciuse un erro de autenticación",
"Token expired. Please reload page." : "Testemuño caducado. Recargue a páxina.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Non hai controladores de base de datos (sqlite, mysql, ou postgresql) instalados.",
+ "Cannot write into \"config\" directory." : "Non se pode escribir no directorio \"config\".",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Isto normalmente pódese solucionar dándolle ao servidor web acceso de escritura ao directorio de configuración. Véxase %s",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Ou, se prefire conservar o ficheiro «config.php» como de só lectura, marque a opción «config_is_read_only» como «true» nel. Vexa %s",
+ "Cannot write into \"apps\" directory." : "Non se pode escribir no directorio \"apps\".",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Normalmente, isto pódese solucionar dándolle ao servidor web acceso de escritura ao directorio de aplicacións ou desactivando a App Store no ficheiro de configuración.",
+ "Cannot create \"data\" directory." : "Non se pode crear o directorio \"data\".",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Isto normalmente pódese solucionar dándolle ao servidor web acceso de escritura ao directorio raíz. Véxase %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Os permisos normalmente pódense corrixir dándolle ao servidor web acceso de escritura ao directorio raíz. Véxase %s.",
+ "Your data directory is not writable." : "O teu directorio de datos non se pode escribir.",
+ "Setting locale to %s failed." : "Produciuse un erro ao establecer a configuración rexional en %s.",
+ "Please install one of these locales on your system and restart your web server." : "Instala un destes locais no teu sistema e reinicia o teu servidor web.",
"PHP module %s not installed." : "O módulo PHP %s non está instalado.",
"Please ask your server administrator to install the module." : "Pregúntelle ao administrador do servidor pola instalación do módulo.",
"PHP setting \"%s\" is not set to \"%s\"." : "O axuste de PHP «%s» non está estabelecido a «%s».",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Cambiar este axuste no ficheiro php.ini fará que Nextcloud funcione de novo",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> está definido en <code>%s</code> en lugar do valor esperado <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "Para solucionar este problema, establece <code>mbstring.func_overload</code> en <code>0</code> no teu php.ini.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "É necesario, cando menos, libxml2 2.7.0. Actualmente esta instalado %s.",
"To fix this issue update your libxml2 version and restart your web server." : "Para arranxar esta incidencia, actualice a versión de libxml2 e reinicie o servidor web. ",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Semella que PHP foi configurado para quitar bloques de documentos en liña. Isto fará que varias aplicacións sexan inaccesíbeis.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto probabelmente se debe unha caché/acelerador como Zend OPcache ou eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "Instaláronse os módulos de PHP, mais aínda aparecen listados como perdidos?",
"Please ask your server administrator to restart the web server." : "Pregúntelle ao administrador do servidor polo reinicio do servidor web..",
+ "The required %s config variable is not configured in the config.php file." : "A variable de configuración %s necesaria non está configurada no ficheiro config.php.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Pídalle ao administrador do seu servidor que verifique a configuración de Nextcloud.",
+ "PostgreSQL >= 9 required." : "Necesario PostgreSQL >= 9.",
+ "Please upgrade your database version." : "Por favor actualiza a versión da túa base de datos.",
+ "Your data directory is readable by other users." : "Outros usuarios poden leer o teu directorio de datos.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Cambie os permisos a 0770 para que o directorio non poida ser listado por outros usuarios.",
+ "Your data directory must be an absolute path." : "O teu directorio de datos debe ser unha ruta absoluta.",
+ "Check the value of \"datadirectory\" in your configuration." : "Comprobe o valor de \"datadirectory\" na súa configuración.",
+ "Your data directory is invalid." : "O teu directorio de datos non é válido.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Asegúrese de que existe un ficheiro chamado «.ocdata» na raíz do directorio de datos.",
"Action \"%s\" not supported or implemented." : "A acción «%s» non está admitida ou implementada.",
"Authentication failed, wrong token or provider ID given" : "Produciuse un fallo de autenticación. Deuse un testemuño ou un ID de provedor erróneos.",
@@ -217,9 +265,14 @@
"%s enter the database username." : "%s introduza o nome de usuario da base de datos",
"%s enter the database name." : "%s introduza o nome da base de datos",
"%s you may not use dots in the database name" : "%s non se poden empregar puntos na base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Semella que esta instancia de %s está a funcionar nun contorno PHP de 32 bisst e o open_basedir foi configurado no php.ini. Isto provocará problemas con ficheiros maiores de 4 GB e está absolutamente desaconsellado.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Retire o axuste de open_basedir no php.ini ou cambie a PHP de 64 bits.",
+ "The user limit has been reached and the user was not created." : "Acadouse o límite de usuarios polo que non se creou o usuario.",
+ "Cannot read file" : "Non se pode ler o ficheiro",
"Cannot write into \"config\" directory" : "Non é posíbel escribir no directorio «config»",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Polo xeral, isto pode ser fixado para permitirlle ao servidor web acceso de escritura ao directorio «config». Vexa %s",
"Cannot write into \"apps\" directory" : "Non é posíbel escribir no directorio «apps»",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "Normalmente, isto pódese solucionar dándolle ao servidor web acceso de escritura ao directorio de aplicacións ou desactivando a App Store no ficheiro de configuración.",
"Cannot create \"data\" directory" : "Non é posíbel crear o directorio «data»",
"This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Polo xeral, isto pódese solucionar dándolle ao servidor web acceso de escritura ao directorio raíz. Vexa %s.",
"Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Polo xeral, pódense corrixir os permisos dándolle ao servidor web acceso de escritura ao directorio raíz. Vexa %s.",
@@ -232,6 +285,7 @@
"Your data directory is readable by other users" : "O se directorio de datos é lexíbel por outros usuarios",
"Your data directory must be an absolute path" : "O seu directorio de datos debe ser unha ruta absoluta",
"Check the value of \"datadirectory\" in your configuration" : "Comprobe o valor de «datadirectory» na configuración",
- "Your data directory is invalid" : "O seu directorio de datos non é correcto"
+ "Your data directory is invalid" : "O seu directorio de datos non é correcto",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Alcanzouse o límite de usuarios e non se creou o usuario. Consulta as túas notificacións para obter máis información."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/lib/l10n/he.js b/lib/l10n/he.js
index 4604ea141c9..47d3f29c74b 100644
--- a/lib/l10n/he.js
+++ b/lib/l10n/he.js
@@ -79,8 +79,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "שם משתמש ו/או סיסמת PostgreSQL אינם תקפים",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X אינו נתמך ו- %s לא יעבוד כשורה בפלטפורמה זו. ניתן לקחת סיכון ולהשתמש באחריותך! ",
"For the best results, please consider using a GNU/Linux server instead." : "לתוצאות הכי טובות, יש לשקול שימוש בשרת GNU/Linux במקום.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "נראה ש- %s עובד על בסיס סביבת 32-bit PHP ושה- open_basedir הוגדר בקובץ php.ini. מצב זה יוביל לבעיות עם קבצים הגדולים מ- 4 GB ואינו מומלץ לחלוטין.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "יש להסיר את הגדרת open_basedir מתוך קובץ php.ini או להחליף לסביבת 64-bit PHP.",
"Set an admin username." : "קביעת שם משתמש מנהל",
"Set an admin password." : "קביעת סיסמת מנהל",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "צד אחורי לשיתוף %s חייב ליישם את ממשק OCP\\Share_Backend",
@@ -145,15 +143,14 @@ OC.L10N.register(
"Oct." : "אוק׳",
"Nov." : "נוב׳",
"Dec." : "דצמ׳",
- "The user limit has been reached and the user was not created." : "הגעת למגבלת המשתמשים והמשתמש לא נוצר.",
+ "A valid password must be provided" : "יש לספק ססמה תקנית",
+ "The username is already being used" : "השם משתמש כבר בשימוש",
+ "Could not create user" : "לא ניתן ליצור משתמש",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "רק התווים הבאים מאושרים לשם משתמש: \"a-z\", \"A-Z\", \"0-9\", וגם \"_.@-'\"",
"A valid username must be provided" : "יש לספק שם משתמש תקני",
"Username contains whitespace at the beginning or at the end" : "שם המשתמש מכיל רווח בתחילתו או בסופו",
"Username must not consist of dots only" : "שם המשתמש לא יכול להיות מורכב מנקודות בלבד",
"Username is invalid because files already exist for this user" : "שם המשתמש שגוי כיוון שכבר קיימים קבצים למשתמש הזה",
- "A valid password must be provided" : "יש לספק ססמה תקנית",
- "The username is already being used" : "השם משתמש כבר בשימוש",
- "Could not create user" : "לא ניתן ליצור משתמש",
"User disabled" : "משתמש מנוטרל",
"Login canceled by app" : "התחברות בוטלה על ידי יישום",
"a safe home for all your data" : "בית בטוח עבור כל המידע שלך",
@@ -189,6 +186,9 @@ OC.L10N.register(
"%s enter the database username." : "%s נכנס למסד נתוני שמות המשתמשים.",
"%s enter the database name." : "%s נכנס למסד נתוני השמות.",
"%s you may not use dots in the database name" : "%s לא ניתן להשתמש בנקודות בשם מסד הנתונים",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "נראה ש- %s עובד על בסיס סביבת 32-bit PHP ושה- open_basedir הוגדר בקובץ php.ini. מצב זה יוביל לבעיות עם קבצים הגדולים מ- 4 GB ואינו מומלץ לחלוטין.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "יש להסיר את הגדרת open_basedir מתוך קובץ php.ini או להחליף לסביבת 64-bit PHP.",
+ "The user limit has been reached and the user was not created." : "הגעת למגבלת המשתמשים והמשתמש לא נוצר.",
"Cannot write into \"config\" directory" : "לא ניתן לכתוב לתיקיית \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "בדרך כלל ניתן לתקן זאת על ידי הענקת גישה לשרת לכתוב לתיקיית ההגדרות. נא לעיין ב־%s",
"Cannot write into \"apps\" directory" : "לא ניתן לכתוב לתיקיית \"apps\"",
diff --git a/lib/l10n/he.json b/lib/l10n/he.json
index 423f0da4794..da967db538e 100644
--- a/lib/l10n/he.json
+++ b/lib/l10n/he.json
@@ -77,8 +77,6 @@
"PostgreSQL username and/or password not valid" : "שם משתמש ו/או סיסמת PostgreSQL אינם תקפים",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X אינו נתמך ו- %s לא יעבוד כשורה בפלטפורמה זו. ניתן לקחת סיכון ולהשתמש באחריותך! ",
"For the best results, please consider using a GNU/Linux server instead." : "לתוצאות הכי טובות, יש לשקול שימוש בשרת GNU/Linux במקום.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "נראה ש- %s עובד על בסיס סביבת 32-bit PHP ושה- open_basedir הוגדר בקובץ php.ini. מצב זה יוביל לבעיות עם קבצים הגדולים מ- 4 GB ואינו מומלץ לחלוטין.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "יש להסיר את הגדרת open_basedir מתוך קובץ php.ini או להחליף לסביבת 64-bit PHP.",
"Set an admin username." : "קביעת שם משתמש מנהל",
"Set an admin password." : "קביעת סיסמת מנהל",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "צד אחורי לשיתוף %s חייב ליישם את ממשק OCP\\Share_Backend",
@@ -143,15 +141,14 @@
"Oct." : "אוק׳",
"Nov." : "נוב׳",
"Dec." : "דצמ׳",
- "The user limit has been reached and the user was not created." : "הגעת למגבלת המשתמשים והמשתמש לא נוצר.",
+ "A valid password must be provided" : "יש לספק ססמה תקנית",
+ "The username is already being used" : "השם משתמש כבר בשימוש",
+ "Could not create user" : "לא ניתן ליצור משתמש",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "רק התווים הבאים מאושרים לשם משתמש: \"a-z\", \"A-Z\", \"0-9\", וגם \"_.@-'\"",
"A valid username must be provided" : "יש לספק שם משתמש תקני",
"Username contains whitespace at the beginning or at the end" : "שם המשתמש מכיל רווח בתחילתו או בסופו",
"Username must not consist of dots only" : "שם המשתמש לא יכול להיות מורכב מנקודות בלבד",
"Username is invalid because files already exist for this user" : "שם המשתמש שגוי כיוון שכבר קיימים קבצים למשתמש הזה",
- "A valid password must be provided" : "יש לספק ססמה תקנית",
- "The username is already being used" : "השם משתמש כבר בשימוש",
- "Could not create user" : "לא ניתן ליצור משתמש",
"User disabled" : "משתמש מנוטרל",
"Login canceled by app" : "התחברות בוטלה על ידי יישום",
"a safe home for all your data" : "בית בטוח עבור כל המידע שלך",
@@ -187,6 +184,9 @@
"%s enter the database username." : "%s נכנס למסד נתוני שמות המשתמשים.",
"%s enter the database name." : "%s נכנס למסד נתוני השמות.",
"%s you may not use dots in the database name" : "%s לא ניתן להשתמש בנקודות בשם מסד הנתונים",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "נראה ש- %s עובד על בסיס סביבת 32-bit PHP ושה- open_basedir הוגדר בקובץ php.ini. מצב זה יוביל לבעיות עם קבצים הגדולים מ- 4 GB ואינו מומלץ לחלוטין.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "יש להסיר את הגדרת open_basedir מתוך קובץ php.ini או להחליף לסביבת 64-bit PHP.",
+ "The user limit has been reached and the user was not created." : "הגעת למגבלת המשתמשים והמשתמש לא נוצר.",
"Cannot write into \"config\" directory" : "לא ניתן לכתוב לתיקיית \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "בדרך כלל ניתן לתקן זאת על ידי הענקת גישה לשרת לכתוב לתיקיית ההגדרות. נא לעיין ב־%s",
"Cannot write into \"apps\" directory" : "לא ניתן לכתוב לתיקיית \"apps\"",
diff --git a/lib/l10n/hr.js b/lib/l10n/hr.js
index c54b1c9ddc9..13fbe42955a 100644
--- a/lib/l10n/hr.js
+++ b/lib/l10n/hr.js
@@ -117,8 +117,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Neispravno korisničko ime i/ili zaporka baze podataka PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nije podržan i %s na ovoj platformi neće raditi kako treba. Koristite na vlastiti rizik!",
"For the best results, please consider using a GNU/Linux server instead." : "Za najbolje rezultate razmotrite mogućnost korištenja poslužitelja GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Čini se da se ova %s instanca izvodi u 32-bitnom PHP okruženju, a open_basedir je konfiguriran u php.ini. To će dovesti do problema s datotekama većim od 4 GB i stoga se ne preporučuje.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Uklonite postavku open_basedir iz datoteke php.ini ili se prebacite na 64-bitni PHP.",
"Set an admin username." : "Postavite korisničko ime administratora.",
"Set an admin password." : "Postavite zaporku administratora.",
"Cannot create or write into the data directory %s" : "Nije moguće stvoriti ili pisati u direktorij s podacima %s",
@@ -188,15 +186,14 @@ OC.L10N.register(
"Oct." : "Lis.",
"Nov." : "Stu.",
"Dec." : "Pro.",
- "The user limit has been reached and the user was not created." : "Dostignuto je ograničenje broja korisnika pa korisnik nije stvoren.",
+ "A valid password must be provided" : "Nužno je navesti ispravnu zaporku",
+ "The username is already being used" : "Korisničko ime se već koristi",
+ "Could not create user" : "Nije moguće stvoriti korisnika",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "U korisničkom imenu dopušteni su samo sljedeći znakovi: „a – z”, „A – Z”, „0 – 9” i „_.@-'”",
"A valid username must be provided" : "Nužno je navesti ispravno korisničko ime",
"Username contains whitespace at the beginning or at the end" : "Korisničko ime sadrži bijeli prostor na početku ili na kraju",
"Username must not consist of dots only" : "Korisničko ime ne smije se sastojati samo od točkica",
"Username is invalid because files already exist for this user" : "Korisničko ime je nevažeće jer već postoje datoteke za ovog korisnika",
- "A valid password must be provided" : "Nužno je navesti ispravnu zaporku",
- "The username is already being used" : "Korisničko ime se već koristi",
- "Could not create user" : "Nije moguće stvoriti korisnika",
"User disabled" : "Korisnik je onemogućen",
"Login canceled by app" : "Prijava je otkazana putem aplikacije",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikaciju „%1$s” nije moguće instalirati jer nisu ispunjene sljedeće ovisnosti: %2$s",
@@ -235,6 +232,9 @@ OC.L10N.register(
"%s enter the database username." : "%s unesite korisničko ime baze podataka.",
"%s enter the database name." : "%s unesite naziv baze podataka.",
"%s you may not use dots in the database name" : "%s ne smijete koristiti točke u nazivu baze podataka",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Čini se da se ova %s instanca izvodi u 32-bitnom PHP okruženju, a open_basedir je konfiguriran u php.ini. To će dovesti do problema s datotekama većim od 4 GB i stoga se ne preporučuje.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Uklonite postavku open_basedir iz datoteke php.ini ili se prebacite na 64-bitni PHP.",
+ "The user limit has been reached and the user was not created." : "Dostignuto je ograničenje broja korisnika pa korisnik nije stvoren.",
"Cannot read file" : "Datoteku nije moguće pročitati",
"Cannot write into \"config\" directory" : "Pisanje u direktorij „config” nije moguće",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ovo se obično može popraviti tako da se web poslužitelju dopusti pristup za pisanje u konfiguracijski direktorij. Pogledajte %s",
diff --git a/lib/l10n/hr.json b/lib/l10n/hr.json
index 46d145bd0b2..d9b468a770e 100644
--- a/lib/l10n/hr.json
+++ b/lib/l10n/hr.json
@@ -115,8 +115,6 @@
"PostgreSQL username and/or password not valid" : "Neispravno korisničko ime i/ili zaporka baze podataka PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nije podržan i %s na ovoj platformi neće raditi kako treba. Koristite na vlastiti rizik!",
"For the best results, please consider using a GNU/Linux server instead." : "Za najbolje rezultate razmotrite mogućnost korištenja poslužitelja GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Čini se da se ova %s instanca izvodi u 32-bitnom PHP okruženju, a open_basedir je konfiguriran u php.ini. To će dovesti do problema s datotekama većim od 4 GB i stoga se ne preporučuje.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Uklonite postavku open_basedir iz datoteke php.ini ili se prebacite na 64-bitni PHP.",
"Set an admin username." : "Postavite korisničko ime administratora.",
"Set an admin password." : "Postavite zaporku administratora.",
"Cannot create or write into the data directory %s" : "Nije moguće stvoriti ili pisati u direktorij s podacima %s",
@@ -186,15 +184,14 @@
"Oct." : "Lis.",
"Nov." : "Stu.",
"Dec." : "Pro.",
- "The user limit has been reached and the user was not created." : "Dostignuto je ograničenje broja korisnika pa korisnik nije stvoren.",
+ "A valid password must be provided" : "Nužno je navesti ispravnu zaporku",
+ "The username is already being used" : "Korisničko ime se već koristi",
+ "Could not create user" : "Nije moguće stvoriti korisnika",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "U korisničkom imenu dopušteni su samo sljedeći znakovi: „a – z”, „A – Z”, „0 – 9” i „_.@-'”",
"A valid username must be provided" : "Nužno je navesti ispravno korisničko ime",
"Username contains whitespace at the beginning or at the end" : "Korisničko ime sadrži bijeli prostor na početku ili na kraju",
"Username must not consist of dots only" : "Korisničko ime ne smije se sastojati samo od točkica",
"Username is invalid because files already exist for this user" : "Korisničko ime je nevažeće jer već postoje datoteke za ovog korisnika",
- "A valid password must be provided" : "Nužno je navesti ispravnu zaporku",
- "The username is already being used" : "Korisničko ime se već koristi",
- "Could not create user" : "Nije moguće stvoriti korisnika",
"User disabled" : "Korisnik je onemogućen",
"Login canceled by app" : "Prijava je otkazana putem aplikacije",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikaciju „%1$s” nije moguće instalirati jer nisu ispunjene sljedeće ovisnosti: %2$s",
@@ -233,6 +230,9 @@
"%s enter the database username." : "%s unesite korisničko ime baze podataka.",
"%s enter the database name." : "%s unesite naziv baze podataka.",
"%s you may not use dots in the database name" : "%s ne smijete koristiti točke u nazivu baze podataka",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Čini se da se ova %s instanca izvodi u 32-bitnom PHP okruženju, a open_basedir je konfiguriran u php.ini. To će dovesti do problema s datotekama većim od 4 GB i stoga se ne preporučuje.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Uklonite postavku open_basedir iz datoteke php.ini ili se prebacite na 64-bitni PHP.",
+ "The user limit has been reached and the user was not created." : "Dostignuto je ograničenje broja korisnika pa korisnik nije stvoren.",
"Cannot read file" : "Datoteku nije moguće pročitati",
"Cannot write into \"config\" directory" : "Pisanje u direktorij „config” nije moguće",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ovo se obično može popraviti tako da se web poslužitelju dopusti pristup za pisanje u konfiguracijski direktorij. Pogledajte %s",
diff --git a/lib/l10n/hu.js b/lib/l10n/hu.js
index 794df821056..3e1bc88b29c 100644
--- a/lib/l10n/hu.js
+++ b/lib/l10n/hu.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "A(z) %1$s alkalmazás fájljait helytelenül cserélték le. Ellenőrizze, hogy a verzió kompatibilis-e a kiszolgálóval.",
"Sample configuration detected" : "Példabeállítások észlelve",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Úgy tűnik, hogy a példakonfigurációt másolta le. Ez működésképtelenné teheti a telepítést, és nem támogatott. Olvassa el a dokumentációt, mielőtt módosításokat véget a config.php fájlban.",
+ "404" : "404",
+ "The page could not be found on the server." : "Az oldal nem található a kiszolgálón.",
"%s email verification" : "%s e-mail ellenőrzés",
"Email verification" : "E-mail ellenőrzés",
"Click the following button to confirm your email." : "Kattintson a következő gombra, hogy megerősítse az e-mail-címét.",
@@ -99,6 +101,8 @@ OC.L10N.register(
"Users" : "Felhasználók",
"Email" : "E-mail",
"Mail %s" : "Levél küldése ide: %s",
+ "Fediverse" : "Födiverzum",
+ "View %s on the fediverse" : "A(z) %s megtekintése a födiverzumban",
"Phone" : "Telefon",
"Call %s" : "%s hívása",
"Twitter" : "Twitter",
@@ -114,6 +118,10 @@ OC.L10N.register(
"Role" : "Szerepkör",
"Unknown user" : "Ismeretlen felhasználó",
"Additional settings" : "További beállítások",
+ "Enter the database username and name for %s" : "Adja meg a %s adatbázisának nevét és a hozzá tartozó felhasználónevet",
+ "Enter the database username for %s" : "Adja meg a %s adatbázisához tartozó felhasználónevet",
+ "Enter the database name for %s" : "Adja meg a %s adatbázisának nevét",
+ "You cannot use dots in the database name %s" : "A(z) %s adatbázisnév nem tartalmazhat pontot",
"MySQL username and/or password not valid" : "A MySQL felhasználónév vagy jelszó érvénytelen",
"You need to enter details of an existing account." : "Egy már létező fiók adatait kell megadnia.",
"Oracle connection could not be established" : "Az Oracle kapcsolat nem hozható létre",
@@ -121,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "A PostgreSQL felhasználói név vagy jelszó érvénytelen",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "A Mac OS X nem támogatott, és a %s nem lesz teljesen működőképes. Csak saját felelősségre használja.",
"For the best results, please consider using a GNU/Linux server instead." : "A legjobb eredmény érdekében érdemes GNU/Linux kiszolgálót használni.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Úgy tűnik, hogy ez a %s példány 32 bites PHP környezetben fut, és az open_basedir be lett állítva a php.ini fájlban. Ez 4 GB-nál nagyobb fájlok esetén problémákat okozhat, így erősen ellenjavallott.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Távolítsa el az open_basedir beállítást a php.ini fájlból, vagy váltson 64 bites PHP-ra.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Úgy tűnik, hogy ez a %s példány 32 bites PHP környezeten fut. A 26-es és újabb verziókhoz 64 bites szükséges.",
+ "Please switch to 64-bit PHP." : "Váltson 64 bites PHP-ra.",
"Set an admin username." : "Állítson be egy rendszergazdai felhasználónevet.",
"Set an admin password." : "Állítson be egy rendszergazdai jelszót.",
"Cannot create or write into the data directory %s" : "Nem létre létrehozni vagy beleírni a(z) %s adatkönyvtárba",
@@ -146,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s megosztotta Önnel: „%2$s”.",
"Click the button below to open it." : "Kattintson a lenti gombra a megnyitáshoz.",
"The requested share does not exist anymore" : "A kért megosztás már nem létezik",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "A felhasználó nem jött létre, mert elérte a felhasználókorlátot. Nézze meg az értesítéseit, hogy többet tudjon meg.",
"Could not find category \"%s\"" : "Ez a kategória nem található: \"%s\"",
"Sunday" : "Vasárnap",
"Monday" : "Hétfő",
@@ -192,15 +201,14 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "The user limit has been reached and the user was not created." : "Elérte a felhasználói korlátot, és a felhasználó nem jött létre.",
+ "A valid password must be provided" : "Érvényes jelszót kell megadnia",
+ "The username is already being used" : "Ez a felhasználónév már foglalt",
+ "Could not create user" : "Nem sikerült létrehozni a felhasználót",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "A felhasználónévben csak a következő karakterek engedélyezettek: „a-z”, „A-Z”, „0-9”, és „_.@-'”",
"A valid username must be provided" : "Érvényes felhasználónevet kell megadnia",
"Username contains whitespace at the beginning or at the end" : "A felhasználónév szóközt tartalmaz az elején vagy a végén",
"Username must not consist of dots only" : "A felhasználónév nem állhat csak pontokból",
"Username is invalid because files already exist for this user" : "A felhasználónév érvénytelen, mert már vannak fájlok ehhez a felhasználóhoz",
- "A valid password must be provided" : "Érvényes jelszót kell megadnia",
- "The username is already being used" : "Ez a felhasználónév már foglalt",
- "Could not create user" : "Nem sikerült létrehozni a felhasználót",
"User disabled" : "Felhasználó letiltva",
"Login canceled by app" : "Bejelentkezés megszakítva az alkalmazás által",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "A(z) „%1$s” alkalmazást nem lehet telepíteni, mert a következő függőségek nem teljesülnek: %2$s",
@@ -260,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "%s adja meg az adatbázishoz tartozó felhasználónevet.",
"%s enter the database name." : "%s adja meg az adatbázis nevét.",
"%s you may not use dots in the database name" : "%s az adatbázis neve nem tartalmazhat pontot",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Úgy tűnik, hogy ez a %s példány 32 bites PHP környezetben fut, és az open_basedir be lett állítva a php.ini fájlban. Ez 4 GB-nál nagyobb fájlok esetén problémákat okozhat, így erősen ellenjavallott.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Távolítsa el az open_basedir beállítást a php.ini fájlból, vagy váltson 64 bites PHP-ra.",
+ "The user limit has been reached and the user was not created." : "Elérte a felhasználói korlátot, és a felhasználó nem jött létre.",
"Cannot read file" : "A fájl nem olvasható",
"Cannot write into \"config\" directory" : "A „config” könyvtár nem írható",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ez általában úgy javítható, hogy a webkiszolgálónak írási hozzáférést biztosít a konfigurációs könyvtárhoz. Lásd: %s.",
@@ -277,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Az adatkönyvtára más felhasználók által is olvasható",
"Your data directory must be an absolute path" : "Az adatkönyvtárnak abszolút útvonalnak kell lennie",
"Check the value of \"datadirectory\" in your configuration" : "Ellenőrizze a „datadirectory” értékét a konfigurációban",
- "Your data directory is invalid" : "Az adatkönyvtár érvénytelen"
+ "Your data directory is invalid" : "Az adatkönyvtár érvénytelen",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Elérte a felhasználókorlátot, és a felhasználó nem jött létre. Nézze meg az értesítéseit, hogy többet tudjon meg."
},
"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/hu.json b/lib/l10n/hu.json
index 5201eccc3fe..93cea209c11 100644
--- a/lib/l10n/hu.json
+++ b/lib/l10n/hu.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "A(z) %1$s alkalmazás fájljait helytelenül cserélték le. Ellenőrizze, hogy a verzió kompatibilis-e a kiszolgálóval.",
"Sample configuration detected" : "Példabeállítások észlelve",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Úgy tűnik, hogy a példakonfigurációt másolta le. Ez működésképtelenné teheti a telepítést, és nem támogatott. Olvassa el a dokumentációt, mielőtt módosításokat véget a config.php fájlban.",
+ "404" : "404",
+ "The page could not be found on the server." : "Az oldal nem található a kiszolgálón.",
"%s email verification" : "%s e-mail ellenőrzés",
"Email verification" : "E-mail ellenőrzés",
"Click the following button to confirm your email." : "Kattintson a következő gombra, hogy megerősítse az e-mail-címét.",
@@ -97,6 +99,8 @@
"Users" : "Felhasználók",
"Email" : "E-mail",
"Mail %s" : "Levél küldése ide: %s",
+ "Fediverse" : "Födiverzum",
+ "View %s on the fediverse" : "A(z) %s megtekintése a födiverzumban",
"Phone" : "Telefon",
"Call %s" : "%s hívása",
"Twitter" : "Twitter",
@@ -112,6 +116,10 @@
"Role" : "Szerepkör",
"Unknown user" : "Ismeretlen felhasználó",
"Additional settings" : "További beállítások",
+ "Enter the database username and name for %s" : "Adja meg a %s adatbázisának nevét és a hozzá tartozó felhasználónevet",
+ "Enter the database username for %s" : "Adja meg a %s adatbázisához tartozó felhasználónevet",
+ "Enter the database name for %s" : "Adja meg a %s adatbázisának nevét",
+ "You cannot use dots in the database name %s" : "A(z) %s adatbázisnév nem tartalmazhat pontot",
"MySQL username and/or password not valid" : "A MySQL felhasználónév vagy jelszó érvénytelen",
"You need to enter details of an existing account." : "Egy már létező fiók adatait kell megadnia.",
"Oracle connection could not be established" : "Az Oracle kapcsolat nem hozható létre",
@@ -119,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "A PostgreSQL felhasználói név vagy jelszó érvénytelen",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "A Mac OS X nem támogatott, és a %s nem lesz teljesen működőképes. Csak saját felelősségre használja.",
"For the best results, please consider using a GNU/Linux server instead." : "A legjobb eredmény érdekében érdemes GNU/Linux kiszolgálót használni.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Úgy tűnik, hogy ez a %s példány 32 bites PHP környezetben fut, és az open_basedir be lett állítva a php.ini fájlban. Ez 4 GB-nál nagyobb fájlok esetén problémákat okozhat, így erősen ellenjavallott.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Távolítsa el az open_basedir beállítást a php.ini fájlból, vagy váltson 64 bites PHP-ra.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Úgy tűnik, hogy ez a %s példány 32 bites PHP környezeten fut. A 26-es és újabb verziókhoz 64 bites szükséges.",
+ "Please switch to 64-bit PHP." : "Váltson 64 bites PHP-ra.",
"Set an admin username." : "Állítson be egy rendszergazdai felhasználónevet.",
"Set an admin password." : "Állítson be egy rendszergazdai jelszót.",
"Cannot create or write into the data directory %s" : "Nem létre létrehozni vagy beleírni a(z) %s adatkönyvtárba",
@@ -144,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s megosztotta Önnel: „%2$s”.",
"Click the button below to open it." : "Kattintson a lenti gombra a megnyitáshoz.",
"The requested share does not exist anymore" : "A kért megosztás már nem létezik",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "A felhasználó nem jött létre, mert elérte a felhasználókorlátot. Nézze meg az értesítéseit, hogy többet tudjon meg.",
"Could not find category \"%s\"" : "Ez a kategória nem található: \"%s\"",
"Sunday" : "Vasárnap",
"Monday" : "Hétfő",
@@ -190,15 +199,14 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "The user limit has been reached and the user was not created." : "Elérte a felhasználói korlátot, és a felhasználó nem jött létre.",
+ "A valid password must be provided" : "Érvényes jelszót kell megadnia",
+ "The username is already being used" : "Ez a felhasználónév már foglalt",
+ "Could not create user" : "Nem sikerült létrehozni a felhasználót",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "A felhasználónévben csak a következő karakterek engedélyezettek: „a-z”, „A-Z”, „0-9”, és „_.@-'”",
"A valid username must be provided" : "Érvényes felhasználónevet kell megadnia",
"Username contains whitespace at the beginning or at the end" : "A felhasználónév szóközt tartalmaz az elején vagy a végén",
"Username must not consist of dots only" : "A felhasználónév nem állhat csak pontokból",
"Username is invalid because files already exist for this user" : "A felhasználónév érvénytelen, mert már vannak fájlok ehhez a felhasználóhoz",
- "A valid password must be provided" : "Érvényes jelszót kell megadnia",
- "The username is already being used" : "Ez a felhasználónév már foglalt",
- "Could not create user" : "Nem sikerült létrehozni a felhasználót",
"User disabled" : "Felhasználó letiltva",
"Login canceled by app" : "Bejelentkezés megszakítva az alkalmazás által",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "A(z) „%1$s” alkalmazást nem lehet telepíteni, mert a következő függőségek nem teljesülnek: %2$s",
@@ -258,6 +266,9 @@
"%s enter the database username." : "%s adja meg az adatbázishoz tartozó felhasználónevet.",
"%s enter the database name." : "%s adja meg az adatbázis nevét.",
"%s you may not use dots in the database name" : "%s az adatbázis neve nem tartalmazhat pontot",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Úgy tűnik, hogy ez a %s példány 32 bites PHP környezetben fut, és az open_basedir be lett állítva a php.ini fájlban. Ez 4 GB-nál nagyobb fájlok esetén problémákat okozhat, így erősen ellenjavallott.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Távolítsa el az open_basedir beállítást a php.ini fájlból, vagy váltson 64 bites PHP-ra.",
+ "The user limit has been reached and the user was not created." : "Elérte a felhasználói korlátot, és a felhasználó nem jött létre.",
"Cannot read file" : "A fájl nem olvasható",
"Cannot write into \"config\" directory" : "A „config” könyvtár nem írható",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ez általában úgy javítható, hogy a webkiszolgálónak írási hozzáférést biztosít a konfigurációs könyvtárhoz. Lásd: %s.",
@@ -275,6 +286,7 @@
"Your data directory is readable by other users" : "Az adatkönyvtára más felhasználók által is olvasható",
"Your data directory must be an absolute path" : "Az adatkönyvtárnak abszolút útvonalnak kell lennie",
"Check the value of \"datadirectory\" in your configuration" : "Ellenőrizze a „datadirectory” értékét a konfigurációban",
- "Your data directory is invalid" : "Az adatkönyvtár érvénytelen"
+ "Your data directory is invalid" : "Az adatkönyvtár érvénytelen",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Elérte a felhasználókorlátot, és a felhasználó nem jött létre. Nézze meg az értesítéseit, hogy többet tudjon meg."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/lib/l10n/ia.js b/lib/l10n/ia.js
index 8f031327938..b8cb5167d4e 100644
--- a/lib/l10n/ia.js
+++ b/lib/l10n/ia.js
@@ -64,8 +64,8 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "A valid username must be provided" : "Un nomine de usator valide debe esser providite",
"A valid password must be provided" : "Un contrasigno valide debe esser providite",
+ "A valid username must be provided" : "Un nomine de usator valide debe esser providite",
"Authentication error" : "Error in authentication",
"Storage is temporarily not available" : "Immagazinage es provisorimente non disponibile"
},
diff --git a/lib/l10n/ia.json b/lib/l10n/ia.json
index 739cc6e7f54..3731fc0ca71 100644
--- a/lib/l10n/ia.json
+++ b/lib/l10n/ia.json
@@ -62,8 +62,8 @@
"Oct." : "Oct.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "A valid username must be provided" : "Un nomine de usator valide debe esser providite",
"A valid password must be provided" : "Un contrasigno valide debe esser providite",
+ "A valid username must be provided" : "Un nomine de usator valide debe esser providite",
"Authentication error" : "Error in authentication",
"Storage is temporarily not available" : "Immagazinage es provisorimente non disponibile"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/lib/l10n/id.js b/lib/l10n/id.js
index 1d00cd739ac..2a7c6669e1d 100644
--- a/lib/l10n/id.js
+++ b/lib/l10n/id.js
@@ -56,8 +56,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Nama pengguna dan/atau kata sandi PostgreSQL tidak valid",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X tidak didukung dan %s tidak akan bekerja dengan baik pada platform ini. Gunakan dengan resiko Anda sendiri!",
"For the best results, please consider using a GNU/Linux server instead." : "Untuk hasil terbaik, pertimbangkan untuk menggunakan server GNU/Linux sebagai gantinya. ",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Kelihatannya instansi %s ini berjalan di lingkungan PHP 32-bit dan open_basedir telah dikonfigurasi di php.ini. Hal ini akan menyebabkan masalah dengan berkas lebih dari 4 GB dan sangat tidak disarankan.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Mohon hapus pengaturan open_basedir didalam php.ini atau beralih ke PHP 64-bit.",
"Set an admin username." : "Tetapkan nama pengguna admin.",
"Set an admin password." : "Tetapkan kata sandi admin.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Backend berbagi %s harus mengimplementasi antarmuka OCP\\Share_Backend",
@@ -114,11 +112,11 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Des.",
+ "A valid password must be provided" : "Tuliskan kata sandi yang valid",
+ "The username is already being used" : "Nama pengguna ini telah digunakan",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Hanya karakter ini yang diizinkan dalam nama pengguna: \"a-z\", \"A-Z\", \"0-9\", dan \"_.@-'\"",
"A valid username must be provided" : "Tuliskan nama pengguna yang valid",
"Username contains whitespace at the beginning or at the end" : "Nama pengguna mengandung spasi di depan atau di belakang.",
- "A valid password must be provided" : "Tuliskan kata sandi yang valid",
- "The username is already being used" : "Nama pengguna ini telah digunakan",
"User disabled" : "Pengguna dinonaktifkan",
"Login canceled by app" : "Log masuk dibatalkan oleh aplikasi",
"a safe home for all your data" : "rumah yang aman untuk semua datamu",
@@ -148,6 +146,8 @@ OC.L10N.register(
"%s enter the database username." : "%s masukkan nama pengguna basis data.",
"%s enter the database name." : "%s masukkan nama basis data.",
"%s you may not use dots in the database name" : "%s anda tidak boleh menggunakan karakter titik pada nama basis data",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Kelihatannya instansi %s ini berjalan di lingkungan PHP 32-bit dan open_basedir telah dikonfigurasi di php.ini. Hal ini akan menyebabkan masalah dengan berkas lebih dari 4 GB dan sangat tidak disarankan.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Mohon hapus pengaturan open_basedir didalam php.ini atau beralih ke PHP 64-bit.",
"Cannot write into \"config\" directory" : "Tidak dapat menulis kedalam direktori \"config\"",
"Cannot write into \"apps\" directory" : "Tidak dapat menulis kedalam direktori \"apps\"",
"Setting locale to %s failed" : "Pengaturan lokal ke %s gagal",
diff --git a/lib/l10n/id.json b/lib/l10n/id.json
index b8d6105c455..5852b367d62 100644
--- a/lib/l10n/id.json
+++ b/lib/l10n/id.json
@@ -54,8 +54,6 @@
"PostgreSQL username and/or password not valid" : "Nama pengguna dan/atau kata sandi PostgreSQL tidak valid",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X tidak didukung dan %s tidak akan bekerja dengan baik pada platform ini. Gunakan dengan resiko Anda sendiri!",
"For the best results, please consider using a GNU/Linux server instead." : "Untuk hasil terbaik, pertimbangkan untuk menggunakan server GNU/Linux sebagai gantinya. ",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Kelihatannya instansi %s ini berjalan di lingkungan PHP 32-bit dan open_basedir telah dikonfigurasi di php.ini. Hal ini akan menyebabkan masalah dengan berkas lebih dari 4 GB dan sangat tidak disarankan.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Mohon hapus pengaturan open_basedir didalam php.ini atau beralih ke PHP 64-bit.",
"Set an admin username." : "Tetapkan nama pengguna admin.",
"Set an admin password." : "Tetapkan kata sandi admin.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Backend berbagi %s harus mengimplementasi antarmuka OCP\\Share_Backend",
@@ -112,11 +110,11 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Des.",
+ "A valid password must be provided" : "Tuliskan kata sandi yang valid",
+ "The username is already being used" : "Nama pengguna ini telah digunakan",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Hanya karakter ini yang diizinkan dalam nama pengguna: \"a-z\", \"A-Z\", \"0-9\", dan \"_.@-'\"",
"A valid username must be provided" : "Tuliskan nama pengguna yang valid",
"Username contains whitespace at the beginning or at the end" : "Nama pengguna mengandung spasi di depan atau di belakang.",
- "A valid password must be provided" : "Tuliskan kata sandi yang valid",
- "The username is already being used" : "Nama pengguna ini telah digunakan",
"User disabled" : "Pengguna dinonaktifkan",
"Login canceled by app" : "Log masuk dibatalkan oleh aplikasi",
"a safe home for all your data" : "rumah yang aman untuk semua datamu",
@@ -146,6 +144,8 @@
"%s enter the database username." : "%s masukkan nama pengguna basis data.",
"%s enter the database name." : "%s masukkan nama basis data.",
"%s you may not use dots in the database name" : "%s anda tidak boleh menggunakan karakter titik pada nama basis data",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Kelihatannya instansi %s ini berjalan di lingkungan PHP 32-bit dan open_basedir telah dikonfigurasi di php.ini. Hal ini akan menyebabkan masalah dengan berkas lebih dari 4 GB dan sangat tidak disarankan.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Mohon hapus pengaturan open_basedir didalam php.ini atau beralih ke PHP 64-bit.",
"Cannot write into \"config\" directory" : "Tidak dapat menulis kedalam direktori \"config\"",
"Cannot write into \"apps\" directory" : "Tidak dapat menulis kedalam direktori \"apps\"",
"Setting locale to %s failed" : "Pengaturan lokal ke %s gagal",
diff --git a/lib/l10n/is.js b/lib/l10n/is.js
index cf7debf7fcd..ca4b222f2e5 100644
--- a/lib/l10n/is.js
+++ b/lib/l10n/is.js
@@ -95,8 +95,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Notandanafn eða lykilorð PostgreSQL er ekki gilt",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X er ekki stutt og %s mun ekki vinna eðlilega á þessu stýrikerfi. Notaðu þetta því á þína eigin ábyrgð! ",
"For the best results, please consider using a GNU/Linux server instead." : "Fyrir bestu útkomu ættirðu að íhuga að nota GNU/Linux þjón í staðinn.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Það lítur út eins og þessi %s uppsetning sé að keyra á 32-bita PHP umhverfi og að open_basedir hafi verið stillt í php.ini. Þetta mun valda vandamálum með skrár stærri en 4 GB og er stranglega mælt gegn því að þetta sé gert.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjarlægðu stillinguna open_basedir úr php.ini eða skiptu yfir í 64-bita PHP.",
"Set an admin username." : "Stilltu notandanafn kerfisstjóra.",
"Set an admin password." : "Stilltu lykilorð kerfisstjóra.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Deilingarbakendinn %s verður að vera settur upp fyrir viðmótið OCP\\Share_Backend",
@@ -161,14 +159,14 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nóv.",
"Dec." : "Des.",
+ "A valid password must be provided" : "Skráðu inn gilt lykilorð",
+ "The username is already being used" : "Notandanafnið er þegar í notkun",
+ "Could not create user" : "Gat ekki búið til notanda",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Einungis eru leyfilegir eftirfarandi stafir í notandanafni: \"a-z\", \"A-Z\", \"0-9\", og \"_.@-'\"",
"A valid username must be provided" : "Skráðu inn gilt notandanafn",
"Username contains whitespace at the beginning or at the end" : "Notandanafnið inniheldur orðabil í upphafi eða enda",
"Username must not consist of dots only" : "Notandanafn má ekki einungis samanstanda af punktum",
"Username is invalid because files already exist for this user" : "Notandanafnið er ógilt vegna þess að þegar eru fyrir hendi skrár sem tilheyra þessum notanda",
- "A valid password must be provided" : "Skráðu inn gilt lykilorð",
- "The username is already being used" : "Notandanafnið er þegar í notkun",
- "Could not create user" : "Gat ekki búið til notanda",
"User disabled" : "Notandi óvirkur",
"Login canceled by app" : "Forrit hætti við innskráningu",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Ekki var hægt að setja upp \"%1$s\" forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar: %2$s",
@@ -206,6 +204,8 @@ OC.L10N.register(
"%s enter the database username." : "%s settu inn notandanafn í gagnagrunni.",
"%s enter the database name." : "%s settu inn nafn á gagnagrunni.",
"%s you may not use dots in the database name" : "%s þú mátt ekki nota punkta í nafni á gagnagrunni",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Það lítur út eins og þessi %s uppsetning sé að keyra á 32-bita PHP umhverfi og að open_basedir hafi verið stillt í php.ini. Þetta mun valda vandamálum með skrár stærri en 4 GB og er stranglega mælt gegn því að þetta sé gert.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjarlægðu stillinguna open_basedir úr php.ini eða skiptu yfir í 64-bita PHP.",
"Cannot write into \"config\" directory" : "Get ekki skrifað í \"config\" möppuna",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Þetta er venjulega hægt að laga með því að gefa vefþjóninum skrifréttindi í stillingamöppuna. Sjá %s",
"Cannot write into \"apps\" directory" : "Get ekki skrifað í \"apps\" möppuna",
diff --git a/lib/l10n/is.json b/lib/l10n/is.json
index 468634b55e3..7176f24b09c 100644
--- a/lib/l10n/is.json
+++ b/lib/l10n/is.json
@@ -93,8 +93,6 @@
"PostgreSQL username and/or password not valid" : "Notandanafn eða lykilorð PostgreSQL er ekki gilt",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X er ekki stutt og %s mun ekki vinna eðlilega á þessu stýrikerfi. Notaðu þetta því á þína eigin ábyrgð! ",
"For the best results, please consider using a GNU/Linux server instead." : "Fyrir bestu útkomu ættirðu að íhuga að nota GNU/Linux þjón í staðinn.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Það lítur út eins og þessi %s uppsetning sé að keyra á 32-bita PHP umhverfi og að open_basedir hafi verið stillt í php.ini. Þetta mun valda vandamálum með skrár stærri en 4 GB og er stranglega mælt gegn því að þetta sé gert.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjarlægðu stillinguna open_basedir úr php.ini eða skiptu yfir í 64-bita PHP.",
"Set an admin username." : "Stilltu notandanafn kerfisstjóra.",
"Set an admin password." : "Stilltu lykilorð kerfisstjóra.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Deilingarbakendinn %s verður að vera settur upp fyrir viðmótið OCP\\Share_Backend",
@@ -159,14 +157,14 @@
"Oct." : "Okt.",
"Nov." : "Nóv.",
"Dec." : "Des.",
+ "A valid password must be provided" : "Skráðu inn gilt lykilorð",
+ "The username is already being used" : "Notandanafnið er þegar í notkun",
+ "Could not create user" : "Gat ekki búið til notanda",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Einungis eru leyfilegir eftirfarandi stafir í notandanafni: \"a-z\", \"A-Z\", \"0-9\", og \"_.@-'\"",
"A valid username must be provided" : "Skráðu inn gilt notandanafn",
"Username contains whitespace at the beginning or at the end" : "Notandanafnið inniheldur orðabil í upphafi eða enda",
"Username must not consist of dots only" : "Notandanafn má ekki einungis samanstanda af punktum",
"Username is invalid because files already exist for this user" : "Notandanafnið er ógilt vegna þess að þegar eru fyrir hendi skrár sem tilheyra þessum notanda",
- "A valid password must be provided" : "Skráðu inn gilt lykilorð",
- "The username is already being used" : "Notandanafnið er þegar í notkun",
- "Could not create user" : "Gat ekki búið til notanda",
"User disabled" : "Notandi óvirkur",
"Login canceled by app" : "Forrit hætti við innskráningu",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Ekki var hægt að setja upp \"%1$s\" forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar: %2$s",
@@ -204,6 +202,8 @@
"%s enter the database username." : "%s settu inn notandanafn í gagnagrunni.",
"%s enter the database name." : "%s settu inn nafn á gagnagrunni.",
"%s you may not use dots in the database name" : "%s þú mátt ekki nota punkta í nafni á gagnagrunni",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Það lítur út eins og þessi %s uppsetning sé að keyra á 32-bita PHP umhverfi og að open_basedir hafi verið stillt í php.ini. Þetta mun valda vandamálum með skrár stærri en 4 GB og er stranglega mælt gegn því að þetta sé gert.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjarlægðu stillinguna open_basedir úr php.ini eða skiptu yfir í 64-bita PHP.",
"Cannot write into \"config\" directory" : "Get ekki skrifað í \"config\" möppuna",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Þetta er venjulega hægt að laga með því að gefa vefþjóninum skrifréttindi í stillingamöppuna. Sjá %s",
"Cannot write into \"apps\" directory" : "Get ekki skrifað í \"apps\" möppuna",
diff --git a/lib/l10n/it.js b/lib/l10n/it.js
index c0d611d9064..909dc6f7661 100644
--- a/lib/l10n/it.js
+++ b/lib/l10n/it.js
@@ -119,8 +119,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Nome utente e/o password di PostgreSQL non validi",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X non è supportato e %s non funzionerà correttamente su questa piattaforma. Usalo a tuo rischio!",
"For the best results, please consider using a GNU/Linux server instead." : "Per avere il risultato migliore, prendi in considerazione l'utilizzo di un server GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Sembra che questa istanza di %s sia in esecuzione in un ambiente PHP a 32 bit e che open_basedir sia stata configurata in php.ini. Ciò comporterà problemi con i file più grandi di 4 GB ed è altamente sconsigliato.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Rimuovi l'impostazione di open_basedir nel tuo php.ini o passa alla versione a 64 bit di PHP.",
"Set an admin username." : "Imposta un nome utente di amministrazione.",
"Set an admin password." : "Imposta una password di amministrazione.",
"Cannot create or write into the data directory %s" : "Impossibile creare o scrivere nella cartella dei dati %s",
@@ -190,15 +188,14 @@ OC.L10N.register(
"Oct." : "Ott.",
"Nov." : "Nov.",
"Dec." : "Dic.",
- "The user limit has been reached and the user was not created." : "È stato raggiunto il limite di utenti e l'utente non è stato creato.",
+ "A valid password must be provided" : "Deve essere fornita una password valida",
+ "The username is already being used" : "Il nome utente è già utilizzato",
+ "Could not create user" : "Impossibile creare l'utente",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Solo i seguenti caratteri sono consentiti in un nome utente: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"",
"A valid username must be provided" : "Deve essere fornito un nome utente valido",
"Username contains whitespace at the beginning or at the end" : "Il nome utente contiene spazi all'inizio o alla fine",
"Username must not consist of dots only" : "Il nome utente non può consistere di soli punti",
"Username is invalid because files already exist for this user" : "Il nome utente non è valido poiché esiste già per questo utente",
- "A valid password must be provided" : "Deve essere fornita una password valida",
- "The username is already being used" : "Il nome utente è già utilizzato",
- "Could not create user" : "Impossibile creare l'utente",
"User disabled" : "Utente disabilitato",
"Login canceled by app" : "Accesso annullato dall'applicazione",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'applicazione \"%1$s\" non può essere installata poiché le seguenti dipendenze non sono soddisfatte: %2$s",
@@ -255,6 +252,9 @@ OC.L10N.register(
"%s enter the database username." : "%s digita il nome utente del database.",
"%s enter the database name." : "%s digita il nome del database.",
"%s you may not use dots in the database name" : "%s non dovresti utilizzare punti nel nome del database",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Sembra che questa istanza di %s sia in esecuzione in un ambiente PHP a 32 bit e che open_basedir sia stata configurata in php.ini. Ciò comporterà problemi con i file più grandi di 4 GB ed è altamente sconsigliato.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Rimuovi l'impostazione di open_basedir nel tuo php.ini o passa alla versione a 64 bit di PHP.",
+ "The user limit has been reached and the user was not created." : "È stato raggiunto il limite di utenti e l'utente non è stato creato.",
"Cannot read file" : "Impossibile leggere il file",
"Cannot write into \"config\" directory" : "Impossibile scrivere nella cartella \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ciò può essere normalmente corretto fornendo al server web accesso in scrittura alla cartella di configurazione. Vedi %s",
diff --git a/lib/l10n/it.json b/lib/l10n/it.json
index dbe677c5373..04907cc3548 100644
--- a/lib/l10n/it.json
+++ b/lib/l10n/it.json
@@ -117,8 +117,6 @@
"PostgreSQL username and/or password not valid" : "Nome utente e/o password di PostgreSQL non validi",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X non è supportato e %s non funzionerà correttamente su questa piattaforma. Usalo a tuo rischio!",
"For the best results, please consider using a GNU/Linux server instead." : "Per avere il risultato migliore, prendi in considerazione l'utilizzo di un server GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Sembra che questa istanza di %s sia in esecuzione in un ambiente PHP a 32 bit e che open_basedir sia stata configurata in php.ini. Ciò comporterà problemi con i file più grandi di 4 GB ed è altamente sconsigliato.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Rimuovi l'impostazione di open_basedir nel tuo php.ini o passa alla versione a 64 bit di PHP.",
"Set an admin username." : "Imposta un nome utente di amministrazione.",
"Set an admin password." : "Imposta una password di amministrazione.",
"Cannot create or write into the data directory %s" : "Impossibile creare o scrivere nella cartella dei dati %s",
@@ -188,15 +186,14 @@
"Oct." : "Ott.",
"Nov." : "Nov.",
"Dec." : "Dic.",
- "The user limit has been reached and the user was not created." : "È stato raggiunto il limite di utenti e l'utente non è stato creato.",
+ "A valid password must be provided" : "Deve essere fornita una password valida",
+ "The username is already being used" : "Il nome utente è già utilizzato",
+ "Could not create user" : "Impossibile creare l'utente",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Solo i seguenti caratteri sono consentiti in un nome utente: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"",
"A valid username must be provided" : "Deve essere fornito un nome utente valido",
"Username contains whitespace at the beginning or at the end" : "Il nome utente contiene spazi all'inizio o alla fine",
"Username must not consist of dots only" : "Il nome utente non può consistere di soli punti",
"Username is invalid because files already exist for this user" : "Il nome utente non è valido poiché esiste già per questo utente",
- "A valid password must be provided" : "Deve essere fornita una password valida",
- "The username is already being used" : "Il nome utente è già utilizzato",
- "Could not create user" : "Impossibile creare l'utente",
"User disabled" : "Utente disabilitato",
"Login canceled by app" : "Accesso annullato dall'applicazione",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'applicazione \"%1$s\" non può essere installata poiché le seguenti dipendenze non sono soddisfatte: %2$s",
@@ -253,6 +250,9 @@
"%s enter the database username." : "%s digita il nome utente del database.",
"%s enter the database name." : "%s digita il nome del database.",
"%s you may not use dots in the database name" : "%s non dovresti utilizzare punti nel nome del database",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Sembra che questa istanza di %s sia in esecuzione in un ambiente PHP a 32 bit e che open_basedir sia stata configurata in php.ini. Ciò comporterà problemi con i file più grandi di 4 GB ed è altamente sconsigliato.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Rimuovi l'impostazione di open_basedir nel tuo php.ini o passa alla versione a 64 bit di PHP.",
+ "The user limit has been reached and the user was not created." : "È stato raggiunto il limite di utenti e l'utente non è stato creato.",
"Cannot read file" : "Impossibile leggere il file",
"Cannot write into \"config\" directory" : "Impossibile scrivere nella cartella \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ciò può essere normalmente corretto fornendo al server web accesso in scrittura alla cartella di configurazione. Vedi %s",
diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js
index f0cebd86722..a2c375145a2 100644
--- a/lib/l10n/ja.js
+++ b/lib/l10n/ja.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "アプリ %1$s のファイルが正しく置き換えられませんでした。サーバーと互換性のあるバージョンであることを確認してください。",
"Sample configuration detected" : "サンプル設定が見つかりました。",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "サンプル設定がコピーされてそのままです。このままではインストールが失敗し、サポート対象外になります。config.phpを変更する前にドキュメントを確認してください。",
+ "404" : "404",
+ "The page could not be found on the server." : "ページがサーバー上に見つかりませんでした。",
"%s email verification" : "%sメールによる確認",
"Email verification" : "メールによる確認",
"Click the following button to confirm your email." : "下記のボタンをクリックして、メールを確認してください。",
@@ -90,7 +92,10 @@ OC.L10N.register(
"__language_name__" : "Japanese (日本語)",
"This is an automatically sent email, please do not reply." : "これは自動的に生成されたメールです。返信しないでください。",
"Help" : "ヘルプ",
+ "Appearance and accessibility" : "外観とアクセシビリティ",
"Apps" : "アプリ",
+ "Personal settings" : "個人設定",
+ "Administration settings" : "管理者設定",
"Settings" : "設定",
"Log out" : "ログアウト",
"Users" : "ユーザー",
@@ -111,6 +116,10 @@ OC.L10N.register(
"Role" : "ロール",
"Unknown user" : "不明なユーザー",
"Additional settings" : "追加設定",
+ "Enter the database username and name for %s" : "%sのデータベース名とユーザー名を入力してください",
+ "Enter the database username for %s" : "%sのデータベースのユーザー名を指定してください",
+ "Enter the database name for %s" : "%sのデータベース名を指定してください",
+ "You cannot use dots in the database name %s" : "データベース名%sにドットを入れることはできません",
"MySQL username and/or password not valid" : "MySQLのユーザー名またはパスワードが有効ではありません",
"You need to enter details of an existing account." : "既存のアカウントの詳細を入力してください。",
"Oracle connection could not be established" : "Oracleへの接続が確立できませんでした。",
@@ -118,8 +127,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQLのユーザー名またはパスワードが有効ではありません",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X では、サポートされていません。このOSでは、%sは正常に動作しないかもしれません。ご自身の責任においてご利用ください。",
"For the best results, please consider using a GNU/Linux server instead." : "最も良い方法としては、代わりにGNU/Linuxサーバーを利用することをご検討ください。",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "このインスタンス %s は、32bit PHP 環境で動作しており、php.ini に open_basedir が設定されているようです。4GB以上のファイルで問題が発生するため、この設定を利用しないことをお勧めします。",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "php.ini から open_basedir 設定を削除するか、64bit PHPに切り替えてください。",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "この%s実環境は 32ビットPHP環境で実行されているようです。 26以上では64ビットPHPが必要です。",
+ "Please switch to 64-bit PHP." : "64ビットPHPに切り替えてください。",
"Set an admin username." : "管理者のユーザー名を設定",
"Set an admin password." : "管理者のパスワードを設定",
"Cannot create or write into the data directory %s" : " データディレクトリ%sに作成、書き込みができません",
@@ -143,6 +152,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$sが あなたと »%2$s« を共有しました。",
"Click the button below to open it." : "開くには下のボタンをクリック",
"The requested share does not exist anymore" : "この共有はもう存在しません。",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "登録可能なユーザー数の上限に達したため、ユーザーは作成されませんでした。詳細については通知をご確認ください。",
"Could not find category \"%s\"" : "カテゴリ \"%s\" が見つかりませんでした",
"Sunday" : "日曜日",
"Monday" : "月曜日",
@@ -189,15 +199,14 @@ OC.L10N.register(
"Oct." : "10月",
"Nov." : "11月",
"Dec." : "12月",
- "The user limit has been reached and the user was not created." : "ユーザー数の上限に達したためユーザーを作成出来ませんでした。",
+ "A valid password must be provided" : "有効なパスワードを指定する必要があります",
+ "The username is already being used" : "このユーザー名はすでに使われています",
+ "Could not create user" : "ユーザーを作成できませんでした",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ユーザー名で利用できる文字列: \"a-z\", \"A-Z\", \"0-9\", \"_.@-\"",
"A valid username must be provided" : "有効なユーザー名を指定する必要があります",
"Username contains whitespace at the beginning or at the end" : "ユーザー名の最初か最後に空白が含まれています",
"Username must not consist of dots only" : "ユーザー名に、ドットのみはつけられません",
"Username is invalid because files already exist for this user" : "このユーザーのファイルが既に存在するため、このユーザー名は使用できません",
- "A valid password must be provided" : "有効なパスワードを指定する必要があります",
- "The username is already being used" : "このユーザー名はすでに使われています",
- "Could not create user" : "ユーザーを作成できませんでした",
"User disabled" : "ユーザーは無効です",
"Login canceled by app" : "アプリによりログインが中止されました",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "次の依存関係を満たしていないため、アプリ \"%1$s\" をインストールできません: %2$s",
@@ -257,6 +266,9 @@ OC.L10N.register(
"%s enter the database username." : "%s のデータベースのユーザー名を入力してください。",
"%s enter the database name." : "%s のデータベース名を入力してください。",
"%s you may not use dots in the database name" : "%s ではデータベース名にドットを利用できないかもしれません。",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "このインスタンス %s は、32bit PHP 環境で動作しており、php.ini に open_basedir が設定されているようです。4GB以上のファイルで問題が発生するため、この設定を利用しないことをお勧めします。",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "php.ini から open_basedir 設定を削除するか、64bit PHPに切り替えてください。",
+ "The user limit has been reached and the user was not created." : "ユーザー数の上限に達したためユーザーを作成出来ませんでした。",
"Cannot read file" : "ファイルを読み込めません",
"Cannot write into \"config\" directory" : "\"config\" ディレクトリに書き込みができません",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "多くの場合、Webサーバーの configディレクトリ に書き込み権限を与えることで直ります。%s を見てください",
@@ -274,6 +286,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "データディレクトリは、他のユーザーから読み取り専用です",
"Your data directory must be an absolute path" : "データディレクトリは、絶対パスにする必要があります",
"Check the value of \"datadirectory\" in your configuration" : "設定ファイル内の \"datadirectory\" の値を確認してください。",
- "Your data directory is invalid" : "データディレクトリが無効です"
+ "Your data directory is invalid" : "データディレクトリが無効です",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "ユーザー制限に達したため、ユーザーは作成されませんでした。詳細については、通知を確認してください。"
},
"nplurals=1; plural=0;");
diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json
index 3b6cb59af82..4fbf3007d54 100644
--- a/lib/l10n/ja.json
+++ b/lib/l10n/ja.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "アプリ %1$s のファイルが正しく置き換えられませんでした。サーバーと互換性のあるバージョンであることを確認してください。",
"Sample configuration detected" : "サンプル設定が見つかりました。",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "サンプル設定がコピーされてそのままです。このままではインストールが失敗し、サポート対象外になります。config.phpを変更する前にドキュメントを確認してください。",
+ "404" : "404",
+ "The page could not be found on the server." : "ページがサーバー上に見つかりませんでした。",
"%s email verification" : "%sメールによる確認",
"Email verification" : "メールによる確認",
"Click the following button to confirm your email." : "下記のボタンをクリックして、メールを確認してください。",
@@ -88,7 +90,10 @@
"__language_name__" : "Japanese (日本語)",
"This is an automatically sent email, please do not reply." : "これは自動的に生成されたメールです。返信しないでください。",
"Help" : "ヘルプ",
+ "Appearance and accessibility" : "外観とアクセシビリティ",
"Apps" : "アプリ",
+ "Personal settings" : "個人設定",
+ "Administration settings" : "管理者設定",
"Settings" : "設定",
"Log out" : "ログアウト",
"Users" : "ユーザー",
@@ -109,6 +114,10 @@
"Role" : "ロール",
"Unknown user" : "不明なユーザー",
"Additional settings" : "追加設定",
+ "Enter the database username and name for %s" : "%sのデータベース名とユーザー名を入力してください",
+ "Enter the database username for %s" : "%sのデータベースのユーザー名を指定してください",
+ "Enter the database name for %s" : "%sのデータベース名を指定してください",
+ "You cannot use dots in the database name %s" : "データベース名%sにドットを入れることはできません",
"MySQL username and/or password not valid" : "MySQLのユーザー名またはパスワードが有効ではありません",
"You need to enter details of an existing account." : "既存のアカウントの詳細を入力してください。",
"Oracle connection could not be established" : "Oracleへの接続が確立できませんでした。",
@@ -116,8 +125,8 @@
"PostgreSQL username and/or password not valid" : "PostgreSQLのユーザー名またはパスワードが有効ではありません",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X では、サポートされていません。このOSでは、%sは正常に動作しないかもしれません。ご自身の責任においてご利用ください。",
"For the best results, please consider using a GNU/Linux server instead." : "最も良い方法としては、代わりにGNU/Linuxサーバーを利用することをご検討ください。",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "このインスタンス %s は、32bit PHP 環境で動作しており、php.ini に open_basedir が設定されているようです。4GB以上のファイルで問題が発生するため、この設定を利用しないことをお勧めします。",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "php.ini から open_basedir 設定を削除するか、64bit PHPに切り替えてください。",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "この%s実環境は 32ビットPHP環境で実行されているようです。 26以上では64ビットPHPが必要です。",
+ "Please switch to 64-bit PHP." : "64ビットPHPに切り替えてください。",
"Set an admin username." : "管理者のユーザー名を設定",
"Set an admin password." : "管理者のパスワードを設定",
"Cannot create or write into the data directory %s" : " データディレクトリ%sに作成、書き込みができません",
@@ -141,6 +150,7 @@
"%1$s shared »%2$s« with you." : "%1$sが あなたと »%2$s« を共有しました。",
"Click the button below to open it." : "開くには下のボタンをクリック",
"The requested share does not exist anymore" : "この共有はもう存在しません。",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "登録可能なユーザー数の上限に達したため、ユーザーは作成されませんでした。詳細については通知をご確認ください。",
"Could not find category \"%s\"" : "カテゴリ \"%s\" が見つかりませんでした",
"Sunday" : "日曜日",
"Monday" : "月曜日",
@@ -187,15 +197,14 @@
"Oct." : "10月",
"Nov." : "11月",
"Dec." : "12月",
- "The user limit has been reached and the user was not created." : "ユーザー数の上限に達したためユーザーを作成出来ませんでした。",
+ "A valid password must be provided" : "有効なパスワードを指定する必要があります",
+ "The username is already being used" : "このユーザー名はすでに使われています",
+ "Could not create user" : "ユーザーを作成できませんでした",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ユーザー名で利用できる文字列: \"a-z\", \"A-Z\", \"0-9\", \"_.@-\"",
"A valid username must be provided" : "有効なユーザー名を指定する必要があります",
"Username contains whitespace at the beginning or at the end" : "ユーザー名の最初か最後に空白が含まれています",
"Username must not consist of dots only" : "ユーザー名に、ドットのみはつけられません",
"Username is invalid because files already exist for this user" : "このユーザーのファイルが既に存在するため、このユーザー名は使用できません",
- "A valid password must be provided" : "有効なパスワードを指定する必要があります",
- "The username is already being used" : "このユーザー名はすでに使われています",
- "Could not create user" : "ユーザーを作成できませんでした",
"User disabled" : "ユーザーは無効です",
"Login canceled by app" : "アプリによりログインが中止されました",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "次の依存関係を満たしていないため、アプリ \"%1$s\" をインストールできません: %2$s",
@@ -255,6 +264,9 @@
"%s enter the database username." : "%s のデータベースのユーザー名を入力してください。",
"%s enter the database name." : "%s のデータベース名を入力してください。",
"%s you may not use dots in the database name" : "%s ではデータベース名にドットを利用できないかもしれません。",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "このインスタンス %s は、32bit PHP 環境で動作しており、php.ini に open_basedir が設定されているようです。4GB以上のファイルで問題が発生するため、この設定を利用しないことをお勧めします。",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "php.ini から open_basedir 設定を削除するか、64bit PHPに切り替えてください。",
+ "The user limit has been reached and the user was not created." : "ユーザー数の上限に達したためユーザーを作成出来ませんでした。",
"Cannot read file" : "ファイルを読み込めません",
"Cannot write into \"config\" directory" : "\"config\" ディレクトリに書き込みができません",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "多くの場合、Webサーバーの configディレクトリ に書き込み権限を与えることで直ります。%s を見てください",
@@ -272,6 +284,7 @@
"Your data directory is readable by other users" : "データディレクトリは、他のユーザーから読み取り専用です",
"Your data directory must be an absolute path" : "データディレクトリは、絶対パスにする必要があります",
"Check the value of \"datadirectory\" in your configuration" : "設定ファイル内の \"datadirectory\" の値を確認してください。",
- "Your data directory is invalid" : "データディレクトリが無効です"
+ "Your data directory is invalid" : "データディレクトリが無効です",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "ユーザー制限に達したため、ユーザーは作成されませんでした。詳細については、通知を確認してください。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/lib/l10n/ka_GE.js b/lib/l10n/ka_GE.js
index 4308ab73f91..39d52830023 100644
--- a/lib/l10n/ka_GE.js
+++ b/lib/l10n/ka_GE.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL მომხმარებლის სახელი და/ან პაროლი არ არის სწორი",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X არაა მხარდაჭერილი და %s ამ პლატფორმაზე სწორად არ იმუშავებს. გამოიყენეთ საკუთარი რისკით!",
"For the best results, please consider using a GNU/Linux server instead." : "საუკეთესო შედეგებისთვის სანაცვლოდ გამოიყენეთ GNU/Linux სერვერი.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "როგორც ჩანს ეს %s ინსტანცია მოქმედებს 32-ბიტიან PHP გარემოზე და open_basedir php.ini-ში კონფიგურირებულია. ეს 4 გბ-ზე დიდ ფაილებთან გამოიწვევს პრობლემს და რეკომედირებული არაა.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "გთხოვთ ამოშალოთ open_basedir პარამეტრი php.ini-დან ან გადახვიდეთ 64-ბიტიან PHP-ზე.",
"Set an admin username." : "დააყენეთ ადმინისტრატორის სახელი.",
"Set an admin password." : "დააყენეთ ადმინისტრატორის პაროლი.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "გაზიარების ბექენდმა %s-მ მოქმედებაში უნდა მოიყვანოს ინტეფეისი OCP\\Share_Backend",
@@ -136,13 +134,13 @@ OC.L10N.register(
"Oct." : "ოქტ.",
"Nov." : "ნოე.",
"Dec." : "დეკ.",
+ "A valid password must be provided" : "უნდა მიუთითოთ სწორი პაროლი",
+ "The username is already being used" : "ესეთი მომხმარებლის სახელი უკვე არსებობს",
+ "Could not create user" : "მომხმარებლის შექმნა ვერ მოხერხდა",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "მომხმარებლის სახელში დაშვებულია მხოლოდ შემდეგი ნიშნები: \"a-z\", \"A-Z\", \"0-9\", და \"_.@-'\"",
"A valid username must be provided" : "უნდა მიუთითოთ არსებული მომხმარებლის სახელი",
"Username contains whitespace at the beginning or at the end" : "მომხმარებლის სახელი დასაწყისსში ან დასასრულში მოიცავს სიცარიელეს",
"Username must not consist of dots only" : "მომხმარებლის სახელი ვერ იქნება შემდგარი მხოლოდ წერტილებისგან",
- "A valid password must be provided" : "უნდა მიუთითოთ სწორი პაროლი",
- "The username is already being used" : "ესეთი მომხმარებლის სახელი უკვე არსებობს",
- "Could not create user" : "მომხმარებლის შექმნა ვერ მოხერხდა",
"User disabled" : "მომხმარებელი გათიშულია",
"Login canceled by app" : "აპლიკაციამ ლოგინი უარყო",
"a safe home for all your data" : "უსაფრთხო სახლი მთელი თქვენი მონაცემებისათვის",
@@ -173,6 +171,8 @@ OC.L10N.register(
"%s enter the database username." : "%s შეიყვანეთ ბაზის მომხმარებლის სახელი.",
"%s enter the database name." : "%s შეიყვანეთ ბაზის სახელი.",
"%s you may not use dots in the database name" : "%s არ მიუთითოთ წერტილი ბაზის სახელში",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "როგორც ჩანს ეს %s ინსტანცია მოქმედებს 32-ბიტიან PHP გარემოზე და open_basedir php.ini-ში კონფიგურირებულია. ეს 4 გბ-ზე დიდ ფაილებთან გამოიწვევს პრობლემს და რეკომედირებული არაა.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "გთხოვთ ამოშალოთ open_basedir პარამეტრი php.ini-დან ან გადახვიდეთ 64-ბიტიან PHP-ზე.",
"Cannot write into \"config\" directory" : "კონფიგურაციის \"config\" დირექტორიაში ჩაწერა ვერ მოხერხდა",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "ეს ჩვეულებრივ გამოსწორებადია ვებსერვერისთვის კონფიგურაციის დირექტორიაზე წერის უფლებების მინიჭებით. იხილეთ %s",
"Cannot write into \"apps\" directory" : "აპლიკაციების \"apps\" დირექტორიაში ჩაწერა ვერ მოხერხდა",
diff --git a/lib/l10n/ka_GE.json b/lib/l10n/ka_GE.json
index 9bf65e566c4..f760f1d7625 100644
--- a/lib/l10n/ka_GE.json
+++ b/lib/l10n/ka_GE.json
@@ -74,8 +74,6 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL მომხმარებლის სახელი და/ან პაროლი არ არის სწორი",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X არაა მხარდაჭერილი და %s ამ პლატფორმაზე სწორად არ იმუშავებს. გამოიყენეთ საკუთარი რისკით!",
"For the best results, please consider using a GNU/Linux server instead." : "საუკეთესო შედეგებისთვის სანაცვლოდ გამოიყენეთ GNU/Linux სერვერი.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "როგორც ჩანს ეს %s ინსტანცია მოქმედებს 32-ბიტიან PHP გარემოზე და open_basedir php.ini-ში კონფიგურირებულია. ეს 4 გბ-ზე დიდ ფაილებთან გამოიწვევს პრობლემს და რეკომედირებული არაა.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "გთხოვთ ამოშალოთ open_basedir პარამეტრი php.ini-დან ან გადახვიდეთ 64-ბიტიან PHP-ზე.",
"Set an admin username." : "დააყენეთ ადმინისტრატორის სახელი.",
"Set an admin password." : "დააყენეთ ადმინისტრატორის პაროლი.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "გაზიარების ბექენდმა %s-მ მოქმედებაში უნდა მოიყვანოს ინტეფეისი OCP\\Share_Backend",
@@ -134,13 +132,13 @@
"Oct." : "ოქტ.",
"Nov." : "ნოე.",
"Dec." : "დეკ.",
+ "A valid password must be provided" : "უნდა მიუთითოთ სწორი პაროლი",
+ "The username is already being used" : "ესეთი მომხმარებლის სახელი უკვე არსებობს",
+ "Could not create user" : "მომხმარებლის შექმნა ვერ მოხერხდა",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "მომხმარებლის სახელში დაშვებულია მხოლოდ შემდეგი ნიშნები: \"a-z\", \"A-Z\", \"0-9\", და \"_.@-'\"",
"A valid username must be provided" : "უნდა მიუთითოთ არსებული მომხმარებლის სახელი",
"Username contains whitespace at the beginning or at the end" : "მომხმარებლის სახელი დასაწყისსში ან დასასრულში მოიცავს სიცარიელეს",
"Username must not consist of dots only" : "მომხმარებლის სახელი ვერ იქნება შემდგარი მხოლოდ წერტილებისგან",
- "A valid password must be provided" : "უნდა მიუთითოთ სწორი პაროლი",
- "The username is already being used" : "ესეთი მომხმარებლის სახელი უკვე არსებობს",
- "Could not create user" : "მომხმარებლის შექმნა ვერ მოხერხდა",
"User disabled" : "მომხმარებელი გათიშულია",
"Login canceled by app" : "აპლიკაციამ ლოგინი უარყო",
"a safe home for all your data" : "უსაფრთხო სახლი მთელი თქვენი მონაცემებისათვის",
@@ -171,6 +169,8 @@
"%s enter the database username." : "%s შეიყვანეთ ბაზის მომხმარებლის სახელი.",
"%s enter the database name." : "%s შეიყვანეთ ბაზის სახელი.",
"%s you may not use dots in the database name" : "%s არ მიუთითოთ წერტილი ბაზის სახელში",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "როგორც ჩანს ეს %s ინსტანცია მოქმედებს 32-ბიტიან PHP გარემოზე და open_basedir php.ini-ში კონფიგურირებულია. ეს 4 გბ-ზე დიდ ფაილებთან გამოიწვევს პრობლემს და რეკომედირებული არაა.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "გთხოვთ ამოშალოთ open_basedir პარამეტრი php.ini-დან ან გადახვიდეთ 64-ბიტიან PHP-ზე.",
"Cannot write into \"config\" directory" : "კონფიგურაციის \"config\" დირექტორიაში ჩაწერა ვერ მოხერხდა",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "ეს ჩვეულებრივ გამოსწორებადია ვებსერვერისთვის კონფიგურაციის დირექტორიაზე წერის უფლებების მინიჭებით. იხილეთ %s",
"Cannot write into \"apps\" directory" : "აპლიკაციების \"apps\" დირექტორიაში ჩაწერა ვერ მოხერხდა",
diff --git a/lib/l10n/kab.js b/lib/l10n/kab.js
index 17f3be8b4dc..28a886e8d0f 100644
--- a/lib/l10n/kab.js
+++ b/lib/l10n/kab.js
@@ -2,8 +2,10 @@ OC.L10N.register(
"lib",
{
"Help" : "Tallalt",
+ "Apps" : "Isnasen",
"Settings" : "Iɣewwaṛen",
"Log out" : "Senser",
+ "Users" : "Iseqdacen",
"Email" : "Imayl",
"Twitter" : "Twitter",
"Website" : "Asmel web",
diff --git a/lib/l10n/kab.json b/lib/l10n/kab.json
index 86fdf06d019..90b6cd7a45c 100644
--- a/lib/l10n/kab.json
+++ b/lib/l10n/kab.json
@@ -1,7 +1,9 @@
{ "translations": {
"Help" : "Tallalt",
+ "Apps" : "Isnasen",
"Settings" : "Iɣewwaṛen",
"Log out" : "Senser",
+ "Users" : "Iseqdacen",
"Email" : "Imayl",
"Twitter" : "Twitter",
"Website" : "Asmel web",
diff --git a/lib/l10n/km.js b/lib/l10n/km.js
index 5b325acc2d6..64153a7f458 100644
--- a/lib/l10n/km.js
+++ b/lib/l10n/km.js
@@ -65,8 +65,8 @@ OC.L10N.register(
"Oct." : "តុលា",
"Nov." : "វិច្ឆិកា",
"Dec." : "ធ្នូ",
- "A valid username must be provided" : "ត្រូវ​ផ្ដល់​ឈ្មោះ​អ្នក​ប្រើ​ឲ្យ​បាន​ត្រឹម​ត្រូវ",
"A valid password must be provided" : "ត្រូវ​ផ្ដល់​ពាក្យ​សម្ងាត់​ឲ្យ​បាន​ត្រឹម​ត្រូវ",
+ "A valid username must be provided" : "ត្រូវ​ផ្ដល់​ឈ្មោះ​អ្នក​ប្រើ​ឲ្យ​បាន​ត្រឹម​ត្រូវ",
"Application is not enabled" : "មិន​បាន​បើក​កម្មវិធី",
"Authentication error" : "កំហុស​ការ​ផ្ទៀង​ផ្ទាត់​ភាព​ត្រឹម​ត្រូវ",
"%s enter the database username." : "%s វាយ​បញ្ចូល​ឈ្មោះ​អ្នក​ប្រើ​មូលដ្ឋាន​ទិន្នន័យ។",
diff --git a/lib/l10n/km.json b/lib/l10n/km.json
index bb4d3a72fa9..0d29545f259 100644
--- a/lib/l10n/km.json
+++ b/lib/l10n/km.json
@@ -63,8 +63,8 @@
"Oct." : "តុលា",
"Nov." : "វិច្ឆិកា",
"Dec." : "ធ្នូ",
- "A valid username must be provided" : "ត្រូវ​ផ្ដល់​ឈ្មោះ​អ្នក​ប្រើ​ឲ្យ​បាន​ត្រឹម​ត្រូវ",
"A valid password must be provided" : "ត្រូវ​ផ្ដល់​ពាក្យ​សម្ងាត់​ឲ្យ​បាន​ត្រឹម​ត្រូវ",
+ "A valid username must be provided" : "ត្រូវ​ផ្ដល់​ឈ្មោះ​អ្នក​ប្រើ​ឲ្យ​បាន​ត្រឹម​ត្រូវ",
"Application is not enabled" : "មិន​បាន​បើក​កម្មវិធី",
"Authentication error" : "កំហុស​ការ​ផ្ទៀង​ផ្ទាត់​ភាព​ត្រឹម​ត្រូវ",
"%s enter the database username." : "%s វាយ​បញ្ចូល​ឈ្មោះ​អ្នក​ប្រើ​មូលដ្ឋាន​ទិន្នន័យ។",
diff --git a/lib/l10n/kn.js b/lib/l10n/kn.js
index d55bdb95127..e542c240a6a 100644
--- a/lib/l10n/kn.js
+++ b/lib/l10n/kn.js
@@ -30,8 +30,8 @@ OC.L10N.register(
"October" : "ಅಕ್ಟೋಬರ್",
"November" : "ನವೆಂಬರ್",
"December" : "ಡಿಸೆಂಬರ್",
- "A valid username must be provided" : "ಮಾನ್ಯ ಬಳಕೆದಾರ ಹೆಸರು ಒದಗಿಸಬೇಕಾಗುತ್ತದೆ",
"A valid password must be provided" : "ಸರಿಯಾದ ಬಳಕೆದಾರ ಗುಪ್ತಪದ ಒದಗಿಸಬೇಕಾಗಿದೆ",
+ "A valid username must be provided" : "ಮಾನ್ಯ ಬಳಕೆದಾರ ಹೆಸರು ಒದಗಿಸಬೇಕಾಗುತ್ತದೆ",
"Authentication error" : "ದೃಢೀಕರಣ ದೋಷ"
},
"nplurals=2; plural=(n > 1);");
diff --git a/lib/l10n/kn.json b/lib/l10n/kn.json
index 81cc787151d..6251c7436ff 100644
--- a/lib/l10n/kn.json
+++ b/lib/l10n/kn.json
@@ -28,8 +28,8 @@
"October" : "ಅಕ್ಟೋಬರ್",
"November" : "ನವೆಂಬರ್",
"December" : "ಡಿಸೆಂಬರ್",
- "A valid username must be provided" : "ಮಾನ್ಯ ಬಳಕೆದಾರ ಹೆಸರು ಒದಗಿಸಬೇಕಾಗುತ್ತದೆ",
"A valid password must be provided" : "ಸರಿಯಾದ ಬಳಕೆದಾರ ಗುಪ್ತಪದ ಒದಗಿಸಬೇಕಾಗಿದೆ",
+ "A valid username must be provided" : "ಮಾನ್ಯ ಬಳಕೆದಾರ ಹೆಸರು ಒದಗಿಸಬೇಕಾಗುತ್ತದೆ",
"Authentication error" : "ದೃಢೀಕರಣ ದೋಷ"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js
index e5a718daff4..b0c903ab547 100644
--- a/lib/l10n/ko.js
+++ b/lib/l10n/ko.js
@@ -66,7 +66,10 @@ OC.L10N.register(
"__language_name__" : "한국어",
"This is an automatically sent email, please do not reply." : "자동으로 전송한 이메일입니다. 답장하지 마십시오.",
"Help" : "도움말",
+ "Appearance and accessibility" : "외형과 접근성",
"Apps" : "앱",
+ "Personal settings" : "개인 설정",
+ "Administration settings" : "관리자 설정",
"Settings" : "설정",
"Log out" : "로그아웃",
"Users" : "사용자",
@@ -89,13 +92,14 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL 사용자 이름 또는 암호가 잘못되었습니다",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X은 지원하지 않으며 %s이(가) 이 플랫폼에서 올바르게 작동하지 않을 수도 있습니다. 본인 책임으로 사용하십시오! ",
"For the best results, please consider using a GNU/Linux server instead." : "더 좋은 결과를 얻으려면 GNU/Linux 서버를 사용하는 것을 권장합니다.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "%s 인스턴스가 32비트 PHP 환경에서 실행 중이고 php.ini에 open_basedir이 설정되어 있습니다. 4GB 이상의 파일 처리에 문제가 생길 수 있으므로 추천하지 않습니다.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "php.ini의 open_basedir 설정을 삭제하거나 64비트 PHP로 전환하십시오.",
"Set an admin username." : "관리자의 사용자 이름을 설정합니다.",
"Set an admin password." : "관리자의 암호를 설정합니다.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "공유 백엔드 %s에서 OCP\\Share_Backend 인터페이스를 구현해야 함",
"Sharing backend %s not found" : "공유 백엔드 %s을(를) 찾을 수 없음",
"Sharing backend for %s not found" : "%s의 공유 백엔드를 찾을 수 없음",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s이(가) %2$s을(를) 당신과 공유하며, 다음을 추가하고자 함:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s이(가) %2$s을(를) 당신과 공유하며 다음을 추가하고자 함",
+ "»%s« added a note to a file shared with you" : "%s이(가) 당신과 공유한 파일에 메모를 추가함",
"Open »%s«" : "%s 열기",
"%1$s via %2$s" : "%1$s(%2$s 경유)",
"You are not allowed to share %s" : "%s을(를) 공유할 수 있는 권한이 없습니다",
@@ -150,14 +154,14 @@ OC.L10N.register(
"Oct." : "10월",
"Nov." : "11월",
"Dec." : "12월",
+ "A valid password must be provided" : "올바른 암호를 입력해야 합니다",
+ "The username is already being used" : "사용자 이름이 이미 존재합니다",
+ "Could not create user" : "사용자를 만들 수 없습니다",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "다음 문자만 이름에 사용할 수 있습니다: \"a-z\", \"A-Z\", \"0-9\", 및 \"_.@-'\"",
"A valid username must be provided" : "올바른 사용자 이름을 입력해야 합니다",
"Username contains whitespace at the beginning or at the end" : "사용자 이름의 시작이나 끝에 공백이 있습니다",
"Username must not consist of dots only" : "사용자 이름에 마침표만 있으면 안 됩니다",
"Username is invalid because files already exist for this user" : "무효한 사용자이름. 이미 존재함",
- "A valid password must be provided" : "올바른 암호를 입력해야 합니다",
- "The username is already being used" : "사용자 이름이 이미 존재합니다",
- "Could not create user" : "사용자를 만들 수 없습니다",
"User disabled" : "사용자 비활성화됨",
"Login canceled by app" : "앱에서 로그인 취소함",
"a safe home for all your data" : "내 모든 데이터의 안전한 저장소",
@@ -179,6 +183,7 @@ OC.L10N.register(
"Please ask your server administrator to restart the web server." : "서버 관리자에게 웹 서버 재시작을 요청하십시오.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "권한을 0770으로 변경하여 다른 사용자가 읽을 수 없도록 하십시오.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "데이터 디렉터리의 최상위 디렉터리에 \".ocdata\" 파일이 있는지 확인하십시오.",
+ "Action \"%s\" not supported or implemented." : "액션 \"%s\"을(를) 지원하지 않거나 사용할 수 없습니다. ",
"Authentication failed, wrong token or provider ID given" : "인증이 실패하였습니다. 토큰이나 프로바이더 ID가 틀렸습니다.",
"Could not obtain lock type %d on \"%s\"." : "잠금 형식 %d을(를) \"%s\"에 대해 얻을 수 없습니다.",
"Storage unauthorized. %s" : "저장소가 인증되지 않았습니다. %s",
@@ -190,6 +195,8 @@ OC.L10N.register(
"%s enter the database username." : "%s 데이터베이스 사용자 이름을 입력해 주십시오.",
"%s enter the database name." : "%s 데이터베이스 이름을 입력하십시오.",
"%s you may not use dots in the database name" : "%s 데이터베이스 이름에는 마침표를 사용할 수 없습니다",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "%s 인스턴스가 32비트 PHP 환경에서 실행 중이고 php.ini에 open_basedir이 설정되어 있습니다. 4GB 이상의 파일 처리에 문제가 생길 수 있으므로 추천하지 않습니다.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "php.ini의 open_basedir 설정을 삭제하거나 64비트 PHP로 전환하십시오.",
"Cannot write into \"config\" directory" : "\"config\" 디렉터리에 기록할 수 없습니다",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "config 디렉터리에 웹 서버의 쓰기 권한을 부여해서 해결할 수 있습니다. %s 문서를 참조하십시오",
"Cannot write into \"apps\" directory" : "\"apps\" 디렉터리에 기록할 수 없습니다",
diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json
index 4203289978f..0501a7fa654 100644
--- a/lib/l10n/ko.json
+++ b/lib/l10n/ko.json
@@ -64,7 +64,10 @@
"__language_name__" : "한국어",
"This is an automatically sent email, please do not reply." : "자동으로 전송한 이메일입니다. 답장하지 마십시오.",
"Help" : "도움말",
+ "Appearance and accessibility" : "외형과 접근성",
"Apps" : "앱",
+ "Personal settings" : "개인 설정",
+ "Administration settings" : "관리자 설정",
"Settings" : "설정",
"Log out" : "로그아웃",
"Users" : "사용자",
@@ -87,13 +90,14 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL 사용자 이름 또는 암호가 잘못되었습니다",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X은 지원하지 않으며 %s이(가) 이 플랫폼에서 올바르게 작동하지 않을 수도 있습니다. 본인 책임으로 사용하십시오! ",
"For the best results, please consider using a GNU/Linux server instead." : "더 좋은 결과를 얻으려면 GNU/Linux 서버를 사용하는 것을 권장합니다.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "%s 인스턴스가 32비트 PHP 환경에서 실행 중이고 php.ini에 open_basedir이 설정되어 있습니다. 4GB 이상의 파일 처리에 문제가 생길 수 있으므로 추천하지 않습니다.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "php.ini의 open_basedir 설정을 삭제하거나 64비트 PHP로 전환하십시오.",
"Set an admin username." : "관리자의 사용자 이름을 설정합니다.",
"Set an admin password." : "관리자의 암호를 설정합니다.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "공유 백엔드 %s에서 OCP\\Share_Backend 인터페이스를 구현해야 함",
"Sharing backend %s not found" : "공유 백엔드 %s을(를) 찾을 수 없음",
"Sharing backend for %s not found" : "%s의 공유 백엔드를 찾을 수 없음",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s이(가) %2$s을(를) 당신과 공유하며, 다음을 추가하고자 함:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s이(가) %2$s을(를) 당신과 공유하며 다음을 추가하고자 함",
+ "»%s« added a note to a file shared with you" : "%s이(가) 당신과 공유한 파일에 메모를 추가함",
"Open »%s«" : "%s 열기",
"%1$s via %2$s" : "%1$s(%2$s 경유)",
"You are not allowed to share %s" : "%s을(를) 공유할 수 있는 권한이 없습니다",
@@ -148,14 +152,14 @@
"Oct." : "10월",
"Nov." : "11월",
"Dec." : "12월",
+ "A valid password must be provided" : "올바른 암호를 입력해야 합니다",
+ "The username is already being used" : "사용자 이름이 이미 존재합니다",
+ "Could not create user" : "사용자를 만들 수 없습니다",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "다음 문자만 이름에 사용할 수 있습니다: \"a-z\", \"A-Z\", \"0-9\", 및 \"_.@-'\"",
"A valid username must be provided" : "올바른 사용자 이름을 입력해야 합니다",
"Username contains whitespace at the beginning or at the end" : "사용자 이름의 시작이나 끝에 공백이 있습니다",
"Username must not consist of dots only" : "사용자 이름에 마침표만 있으면 안 됩니다",
"Username is invalid because files already exist for this user" : "무효한 사용자이름. 이미 존재함",
- "A valid password must be provided" : "올바른 암호를 입력해야 합니다",
- "The username is already being used" : "사용자 이름이 이미 존재합니다",
- "Could not create user" : "사용자를 만들 수 없습니다",
"User disabled" : "사용자 비활성화됨",
"Login canceled by app" : "앱에서 로그인 취소함",
"a safe home for all your data" : "내 모든 데이터의 안전한 저장소",
@@ -177,6 +181,7 @@
"Please ask your server administrator to restart the web server." : "서버 관리자에게 웹 서버 재시작을 요청하십시오.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "권한을 0770으로 변경하여 다른 사용자가 읽을 수 없도록 하십시오.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "데이터 디렉터리의 최상위 디렉터리에 \".ocdata\" 파일이 있는지 확인하십시오.",
+ "Action \"%s\" not supported or implemented." : "액션 \"%s\"을(를) 지원하지 않거나 사용할 수 없습니다. ",
"Authentication failed, wrong token or provider ID given" : "인증이 실패하였습니다. 토큰이나 프로바이더 ID가 틀렸습니다.",
"Could not obtain lock type %d on \"%s\"." : "잠금 형식 %d을(를) \"%s\"에 대해 얻을 수 없습니다.",
"Storage unauthorized. %s" : "저장소가 인증되지 않았습니다. %s",
@@ -188,6 +193,8 @@
"%s enter the database username." : "%s 데이터베이스 사용자 이름을 입력해 주십시오.",
"%s enter the database name." : "%s 데이터베이스 이름을 입력하십시오.",
"%s you may not use dots in the database name" : "%s 데이터베이스 이름에는 마침표를 사용할 수 없습니다",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "%s 인스턴스가 32비트 PHP 환경에서 실행 중이고 php.ini에 open_basedir이 설정되어 있습니다. 4GB 이상의 파일 처리에 문제가 생길 수 있으므로 추천하지 않습니다.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "php.ini의 open_basedir 설정을 삭제하거나 64비트 PHP로 전환하십시오.",
"Cannot write into \"config\" directory" : "\"config\" 디렉터리에 기록할 수 없습니다",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "config 디렉터리에 웹 서버의 쓰기 권한을 부여해서 해결할 수 있습니다. %s 문서를 참조하십시오",
"Cannot write into \"apps\" directory" : "\"apps\" 디렉터리에 기록할 수 없습니다",
diff --git a/lib/l10n/lt_LT.js b/lib/l10n/lt_LT.js
index c4a0be60415..80c81ad9ca4 100644
--- a/lib/l10n/lt_LT.js
+++ b/lib/l10n/lt_LT.js
@@ -96,7 +96,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Neteisingas PostgreSQL naudotojo vardas ir/arba slaptažodis",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nėra palaikomas, %s neveiks tinkamai šioje platformoje. Naudodami prisiimate visą riziką !",
"For the best results, please consider using a GNU/Linux server instead." : "Geriausiems rezultatams, apsvarstykite galimybę, vietoj šio, naudoti GNU/Linux serverį",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Pašalinkite savo php.ini faile open_basedir nustatymą arba persijunkite į 64-bitų PHP.",
"Set an admin username." : "Nustatyti administratoriaus naudotojo vardą.",
"Set an admin password." : "Nustatyti administratoriaus slaptažodį.",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s pasidalino „%2$s“ su jumis ir parašė pastabą:",
@@ -158,13 +157,13 @@ OC.L10N.register(
"Oct." : "Spl.",
"Nov." : "Lap.",
"Dec." : "Grd.",
+ "A valid password must be provided" : "Slaptažodis turi būti tinkamas",
+ "The username is already being used" : "Naudotojo vardas jau yra naudojamas",
+ "Could not create user" : "Nepavyko sukurti naudotojo",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Naudotojo varde leidžiama naudoti tik šiuos simbolius: „a-z“, „A-Z“, „0-9“, ir „_.@-'“",
"A valid username must be provided" : "Privalo būti pateiktas tinkamas naudotojo vardas",
"Username contains whitespace at the beginning or at the end" : "Naudotojo varde pradžioje ar pabaigoje yra tarpas",
"Username must not consist of dots only" : "Naudotojo vardas negali būti sudarytas tik iš taškų.",
- "A valid password must be provided" : "Slaptažodis turi būti tinkamas",
- "The username is already being used" : "Naudotojo vardas jau yra naudojamas",
- "Could not create user" : "Nepavyko sukurti naudotojo",
"User disabled" : "Naudotojas išjungtas",
"Login canceled by app" : "Programėlė nutraukė prisijungimo procesą",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Programėlė \"%1$s\" negali būti įdiegta, nes nėra patenkinamos šios priklausomybės: %2$s",
@@ -196,6 +195,7 @@ OC.L10N.register(
"%s enter the database username." : "%s įrašykite duomenų bazės naudotojo vardą.",
"%s enter the database name." : "%s įrašykite duomenų bazės pavadinimą.",
"%s you may not use dots in the database name" : "%s negalite naudoti taškų duombazės pavadinime",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Pašalinkite savo php.ini faile open_basedir nustatymą arba persijunkite į 64-bitų PHP.",
"Cannot write into \"config\" directory" : "Nepavyksta rašyti į „config“ katalogą",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Tai, dažniausiai, gali būti pataisyta, suteikiant saityno serveriui rašymo prieigą prie konfigūracijos katalogo. Žiūrėkite %s",
"Cannot write into \"apps\" directory" : "Nepavyksta rašyti į „apps“ katalogą",
diff --git a/lib/l10n/lt_LT.json b/lib/l10n/lt_LT.json
index d393bc798c5..a5e37dbe986 100644
--- a/lib/l10n/lt_LT.json
+++ b/lib/l10n/lt_LT.json
@@ -94,7 +94,6 @@
"PostgreSQL username and/or password not valid" : "Neteisingas PostgreSQL naudotojo vardas ir/arba slaptažodis",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nėra palaikomas, %s neveiks tinkamai šioje platformoje. Naudodami prisiimate visą riziką !",
"For the best results, please consider using a GNU/Linux server instead." : "Geriausiems rezultatams, apsvarstykite galimybę, vietoj šio, naudoti GNU/Linux serverį",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Pašalinkite savo php.ini faile open_basedir nustatymą arba persijunkite į 64-bitų PHP.",
"Set an admin username." : "Nustatyti administratoriaus naudotojo vardą.",
"Set an admin password." : "Nustatyti administratoriaus slaptažodį.",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s pasidalino „%2$s“ su jumis ir parašė pastabą:",
@@ -156,13 +155,13 @@
"Oct." : "Spl.",
"Nov." : "Lap.",
"Dec." : "Grd.",
+ "A valid password must be provided" : "Slaptažodis turi būti tinkamas",
+ "The username is already being used" : "Naudotojo vardas jau yra naudojamas",
+ "Could not create user" : "Nepavyko sukurti naudotojo",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Naudotojo varde leidžiama naudoti tik šiuos simbolius: „a-z“, „A-Z“, „0-9“, ir „_.@-'“",
"A valid username must be provided" : "Privalo būti pateiktas tinkamas naudotojo vardas",
"Username contains whitespace at the beginning or at the end" : "Naudotojo varde pradžioje ar pabaigoje yra tarpas",
"Username must not consist of dots only" : "Naudotojo vardas negali būti sudarytas tik iš taškų.",
- "A valid password must be provided" : "Slaptažodis turi būti tinkamas",
- "The username is already being used" : "Naudotojo vardas jau yra naudojamas",
- "Could not create user" : "Nepavyko sukurti naudotojo",
"User disabled" : "Naudotojas išjungtas",
"Login canceled by app" : "Programėlė nutraukė prisijungimo procesą",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Programėlė \"%1$s\" negali būti įdiegta, nes nėra patenkinamos šios priklausomybės: %2$s",
@@ -194,6 +193,7 @@
"%s enter the database username." : "%s įrašykite duomenų bazės naudotojo vardą.",
"%s enter the database name." : "%s įrašykite duomenų bazės pavadinimą.",
"%s you may not use dots in the database name" : "%s negalite naudoti taškų duombazės pavadinime",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Pašalinkite savo php.ini faile open_basedir nustatymą arba persijunkite į 64-bitų PHP.",
"Cannot write into \"config\" directory" : "Nepavyksta rašyti į „config“ katalogą",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Tai, dažniausiai, gali būti pataisyta, suteikiant saityno serveriui rašymo prieigą prie konfigūracijos katalogo. Žiūrėkite %s",
"Cannot write into \"apps\" directory" : "Nepavyksta rašyti į „apps“ katalogą",
diff --git a/lib/l10n/lv.js b/lib/l10n/lv.js
index 80a047db6f3..3f500a806ad 100644
--- a/lib/l10n/lv.js
+++ b/lib/l10n/lv.js
@@ -5,6 +5,11 @@ OC.L10N.register(
"See %s" : "Skatīt %s",
"Sample configuration detected" : "Atrasta konfigurācijas paraugs",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Konstatēts, ka paraug konfigurācija ir nokopēta. Tas var izjaukt jūsu instalāciju un nav atbalstīts. Lūdzu, izlasiet dokumentāciju, pirms veicat izmaiņas config.php",
+ "404" : "404",
+ "%s email verification" : "%s e-pasta pārbaude",
+ "Email verification" : "E-pasta pārbaude",
+ "Click the following button to confirm your email." : "Noklikšķiniet uz šīs pogas, lai apstiprinātu savu e-pastu.",
+ "Confirm your email" : "Apstipriniet savu e-pastu",
"%1$s and %2$s" : "%1$s un %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s un %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s un %4$s",
@@ -20,6 +25,7 @@ OC.L10N.register(
"Unknown filetype" : "Nezināms datnes tips",
"Invalid image" : "Nederīgs attēls",
"Avatar image is not square" : "Avatar attēls nav kvadrāts",
+ "View profile" : "Skatīt profilu",
"today" : "šodien",
"yesterday" : "vakar",
"_%n day ago_::_%n days ago_" : ["%n dienas atpakaļ","%n dienas atpakaļ","%n dienām"],
@@ -31,11 +37,15 @@ OC.L10N.register(
"_%n minute ago_::_%n minutes ago_" : ["%n minūtes atpakaļ","%n minūtes atpakaļ","%n minūtēm"],
"seconds ago" : "sekundēm",
"File already exists" : "Datne jau pastāv",
+ "File name is a reserved word" : "Faila nosaukums ir rezervēts vārds",
"File name is too long" : "Datnes nosaukums ir pārāk garš",
"Empty filename is not allowed" : "Tukšs datnes nosaukums nav atļauts",
"__language_name__" : "Latviešu",
"Help" : "Palīdzība",
+ "Appearance and accessibility" : "Izskats un pieejamība",
"Apps" : "Lietotnes",
+ "Personal settings" : "Personiskie iestatījumi",
+ "Administration settings" : "Administrēšanas iestatījumi",
"Settings" : "Iestatījumi",
"Log out" : "Izrakstīties",
"Users" : "Lietotāji",
@@ -52,9 +62,11 @@ OC.L10N.register(
"Oracle connection could not be established" : "Nevar izveidot savienojumu ar Oracle",
"Oracle username and/or password not valid" : "Nav derīga Oracle parole un/vai lietotājvārds",
"PostgreSQL username and/or password not valid" : "Nav derīga PostgreSQL parole un/vai lietotājvārds",
+ "Please switch to 64-bit PHP." : "Lūdzu, pārejiet uz 64 bitu PHP.",
"Set an admin username." : "Iestatiet administratora lietotājvārdu.",
"Set an admin password." : "Iestatiet administratora paroli.",
"Open »%s«" : "Atvērt »%s«",
+ "You are not allowed to share %s" : "Jums nav atļauts dalīties %s",
"Could not find category \"%s\"" : "Nevarēja atrast kategoriju “%s”",
"Sunday" : "Svētdiena",
"Monday" : "Pirmdiena",
@@ -101,9 +113,9 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "A valid username must be provided" : "Jānorāda derīgs lietotājvārds",
"A valid password must be provided" : "Jānorāda derīga parole",
"The username is already being used" : "Šāds lietotājvārds jau tiek izmantots",
+ "A valid username must be provided" : "Jānorāda derīgs lietotājvārds",
"User disabled" : "Lietotājs deaktivizēts",
"Login canceled by app" : "Pieteikšanos atcelā lietotne",
"a safe home for all your data" : "droša vieta visiem jūsu datiem",
diff --git a/lib/l10n/lv.json b/lib/l10n/lv.json
index 658451bfe92..df516b7061e 100644
--- a/lib/l10n/lv.json
+++ b/lib/l10n/lv.json
@@ -3,6 +3,11 @@
"See %s" : "Skatīt %s",
"Sample configuration detected" : "Atrasta konfigurācijas paraugs",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Konstatēts, ka paraug konfigurācija ir nokopēta. Tas var izjaukt jūsu instalāciju un nav atbalstīts. Lūdzu, izlasiet dokumentāciju, pirms veicat izmaiņas config.php",
+ "404" : "404",
+ "%s email verification" : "%s e-pasta pārbaude",
+ "Email verification" : "E-pasta pārbaude",
+ "Click the following button to confirm your email." : "Noklikšķiniet uz šīs pogas, lai apstiprinātu savu e-pastu.",
+ "Confirm your email" : "Apstipriniet savu e-pastu",
"%1$s and %2$s" : "%1$s un %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s un %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s un %4$s",
@@ -18,6 +23,7 @@
"Unknown filetype" : "Nezināms datnes tips",
"Invalid image" : "Nederīgs attēls",
"Avatar image is not square" : "Avatar attēls nav kvadrāts",
+ "View profile" : "Skatīt profilu",
"today" : "šodien",
"yesterday" : "vakar",
"_%n day ago_::_%n days ago_" : ["%n dienas atpakaļ","%n dienas atpakaļ","%n dienām"],
@@ -29,11 +35,15 @@
"_%n minute ago_::_%n minutes ago_" : ["%n minūtes atpakaļ","%n minūtes atpakaļ","%n minūtēm"],
"seconds ago" : "sekundēm",
"File already exists" : "Datne jau pastāv",
+ "File name is a reserved word" : "Faila nosaukums ir rezervēts vārds",
"File name is too long" : "Datnes nosaukums ir pārāk garš",
"Empty filename is not allowed" : "Tukšs datnes nosaukums nav atļauts",
"__language_name__" : "Latviešu",
"Help" : "Palīdzība",
+ "Appearance and accessibility" : "Izskats un pieejamība",
"Apps" : "Lietotnes",
+ "Personal settings" : "Personiskie iestatījumi",
+ "Administration settings" : "Administrēšanas iestatījumi",
"Settings" : "Iestatījumi",
"Log out" : "Izrakstīties",
"Users" : "Lietotāji",
@@ -50,9 +60,11 @@
"Oracle connection could not be established" : "Nevar izveidot savienojumu ar Oracle",
"Oracle username and/or password not valid" : "Nav derīga Oracle parole un/vai lietotājvārds",
"PostgreSQL username and/or password not valid" : "Nav derīga PostgreSQL parole un/vai lietotājvārds",
+ "Please switch to 64-bit PHP." : "Lūdzu, pārejiet uz 64 bitu PHP.",
"Set an admin username." : "Iestatiet administratora lietotājvārdu.",
"Set an admin password." : "Iestatiet administratora paroli.",
"Open »%s«" : "Atvērt »%s«",
+ "You are not allowed to share %s" : "Jums nav atļauts dalīties %s",
"Could not find category \"%s\"" : "Nevarēja atrast kategoriju “%s”",
"Sunday" : "Svētdiena",
"Monday" : "Pirmdiena",
@@ -99,9 +111,9 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "A valid username must be provided" : "Jānorāda derīgs lietotājvārds",
"A valid password must be provided" : "Jānorāda derīga parole",
"The username is already being used" : "Šāds lietotājvārds jau tiek izmantots",
+ "A valid username must be provided" : "Jānorāda derīgs lietotājvārds",
"User disabled" : "Lietotājs deaktivizēts",
"Login canceled by app" : "Pieteikšanos atcelā lietotne",
"a safe home for all your data" : "droša vieta visiem jūsu datiem",
diff --git a/lib/l10n/mk.js b/lib/l10n/mk.js
index cb617e10b63..63a8cc4b32f 100644
--- a/lib/l10n/mk.js
+++ b/lib/l10n/mk.js
@@ -2,11 +2,14 @@ OC.L10N.register(
"lib",
{
"Cannot write into \"config\" directory!" : "Не може да зе запишува во \"config\" директориумот!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Ова најчесто се поправа со давање на дозвола веб серверот за запишување во config папката.",
"But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Но, доколку претпочитувате config.php да биде само за читање, поставете параметар \"config_is_read_only\" во него.",
"See %s" : "Види %s",
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Датотеките од аоликацијата %1$s не се преклопени коректно. Проверете дали верзијата е компатибилна со серверот.",
"Sample configuration detected" : "Детектирана е едноставна конфигурација",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Детектирано е дека едноставната конфигурација е копирана. Ова може да и наштети на вашата инсталација и не е поддржано. Прочитајте ја документацијата пред да правите промени во config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Страницата не е пронајдена на серверот.",
"%s email verification" : "%s е-пошта верификација",
"Email verification" : "Е-пошта верификација",
"Click the following button to confirm your email." : "Кликнете на следното копче за да ја потврдите вашата е-пошта адреса.",
@@ -89,7 +92,10 @@ OC.L10N.register(
"__language_name__" : "Македонски",
"This is an automatically sent email, please do not reply." : "Ова е автоматски испратена порака, не одговарајте на истата.",
"Help" : "Помош",
+ "Appearance and accessibility" : "Изглед и пристапност",
"Apps" : "Аппликации",
+ "Personal settings" : "Лични параметри",
+ "Administration settings" : "Административни параметри",
"Settings" : "Параметри",
"Log out" : "Одјава",
"Users" : "Корисници",
@@ -110,6 +116,10 @@ OC.L10N.register(
"Role" : "Улога",
"Unknown user" : "Непознат корисник",
"Additional settings" : "Дополнителни параметри",
+ "Enter the database username and name for %s" : "Внесете го корисничкото име и името на базата за %s",
+ "Enter the database username for %s" : "Внесете го корисничкото име на базата за %s",
+ "Enter the database name for %s" : "Внесете го името на базата за %s",
+ "You cannot use dots in the database name %s" : "Не можеш да користиш точки во името на базата %s",
"MySQL username and/or password not valid" : "Погрешно MySQL корисничко име и/или лозинка",
"You need to enter details of an existing account." : "Потребно е да внесете детали од постоечката сметка.",
"Oracle connection could not be established" : "Oracle врската неможе да се воспостави",
@@ -117,8 +127,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL корисничкото име и/или лозинка не се валидни",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не е поддржана и %s нема да работи соодветно на оваа платформа. Користењето е на ваш ризик! ",
"For the best results, please consider using a GNU/Linux server instead." : "За најдобри резултати, размислете за користење на сервер со GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Највероватно оваа истанца %s е стартувана на 32-битна PHP средина и open_basedir е конфигурано во php.ini. Ова ќе прави проблеми со датотеки поголеми од 4 GB.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Отстранете го параметарот open_basedir од php.ini или преминете на 64-битна PHP средина.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Оваа истанца %s работи на 32-битна PHP околина. 64-битна е потребна за верзија 26 и повисоки.",
+ "Please switch to 64-bit PHP." : "Префрлете се на 64-битна PHP.",
"Set an admin username." : "Постави администраторско корисничко име",
"Set an admin password." : "Постави администраторска лозинка.",
"Cannot create or write into the data directory %s" : "Неможете да креирате или да запишувате во папката за податоци %s",
@@ -142,6 +152,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s сподели »%2$s« со вас.",
"Click the button below to open it." : "Кликнете на копчето подолу за да ја отворите.",
"The requested share does not exist anymore" : "Споделувањето не постои повеќе",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Корисникот не е креиран затоа што максималниот број на корисници е достигнат. Проверете ги вашите известувања за да дознаете повеќе.",
"Could not find category \"%s\"" : "Не можам да најдам категорија „%s“",
"Sunday" : "Недела",
"Monday" : "Понеделник",
@@ -188,36 +199,56 @@ OC.L10N.register(
"Oct." : "Окт.",
"Nov." : "Ное.",
"Dec." : "Дек.",
- "The user limit has been reached and the user was not created." : "Оганичувањето на корисниците е достигнато и корисникот не е креиран.",
+ "A valid password must be provided" : "Мора да се обезбеди валидна лозинка",
+ "The username is already being used" : "Корисничкото име е веќе во употреба",
+ "Could not create user" : "Неможе да се креира корисник",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Само следниве карактери се дозволени во корисничкото име:: \"a-z\", \"A-Z\", \"0-9\", и \"_.@-'\"",
"A valid username must be provided" : "Мора да се внесе валидно корисничко име ",
"Username contains whitespace at the beginning or at the end" : "Корисничкото име содржи празно место на почетокот или на крајот",
"Username must not consist of dots only" : "Корисничкото име не смее да се состои само од точки",
"Username is invalid because files already exist for this user" : "Невалидно корисничкото име бидејќи веќе постојат датотеки за овој корисник",
- "A valid password must be provided" : "Мора да се обезбеди валидна лозинка",
- "The username is already being used" : "Корисничкото име е веќе во употреба",
- "Could not create user" : "Неможе да се креира корисник",
"User disabled" : "Оневозможен корисник",
"Login canceled by app" : "Најавата е одкажана од апликација",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Апликацијата \"%1$s\" не може да се инсталира затоа што следниве зависности не се исполнети: %2$s",
"a safe home for all your data" : "безбеден дом за сите ваши податоци",
"File is currently busy, please try again later" : "Датотеката моментално е зафатена, обидете се повторно",
+ "Cannot download file" : "Не може да се преземе датотеката",
"Application is not enabled" : "Апликацијата не е овозможена",
"Authentication error" : "Грешка во автентикација",
"Token expired. Please reload page." : "Жетонот е истечен. Ве молам превчитајте ја страницата.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Нема инсталирано додаток за (sqlite, mysql, или postgresql) база на податоци.",
+ "Cannot write into \"config\" directory." : "Не може да зе запишува во \"config\" директориумот",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Ова најчесто се поправа со давање дозвола на веб серверот за запишување во config папката. Видете %s",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Или, доколку претпочитувате config.php да биде само за читање, поставете параметар \"config_is_read_only\" во него. Видете %s",
+ "Cannot write into \"apps\" directory." : "Не може да зе запишува во \"apps\" директориумот",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Ова најчесто се поправа со давање дозвола на веб серверот за запишување во папката со апликации или оневозможување на продавницата за апликации во кофигурациската датотека.",
+ "Cannot create \"data\" directory." : "Неможе да се креира директориум \"data\"",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Ова најчесто се поправа со давање дозвола на веб серверот за запишување во главната папка. Видете %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Дозволите најчесто се поправаат со давање дозвола на веб серверот за запишување во главната папка. Видете %s",
+ "Your data directory is not writable." : "Во Вашата папка со податоци неможе да се запишува.",
+ "Setting locale to %s failed." : "Неуспешно поставување на локацијата %s ",
+ "Please install one of these locales on your system and restart your web server." : "Инсталирајте една од овие локациски податоци во вашиот систем и рестартирајте го веб серверот.",
"PHP module %s not installed." : "PHP модулот %s не е инсталиран.",
"Please ask your server administrator to install the module." : "Замолете го сервер администраторот да го инсталира додатокот.",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP поставката \"%s\" не е поставена до \"%s\".",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Прилагодувањето на оваа поставка во php.ini ќе направи повторно да работи ",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> е поставено на <code>%s</code> очекувана вредност е <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "За да го поправите ова, поставете вредност за <code>mbstring.func_overload</code> = <code>0</code> во вашата php.ini датотека.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "Потербна минимална верзија на libxml2 е 2.7.0. Моментална верзија е %s.",
"To fix this issue update your libxml2 version and restart your web server." : "За да го поправите овој проблем, ажурирајте ја верзијата на libxml2 и рестартирајте го вашиот веб сервер.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP поставено да ги поставува во линија внатрешните блокови на документите. Ова ќе ги направи неколку основни апликации недостапни.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ова е веројатно предизвикано од кеш-меморија/забрзување како што се Zend OPcache или eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP модулот е инсталиран, но сеуште се прикажува како да недостасува?",
"Please ask your server administrator to restart the web server." : "Замолете го сервер администраторот да го рестартира веб серверот.",
+ "The required %s config variable is not configured in the config.php file." : "Потребната променлива %s не е конфигурирана config.php датотеката.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Замолете го сервер администраторот да ја провери конфигурацијата.",
+ "PostgreSQL >= 9 required." : "Потребно е PostgreSQL >= 9 ",
+ "Please upgrade your database version." : "Ве молиме надградете ја верзијата на базата со податоци",
+ "Your data directory is readable by other users." : "Вашата папка со податоци може да се чита и од други корисници.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Поставете дозвола на папката 0770, за да неможе да се чита од други корисници.",
+ "Your data directory must be an absolute path." : "Вашата папка со податоци мора да биде апсолутна патека.",
+ "Check the value of \"datadirectory\" in your configuration." : "Проверете ја вредноста на \"datadirectory\" во вашата конфигурација.",
+ "Your data directory is invalid." : "Вашата папка со податоци не е валидна.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Осигурете се дека има датотека наречена \".ocdata\" во главната папка со податоци.",
"Action \"%s\" not supported or implemented." : "Акцијата \"%s\" не е поддржана или не е имплементирана.",
"Authentication failed, wrong token or provider ID given" : "Неуспешна автентификација, погрешен токен или зададен погрешен ИД",
@@ -235,6 +266,9 @@ OC.L10N.register(
"%s enter the database username." : "%s внеси го корисничкото име за базата.",
"%s enter the database name." : "%s внеси го името на базата.",
"%s you may not use dots in the database name" : "%s не можеш да користиш точки во името на базата",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Највероватно оваа истанца %s е стартувана на 32-битна PHP средина и open_basedir е конфигурано во php.ini. Ова ќе прави проблеми со датотеки поголеми од 4 GB.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Отстранете го параметарот open_basedir од php.ini или преминете на 64-битна PHP средина.",
+ "The user limit has been reached and the user was not created." : "Оганичувањето на корисниците е достигнато и корисникот не е креиран.",
"Cannot read file" : "Неможе да се прочита датотеката",
"Cannot write into \"config\" directory" : "Не може да зе запишува во \"config\" директориумот",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ова најчесто се поправа со давање дозвола на веб серверот за запишување во config папката. Видете %s",
@@ -252,6 +286,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Вашата папка со податоци може да се чита и од други корисници",
"Your data directory must be an absolute path" : "Вашата папка со податоци мора да биде потполна патека",
"Check the value of \"datadirectory\" in your configuration" : "Проверете ја вредноста на \"datadirectory\" во вашата конфигурација",
- "Your data directory is invalid" : "Вашата папка со податоци не е валидна"
+ "Your data directory is invalid" : "Вашата папка со податоци не е валидна",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Максималниот број на корисници е достигнат. Проверете ги вашите известувања за да дознаете повеќе."
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/lib/l10n/mk.json b/lib/l10n/mk.json
index 32178c0fed7..ea49ea20fe3 100644
--- a/lib/l10n/mk.json
+++ b/lib/l10n/mk.json
@@ -1,10 +1,13 @@
{ "translations": {
"Cannot write into \"config\" directory!" : "Не може да зе запишува во \"config\" директориумот!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Ова најчесто се поправа со давање на дозвола веб серверот за запишување во config папката.",
"But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Но, доколку претпочитувате config.php да биде само за читање, поставете параметар \"config_is_read_only\" во него.",
"See %s" : "Види %s",
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Датотеките од аоликацијата %1$s не се преклопени коректно. Проверете дали верзијата е компатибилна со серверот.",
"Sample configuration detected" : "Детектирана е едноставна конфигурација",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Детектирано е дека едноставната конфигурација е копирана. Ова може да и наштети на вашата инсталација и не е поддржано. Прочитајте ја документацијата пред да правите промени во config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Страницата не е пронајдена на серверот.",
"%s email verification" : "%s е-пошта верификација",
"Email verification" : "Е-пошта верификација",
"Click the following button to confirm your email." : "Кликнете на следното копче за да ја потврдите вашата е-пошта адреса.",
@@ -87,7 +90,10 @@
"__language_name__" : "Македонски",
"This is an automatically sent email, please do not reply." : "Ова е автоматски испратена порака, не одговарајте на истата.",
"Help" : "Помош",
+ "Appearance and accessibility" : "Изглед и пристапност",
"Apps" : "Аппликации",
+ "Personal settings" : "Лични параметри",
+ "Administration settings" : "Административни параметри",
"Settings" : "Параметри",
"Log out" : "Одјава",
"Users" : "Корисници",
@@ -108,6 +114,10 @@
"Role" : "Улога",
"Unknown user" : "Непознат корисник",
"Additional settings" : "Дополнителни параметри",
+ "Enter the database username and name for %s" : "Внесете го корисничкото име и името на базата за %s",
+ "Enter the database username for %s" : "Внесете го корисничкото име на базата за %s",
+ "Enter the database name for %s" : "Внесете го името на базата за %s",
+ "You cannot use dots in the database name %s" : "Не можеш да користиш точки во името на базата %s",
"MySQL username and/or password not valid" : "Погрешно MySQL корисничко име и/или лозинка",
"You need to enter details of an existing account." : "Потребно е да внесете детали од постоечката сметка.",
"Oracle connection could not be established" : "Oracle врската неможе да се воспостави",
@@ -115,8 +125,8 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL корисничкото име и/или лозинка не се валидни",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не е поддржана и %s нема да работи соодветно на оваа платформа. Користењето е на ваш ризик! ",
"For the best results, please consider using a GNU/Linux server instead." : "За најдобри резултати, размислете за користење на сервер со GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Највероватно оваа истанца %s е стартувана на 32-битна PHP средина и open_basedir е конфигурано во php.ini. Ова ќе прави проблеми со датотеки поголеми од 4 GB.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Отстранете го параметарот open_basedir од php.ini или преминете на 64-битна PHP средина.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Оваа истанца %s работи на 32-битна PHP околина. 64-битна е потребна за верзија 26 и повисоки.",
+ "Please switch to 64-bit PHP." : "Префрлете се на 64-битна PHP.",
"Set an admin username." : "Постави администраторско корисничко име",
"Set an admin password." : "Постави администраторска лозинка.",
"Cannot create or write into the data directory %s" : "Неможете да креирате или да запишувате во папката за податоци %s",
@@ -140,6 +150,7 @@
"%1$s shared »%2$s« with you." : "%1$s сподели »%2$s« со вас.",
"Click the button below to open it." : "Кликнете на копчето подолу за да ја отворите.",
"The requested share does not exist anymore" : "Споделувањето не постои повеќе",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Корисникот не е креиран затоа што максималниот број на корисници е достигнат. Проверете ги вашите известувања за да дознаете повеќе.",
"Could not find category \"%s\"" : "Не можам да најдам категорија „%s“",
"Sunday" : "Недела",
"Monday" : "Понеделник",
@@ -186,36 +197,56 @@
"Oct." : "Окт.",
"Nov." : "Ное.",
"Dec." : "Дек.",
- "The user limit has been reached and the user was not created." : "Оганичувањето на корисниците е достигнато и корисникот не е креиран.",
+ "A valid password must be provided" : "Мора да се обезбеди валидна лозинка",
+ "The username is already being used" : "Корисничкото име е веќе во употреба",
+ "Could not create user" : "Неможе да се креира корисник",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Само следниве карактери се дозволени во корисничкото име:: \"a-z\", \"A-Z\", \"0-9\", и \"_.@-'\"",
"A valid username must be provided" : "Мора да се внесе валидно корисничко име ",
"Username contains whitespace at the beginning or at the end" : "Корисничкото име содржи празно место на почетокот или на крајот",
"Username must not consist of dots only" : "Корисничкото име не смее да се состои само од точки",
"Username is invalid because files already exist for this user" : "Невалидно корисничкото име бидејќи веќе постојат датотеки за овој корисник",
- "A valid password must be provided" : "Мора да се обезбеди валидна лозинка",
- "The username is already being used" : "Корисничкото име е веќе во употреба",
- "Could not create user" : "Неможе да се креира корисник",
"User disabled" : "Оневозможен корисник",
"Login canceled by app" : "Најавата е одкажана од апликација",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Апликацијата \"%1$s\" не може да се инсталира затоа што следниве зависности не се исполнети: %2$s",
"a safe home for all your data" : "безбеден дом за сите ваши податоци",
"File is currently busy, please try again later" : "Датотеката моментално е зафатена, обидете се повторно",
+ "Cannot download file" : "Не може да се преземе датотеката",
"Application is not enabled" : "Апликацијата не е овозможена",
"Authentication error" : "Грешка во автентикација",
"Token expired. Please reload page." : "Жетонот е истечен. Ве молам превчитајте ја страницата.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Нема инсталирано додаток за (sqlite, mysql, или postgresql) база на податоци.",
+ "Cannot write into \"config\" directory." : "Не може да зе запишува во \"config\" директориумот",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Ова најчесто се поправа со давање дозвола на веб серверот за запишување во config папката. Видете %s",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Или, доколку претпочитувате config.php да биде само за читање, поставете параметар \"config_is_read_only\" во него. Видете %s",
+ "Cannot write into \"apps\" directory." : "Не може да зе запишува во \"apps\" директориумот",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Ова најчесто се поправа со давање дозвола на веб серверот за запишување во папката со апликации или оневозможување на продавницата за апликации во кофигурациската датотека.",
+ "Cannot create \"data\" directory." : "Неможе да се креира директориум \"data\"",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Ова најчесто се поправа со давање дозвола на веб серверот за запишување во главната папка. Видете %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Дозволите најчесто се поправаат со давање дозвола на веб серверот за запишување во главната папка. Видете %s",
+ "Your data directory is not writable." : "Во Вашата папка со податоци неможе да се запишува.",
+ "Setting locale to %s failed." : "Неуспешно поставување на локацијата %s ",
+ "Please install one of these locales on your system and restart your web server." : "Инсталирајте една од овие локациски податоци во вашиот систем и рестартирајте го веб серверот.",
"PHP module %s not installed." : "PHP модулот %s не е инсталиран.",
"Please ask your server administrator to install the module." : "Замолете го сервер администраторот да го инсталира додатокот.",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP поставката \"%s\" не е поставена до \"%s\".",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Прилагодувањето на оваа поставка во php.ini ќе направи повторно да работи ",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> е поставено на <code>%s</code> очекувана вредност е <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "За да го поправите ова, поставете вредност за <code>mbstring.func_overload</code> = <code>0</code> во вашата php.ini датотека.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "Потербна минимална верзија на libxml2 е 2.7.0. Моментална верзија е %s.",
"To fix this issue update your libxml2 version and restart your web server." : "За да го поправите овој проблем, ажурирајте ја верзијата на libxml2 и рестартирајте го вашиот веб сервер.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP поставено да ги поставува во линија внатрешните блокови на документите. Ова ќе ги направи неколку основни апликации недостапни.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ова е веројатно предизвикано од кеш-меморија/забрзување како што се Zend OPcache или eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP модулот е инсталиран, но сеуште се прикажува како да недостасува?",
"Please ask your server administrator to restart the web server." : "Замолете го сервер администраторот да го рестартира веб серверот.",
+ "The required %s config variable is not configured in the config.php file." : "Потребната променлива %s не е конфигурирана config.php датотеката.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Замолете го сервер администраторот да ја провери конфигурацијата.",
+ "PostgreSQL >= 9 required." : "Потребно е PostgreSQL >= 9 ",
+ "Please upgrade your database version." : "Ве молиме надградете ја верзијата на базата со податоци",
+ "Your data directory is readable by other users." : "Вашата папка со податоци може да се чита и од други корисници.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Поставете дозвола на папката 0770, за да неможе да се чита од други корисници.",
+ "Your data directory must be an absolute path." : "Вашата папка со податоци мора да биде апсолутна патека.",
+ "Check the value of \"datadirectory\" in your configuration." : "Проверете ја вредноста на \"datadirectory\" во вашата конфигурација.",
+ "Your data directory is invalid." : "Вашата папка со податоци не е валидна.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Осигурете се дека има датотека наречена \".ocdata\" во главната папка со податоци.",
"Action \"%s\" not supported or implemented." : "Акцијата \"%s\" не е поддржана или не е имплементирана.",
"Authentication failed, wrong token or provider ID given" : "Неуспешна автентификација, погрешен токен или зададен погрешен ИД",
@@ -233,6 +264,9 @@
"%s enter the database username." : "%s внеси го корисничкото име за базата.",
"%s enter the database name." : "%s внеси го името на базата.",
"%s you may not use dots in the database name" : "%s не можеш да користиш точки во името на базата",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Највероватно оваа истанца %s е стартувана на 32-битна PHP средина и open_basedir е конфигурано во php.ini. Ова ќе прави проблеми со датотеки поголеми од 4 GB.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Отстранете го параметарот open_basedir од php.ini или преминете на 64-битна PHP средина.",
+ "The user limit has been reached and the user was not created." : "Оганичувањето на корисниците е достигнато и корисникот не е креиран.",
"Cannot read file" : "Неможе да се прочита датотеката",
"Cannot write into \"config\" directory" : "Не може да зе запишува во \"config\" директориумот",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ова најчесто се поправа со давање дозвола на веб серверот за запишување во config папката. Видете %s",
@@ -250,6 +284,7 @@
"Your data directory is readable by other users" : "Вашата папка со податоци може да се чита и од други корисници",
"Your data directory must be an absolute path" : "Вашата папка со податоци мора да биде потполна патека",
"Check the value of \"datadirectory\" in your configuration" : "Проверете ја вредноста на \"datadirectory\" во вашата конфигурација",
- "Your data directory is invalid" : "Вашата папка со податоци не е валидна"
+ "Your data directory is invalid" : "Вашата папка со податоци не е валидна",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Максималниот број на корисници е достигнат. Проверете ги вашите известувања за да дознаете повеќе."
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/lib/l10n/nb.js b/lib/l10n/nb.js
index 671f295a88a..5117def0b6f 100644
--- a/lib/l10n/nb.js
+++ b/lib/l10n/nb.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"See %s" : "Se %s",
"Sample configuration detected" : "Eksempeloppsett oppdaget",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Det ble oppdaget at eksempeloppsettet er blitt kopiert. Dette kan ødelegge installasjonen din og støttes ikke. Les dokumentasjonen før du gjør endringer i config.php",
+ "404" : "404",
"%s email verification" : "%s e-postbekreftelse",
"Email verification" : "E-postbekreftelse",
"Click the following button to confirm your email." : "Klikk på følgende knapp for å bekrefte e-posten din.",
@@ -91,8 +92,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL-brukernavn og/eller passord er ikke gyldig",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X støttes ikke og %s vil ikke fungere korrekt på denne plattformen. Bruk på egen risiko!",
"For the best results, please consider using a GNU/Linux server instead." : "For beste resultat, vurder å bruke en GNU/Linux-server i stedet.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det ser ut for at %s-instansen kjører i et 32-bit PHP-miljø med open_basedir satt opp i php.ini. Dette vil føre til problemer med filer over 4 GB og frarådes på det sterkeste.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjern innstillingen open_basedir i php.ini eller bytt til 64-bit PHP.",
"Set an admin username." : "Sett et admin-brukernavn.",
"Set an admin password." : "Sett et admin-passord.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Delings-server %s må implementere grensesnittet OCP\\Share_Backend",
@@ -157,13 +156,13 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Des.",
+ "A valid password must be provided" : "Oppgi et gyldig passord",
+ "The username is already being used" : "Brukernavnet er allerede i bruk",
+ "Could not create user" : "Kunne ikke opprette bruker",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Bare disse tegnene tillates i et brukernavn: \"a-z\", \"A-Z\", \"0-9\" og \"_.@-'\"",
"A valid username must be provided" : "Oppgi et gyldig brukernavn",
"Username contains whitespace at the beginning or at the end" : "Brukernavn inneholder blanke på begynnelsen eller slutten",
"Username must not consist of dots only" : "Brukernavn kan ikke bare bestå av punktum",
- "A valid password must be provided" : "Oppgi et gyldig passord",
- "The username is already being used" : "Brukernavnet er allerede i bruk",
- "Could not create user" : "Kunne ikke opprette bruker",
"User disabled" : "Brukeren er deaktivert",
"Login canceled by app" : "Innlogging avbrutt av app",
"a safe home for all your data" : "et sikkert hjem for alle dine data",
@@ -195,6 +194,8 @@ OC.L10N.register(
"%s enter the database username." : "%s legg inn brukernavn for databasen.",
"%s enter the database name." : "%s legg inn navnet på databasen.",
"%s you may not use dots in the database name" : "%s du kan ikke bruke punktum i databasenavnet",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det ser ut for at %s-instansen kjører i et 32-bit PHP-miljø med open_basedir satt opp i php.ini. Dette vil føre til problemer med filer over 4 GB og frarådes på det sterkeste.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjern innstillingen open_basedir i php.ini eller bytt til 64-bit PHP.",
"Cannot read file" : "Kan ikke lese fil",
"Cannot write into \"config\" directory" : "Kan ikke skrive i \"config\"-mappen",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dette kan vanligvis ordnes ved å gi webserveren skrivetilgang til config-mappen. Se %s",
diff --git a/lib/l10n/nb.json b/lib/l10n/nb.json
index be77ebb0f99..3bee499b422 100644
--- a/lib/l10n/nb.json
+++ b/lib/l10n/nb.json
@@ -3,6 +3,7 @@
"See %s" : "Se %s",
"Sample configuration detected" : "Eksempeloppsett oppdaget",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Det ble oppdaget at eksempeloppsettet er blitt kopiert. Dette kan ødelegge installasjonen din og støttes ikke. Les dokumentasjonen før du gjør endringer i config.php",
+ "404" : "404",
"%s email verification" : "%s e-postbekreftelse",
"Email verification" : "E-postbekreftelse",
"Click the following button to confirm your email." : "Klikk på følgende knapp for å bekrefte e-posten din.",
@@ -89,8 +90,6 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL-brukernavn og/eller passord er ikke gyldig",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X støttes ikke og %s vil ikke fungere korrekt på denne plattformen. Bruk på egen risiko!",
"For the best results, please consider using a GNU/Linux server instead." : "For beste resultat, vurder å bruke en GNU/Linux-server i stedet.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det ser ut for at %s-instansen kjører i et 32-bit PHP-miljø med open_basedir satt opp i php.ini. Dette vil føre til problemer med filer over 4 GB og frarådes på det sterkeste.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjern innstillingen open_basedir i php.ini eller bytt til 64-bit PHP.",
"Set an admin username." : "Sett et admin-brukernavn.",
"Set an admin password." : "Sett et admin-passord.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Delings-server %s må implementere grensesnittet OCP\\Share_Backend",
@@ -155,13 +154,13 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Des.",
+ "A valid password must be provided" : "Oppgi et gyldig passord",
+ "The username is already being used" : "Brukernavnet er allerede i bruk",
+ "Could not create user" : "Kunne ikke opprette bruker",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Bare disse tegnene tillates i et brukernavn: \"a-z\", \"A-Z\", \"0-9\" og \"_.@-'\"",
"A valid username must be provided" : "Oppgi et gyldig brukernavn",
"Username contains whitespace at the beginning or at the end" : "Brukernavn inneholder blanke på begynnelsen eller slutten",
"Username must not consist of dots only" : "Brukernavn kan ikke bare bestå av punktum",
- "A valid password must be provided" : "Oppgi et gyldig passord",
- "The username is already being used" : "Brukernavnet er allerede i bruk",
- "Could not create user" : "Kunne ikke opprette bruker",
"User disabled" : "Brukeren er deaktivert",
"Login canceled by app" : "Innlogging avbrutt av app",
"a safe home for all your data" : "et sikkert hjem for alle dine data",
@@ -193,6 +192,8 @@
"%s enter the database username." : "%s legg inn brukernavn for databasen.",
"%s enter the database name." : "%s legg inn navnet på databasen.",
"%s you may not use dots in the database name" : "%s du kan ikke bruke punktum i databasenavnet",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det ser ut for at %s-instansen kjører i et 32-bit PHP-miljø med open_basedir satt opp i php.ini. Dette vil føre til problemer med filer over 4 GB og frarådes på det sterkeste.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Fjern innstillingen open_basedir i php.ini eller bytt til 64-bit PHP.",
"Cannot read file" : "Kan ikke lese fil",
"Cannot write into \"config\" directory" : "Kan ikke skrive i \"config\"-mappen",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dette kan vanligvis ordnes ved å gi webserveren skrivetilgang til config-mappen. Se %s",
diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js
index d11d8bc5679..d0446176b18 100644
--- a/lib/l10n/nl.js
+++ b/lib/l10n/nl.js
@@ -119,8 +119,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL gebruikersnaam en/of wachtwoord ongeldig",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OSX wordt niet ondersteund en %s zal niet goed werken op dit platform. Gebruik het op eigen risico!",
"For the best results, please consider using a GNU/Linux server instead." : "Voor het beste resultaat adviseren wij het gebruik van een GNU/Linux server.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Het lijkt erop dat deze %s versie draait in een 32 bits PHP omgeving en dat open_basedir is geconfigureerd in php.ini. Dat zal leiden tot problemen met bestanden groter dan 4 GB en wordt dus sterk afgeraden.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Verwijder de open_basedir instelling in php.ini of schakel over op de 64bit PHP.",
"Set an admin username." : "Stel de gebruikersnaam van de beheerder in.",
"Set an admin password." : "Stel een beheerders wachtwoord in.",
"Cannot create or write into the data directory %s" : "Kan niets creëren of wegschrijven in de datadirectory %s",
@@ -190,15 +188,14 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "The user limit has been reached and the user was not created." : "Het maximum aantal gebruikers is bereikt en de gebruiker is niet aangemaakt.",
+ "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven",
+ "The username is already being used" : "De gebruikersnaam bestaat al",
+ "Could not create user" : "Kan gebruiker niet aanmaken.",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Alleen de volgende tekens zijn toegestaan in een gebruikersnaam: \"a-z\", \"A-Z\", \"0-9\", en \"_.@-\"",
"A valid username must be provided" : "Er moet een geldige gebruikersnaam worden opgegeven",
"Username contains whitespace at the beginning or at the end" : "De gebruikersnaam bevat spaties aan het begin of aan het eind",
"Username must not consist of dots only" : "De gebruikersnaam mag niet uit alleen punten bestaan",
"Username is invalid because files already exist for this user" : "Gebruikersnaam is ongeldig omdat er al bestanden voor deze gebruiker bestaan",
- "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven",
- "The username is already being used" : "De gebruikersnaam bestaat al",
- "Could not create user" : "Kan gebruiker niet aanmaken.",
"User disabled" : "Gebruiker uitgeschakeld",
"Login canceled by app" : "Inloggen geannuleerd door app",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "App \"%1$s\" kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld: %2$s",
@@ -253,6 +250,9 @@ OC.L10N.register(
"%s enter the database username." : "%s voer de database gebruikersnaam in.",
"%s enter the database name." : "%s voer de databasenaam in.",
"%s you may not use dots in the database name" : "%s er mogen geen punten in de databasenaam voorkomen",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Het lijkt erop dat deze %s versie draait in een 32 bits PHP omgeving en dat open_basedir is geconfigureerd in php.ini. Dat zal leiden tot problemen met bestanden groter dan 4 GB en wordt dus sterk afgeraden.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Verwijder de open_basedir instelling in php.ini of schakel over op de 64bit PHP.",
+ "The user limit has been reached and the user was not created." : "Het maximum aantal gebruikers is bereikt en de gebruiker is niet aangemaakt.",
"Cannot read file" : "Kan bestand niet lezen",
"Cannot write into \"config\" directory" : "Kan niet schrijven naar de \"config\" directory",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dit kan opgelost worden door de config map op de webserver schrijf rechten te geven. See %s",
diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json
index 7955b1f7fbf..cd1c9dc92b1 100644
--- a/lib/l10n/nl.json
+++ b/lib/l10n/nl.json
@@ -117,8 +117,6 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL gebruikersnaam en/of wachtwoord ongeldig",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OSX wordt niet ondersteund en %s zal niet goed werken op dit platform. Gebruik het op eigen risico!",
"For the best results, please consider using a GNU/Linux server instead." : "Voor het beste resultaat adviseren wij het gebruik van een GNU/Linux server.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Het lijkt erop dat deze %s versie draait in een 32 bits PHP omgeving en dat open_basedir is geconfigureerd in php.ini. Dat zal leiden tot problemen met bestanden groter dan 4 GB en wordt dus sterk afgeraden.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Verwijder de open_basedir instelling in php.ini of schakel over op de 64bit PHP.",
"Set an admin username." : "Stel de gebruikersnaam van de beheerder in.",
"Set an admin password." : "Stel een beheerders wachtwoord in.",
"Cannot create or write into the data directory %s" : "Kan niets creëren of wegschrijven in de datadirectory %s",
@@ -188,15 +186,14 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "The user limit has been reached and the user was not created." : "Het maximum aantal gebruikers is bereikt en de gebruiker is niet aangemaakt.",
+ "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven",
+ "The username is already being used" : "De gebruikersnaam bestaat al",
+ "Could not create user" : "Kan gebruiker niet aanmaken.",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Alleen de volgende tekens zijn toegestaan in een gebruikersnaam: \"a-z\", \"A-Z\", \"0-9\", en \"_.@-\"",
"A valid username must be provided" : "Er moet een geldige gebruikersnaam worden opgegeven",
"Username contains whitespace at the beginning or at the end" : "De gebruikersnaam bevat spaties aan het begin of aan het eind",
"Username must not consist of dots only" : "De gebruikersnaam mag niet uit alleen punten bestaan",
"Username is invalid because files already exist for this user" : "Gebruikersnaam is ongeldig omdat er al bestanden voor deze gebruiker bestaan",
- "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven",
- "The username is already being used" : "De gebruikersnaam bestaat al",
- "Could not create user" : "Kan gebruiker niet aanmaken.",
"User disabled" : "Gebruiker uitgeschakeld",
"Login canceled by app" : "Inloggen geannuleerd door app",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "App \"%1$s\" kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld: %2$s",
@@ -251,6 +248,9 @@
"%s enter the database username." : "%s voer de database gebruikersnaam in.",
"%s enter the database name." : "%s voer de databasenaam in.",
"%s you may not use dots in the database name" : "%s er mogen geen punten in de databasenaam voorkomen",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Het lijkt erop dat deze %s versie draait in een 32 bits PHP omgeving en dat open_basedir is geconfigureerd in php.ini. Dat zal leiden tot problemen met bestanden groter dan 4 GB en wordt dus sterk afgeraden.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Verwijder de open_basedir instelling in php.ini of schakel over op de 64bit PHP.",
+ "The user limit has been reached and the user was not created." : "Het maximum aantal gebruikers is bereikt en de gebruiker is niet aangemaakt.",
"Cannot read file" : "Kan bestand niet lezen",
"Cannot write into \"config\" directory" : "Kan niet schrijven naar de \"config\" directory",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dit kan opgelost worden door de config map op de webserver schrijf rechten te geven. See %s",
diff --git a/lib/l10n/nn_NO.js b/lib/l10n/nn_NO.js
index 924adc60a85..8c3a6b06fe7 100644
--- a/lib/l10n/nn_NO.js
+++ b/lib/l10n/nn_NO.js
@@ -76,8 +76,8 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Des.",
- "A valid username must be provided" : "Du må oppgje eit gyldig brukarnamn",
"A valid password must be provided" : "Du må oppgje eit gyldig passord",
+ "A valid username must be provided" : "Du må oppgje eit gyldig brukarnamn",
"User disabled" : "Brukar deaktivert",
"Login canceled by app" : "Innlogging avbroten av app",
"Authentication error" : "Feil i autentisering"
diff --git a/lib/l10n/nn_NO.json b/lib/l10n/nn_NO.json
index 219148e7b1b..3c6cee22e93 100644
--- a/lib/l10n/nn_NO.json
+++ b/lib/l10n/nn_NO.json
@@ -74,8 +74,8 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Des.",
- "A valid username must be provided" : "Du må oppgje eit gyldig brukarnamn",
"A valid password must be provided" : "Du må oppgje eit gyldig passord",
+ "A valid username must be provided" : "Du må oppgje eit gyldig brukarnamn",
"User disabled" : "Brukar deaktivert",
"Login canceled by app" : "Innlogging avbroten av app",
"Authentication error" : "Feil i autentisering"
diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js
index cad01d1fa08..2796a9b3a4c 100644
--- a/lib/l10n/pl.js
+++ b/lib/l10n/pl.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Pliki aplikacji %1$s nie zostały poprawnie zastąpione. Upewnij się, że jest to wersja zgodna z serwerem.",
"Sample configuration detected" : "Wykryto przykładową konfigurację",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Wykryto, że przykładowa konfiguracja została skopiowana. Może to spowodować przerwanie instalacji, która nie jest wspierana. Przeczytaj dokumentację przed dokonaniem zmian w pliku config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Nie znaleziono strony na serwerze.",
"%s email verification" : "Weryfikacja adresu e-mail %s",
"Email verification" : "Weryfikacja adresu e-mail",
"Click the following button to confirm your email." : "Kliknij poniższy przycisk, aby potwierdzić swój adres e-mail.",
@@ -99,6 +101,8 @@ OC.L10N.register(
"Users" : "Użytkownicy",
"Email" : "E-mail",
"Mail %s" : "Poczta %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Zobacz %s w Fediverse",
"Phone" : "Telefon",
"Call %s" : "Połącz %s",
"Twitter" : "Twitter",
@@ -125,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Zła nazwa użytkownika i/lub hasło do bazy danych PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nie jest wspierany i %s nie będzie działać poprawnie na tej platformie. Używasz go na własne ryzyko!",
"For the best results, please consider using a GNU/Linux server instead." : "Aby uzyskać najlepszy efekt, rozważ użycie serwera GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Wydaje się, że ta instancja %s używa PHP dla 32-bitowego środowiska, ponieważ open_basedir został tak skonfigurowany w php.ini. Doprowadzi to do problemów z plikami powyżej 4 GB i jest bardzo niezalecane.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Usuń ustawienie open_basedir w php.ini lub przełącz na PHP 64-bitowe.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Wygląda na to, że ta instancja %s działa w 32-bitowym środowisku PHP. 64-bitowy jest wymagany dla 26 i wyższych.",
+ "Please switch to 64-bit PHP." : "Przejdź na 64-bitowy PHP.",
"Set an admin username." : "Ustaw nazwę administratora.",
"Set an admin password." : "Ustaw hasło administratora.",
"Cannot create or write into the data directory %s" : "Nie można tworzyć ani zapisywać w katalogu %s",
@@ -150,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s udostępnił Tobie »%2$s«.",
"Click the button below to open it." : "Kliknij przycisk poniżej, aby otworzyć.",
"The requested share does not exist anymore" : "Żądane udostępnienie już nie istnieje",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Użytkownik nie został utworzony, ponieważ osiągnięto limit użytkowników. Sprawdź swoje powiadomienia, aby dowiedzieć się więcej.",
"Could not find category \"%s\"" : "Nie można znaleźć kategorii \"%s\"",
"Sunday" : "Niedziela",
"Monday" : "Poniedziałek",
@@ -196,19 +201,18 @@ OC.L10N.register(
"Oct." : "Paź.",
"Nov." : "Lis.",
"Dec." : "Gru.",
- "The user limit has been reached and the user was not created." : "Osiągnięto limit użytkowników, dlatego użytkownik nie został utworzony.",
+ "A valid password must be provided" : "Należy podać prawidłowe hasło",
+ "The username is already being used" : "Ta nazwa użytkownika jest już używana",
+ "Could not create user" : "Nie można utworzyć użytkownika",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "W nazwie użytkownika dozwolone są tylko następujące znaki : \"a-z\", \"A-Z\", \"0-9\" i \"_.@-'\"",
"A valid username must be provided" : "Należy podać prawidłową nazwę użytkownika",
"Username contains whitespace at the beginning or at the end" : "Nazwa użytkownika zawiera spację na początku albo na końcu",
"Username must not consist of dots only" : "Nazwa użytkownika nie może się składać tylko z kropek",
"Username is invalid because files already exist for this user" : "Nazwa użytkownika jest nieprawidłowa, ponieważ pliki już istnieją dla tego użytkownika",
- "A valid password must be provided" : "Należy podać prawidłowe hasło",
- "The username is already being used" : "Ta nazwa użytkownika jest już używana",
- "Could not create user" : "Nie można utworzyć użytkownika",
"User disabled" : "Użytkownik zablokowany",
"Login canceled by app" : "Logowanie anulowane przez aplikację",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Nie można zainstalować aplikacji \"%1$s\", ponieważ nie są spełnione następujące zależności: %2$s",
- "a safe home for all your data" : "bezpieczny dom dla wszystkich danych",
+ "a safe home for all your data" : "bezpieczny dom dla wszystkich Twoich danych",
"File is currently busy, please try again later" : "Plik jest obecnie niedostępny, spróbuj później",
"Cannot download file" : "Nie można pobrać pliku",
"Application is not enabled" : "Aplikacja nie jest włączona",
@@ -264,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "Podaj nazwę użytkownika dla %s.",
"%s enter the database name." : "Podaj nazwę bazy danych dla %s.",
"%s you may not use dots in the database name" : "Nie możesz używać kropek w nazwie bazy danych %s.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Wydaje się, że ta instancja %s używa PHP dla 32-bitowego środowiska, ponieważ open_basedir został tak skonfigurowany w php.ini. Doprowadzi to do problemów z plikami powyżej 4 GB i jest bardzo niezalecane.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Usuń ustawienie open_basedir w php.ini lub przełącz na PHP 64-bitowe.",
+ "The user limit has been reached and the user was not created." : "Osiągnięto limit użytkowników, dlatego użytkownik nie został utworzony.",
"Cannot read file" : "Nie można odczytać pliku",
"Cannot write into \"config\" directory" : "Nie można zapisać do katalogu \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Zwykle można to naprawić, nadając serwerowi WWW dostęp do zapisu do katalogu config. Zobacz %s",
@@ -281,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Twój katalog danych jest widoczny dla innych użytkowników",
"Your data directory must be an absolute path" : "Katalog danych musi mieć ścieżkę absolutną",
"Check the value of \"datadirectory\" in your configuration" : "Sprawdź wartość \"datadirectory\" w swojej konfiguracji",
- "Your data directory is invalid" : "Katalog danych jest nieprawidłowy"
+ "Your data directory is invalid" : "Katalog danych jest nieprawidłowy",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Osiągnięto limit użytkowników i użytkownik nie został utworzony. Sprawdź swoje powiadomienia, aby dowiedzieć się więcej."
},
"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/lib/l10n/pl.json b/lib/l10n/pl.json
index cfce61a7587..4c59cbb213f 100644
--- a/lib/l10n/pl.json
+++ b/lib/l10n/pl.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Pliki aplikacji %1$s nie zostały poprawnie zastąpione. Upewnij się, że jest to wersja zgodna z serwerem.",
"Sample configuration detected" : "Wykryto przykładową konfigurację",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Wykryto, że przykładowa konfiguracja została skopiowana. Może to spowodować przerwanie instalacji, która nie jest wspierana. Przeczytaj dokumentację przed dokonaniem zmian w pliku config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Nie znaleziono strony na serwerze.",
"%s email verification" : "Weryfikacja adresu e-mail %s",
"Email verification" : "Weryfikacja adresu e-mail",
"Click the following button to confirm your email." : "Kliknij poniższy przycisk, aby potwierdzić swój adres e-mail.",
@@ -97,6 +99,8 @@
"Users" : "Użytkownicy",
"Email" : "E-mail",
"Mail %s" : "Poczta %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Zobacz %s w Fediverse",
"Phone" : "Telefon",
"Call %s" : "Połącz %s",
"Twitter" : "Twitter",
@@ -123,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "Zła nazwa użytkownika i/lub hasło do bazy danych PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nie jest wspierany i %s nie będzie działać poprawnie na tej platformie. Używasz go na własne ryzyko!",
"For the best results, please consider using a GNU/Linux server instead." : "Aby uzyskać najlepszy efekt, rozważ użycie serwera GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Wydaje się, że ta instancja %s używa PHP dla 32-bitowego środowiska, ponieważ open_basedir został tak skonfigurowany w php.ini. Doprowadzi to do problemów z plikami powyżej 4 GB i jest bardzo niezalecane.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Usuń ustawienie open_basedir w php.ini lub przełącz na PHP 64-bitowe.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Wygląda na to, że ta instancja %s działa w 32-bitowym środowisku PHP. 64-bitowy jest wymagany dla 26 i wyższych.",
+ "Please switch to 64-bit PHP." : "Przejdź na 64-bitowy PHP.",
"Set an admin username." : "Ustaw nazwę administratora.",
"Set an admin password." : "Ustaw hasło administratora.",
"Cannot create or write into the data directory %s" : "Nie można tworzyć ani zapisywać w katalogu %s",
@@ -148,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s udostępnił Tobie »%2$s«.",
"Click the button below to open it." : "Kliknij przycisk poniżej, aby otworzyć.",
"The requested share does not exist anymore" : "Żądane udostępnienie już nie istnieje",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Użytkownik nie został utworzony, ponieważ osiągnięto limit użytkowników. Sprawdź swoje powiadomienia, aby dowiedzieć się więcej.",
"Could not find category \"%s\"" : "Nie można znaleźć kategorii \"%s\"",
"Sunday" : "Niedziela",
"Monday" : "Poniedziałek",
@@ -194,19 +199,18 @@
"Oct." : "Paź.",
"Nov." : "Lis.",
"Dec." : "Gru.",
- "The user limit has been reached and the user was not created." : "Osiągnięto limit użytkowników, dlatego użytkownik nie został utworzony.",
+ "A valid password must be provided" : "Należy podać prawidłowe hasło",
+ "The username is already being used" : "Ta nazwa użytkownika jest już używana",
+ "Could not create user" : "Nie można utworzyć użytkownika",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "W nazwie użytkownika dozwolone są tylko następujące znaki : \"a-z\", \"A-Z\", \"0-9\" i \"_.@-'\"",
"A valid username must be provided" : "Należy podać prawidłową nazwę użytkownika",
"Username contains whitespace at the beginning or at the end" : "Nazwa użytkownika zawiera spację na początku albo na końcu",
"Username must not consist of dots only" : "Nazwa użytkownika nie może się składać tylko z kropek",
"Username is invalid because files already exist for this user" : "Nazwa użytkownika jest nieprawidłowa, ponieważ pliki już istnieją dla tego użytkownika",
- "A valid password must be provided" : "Należy podać prawidłowe hasło",
- "The username is already being used" : "Ta nazwa użytkownika jest już używana",
- "Could not create user" : "Nie można utworzyć użytkownika",
"User disabled" : "Użytkownik zablokowany",
"Login canceled by app" : "Logowanie anulowane przez aplikację",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Nie można zainstalować aplikacji \"%1$s\", ponieważ nie są spełnione następujące zależności: %2$s",
- "a safe home for all your data" : "bezpieczny dom dla wszystkich danych",
+ "a safe home for all your data" : "bezpieczny dom dla wszystkich Twoich danych",
"File is currently busy, please try again later" : "Plik jest obecnie niedostępny, spróbuj później",
"Cannot download file" : "Nie można pobrać pliku",
"Application is not enabled" : "Aplikacja nie jest włączona",
@@ -262,6 +266,9 @@
"%s enter the database username." : "Podaj nazwę użytkownika dla %s.",
"%s enter the database name." : "Podaj nazwę bazy danych dla %s.",
"%s you may not use dots in the database name" : "Nie możesz używać kropek w nazwie bazy danych %s.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Wydaje się, że ta instancja %s używa PHP dla 32-bitowego środowiska, ponieważ open_basedir został tak skonfigurowany w php.ini. Doprowadzi to do problemów z plikami powyżej 4 GB i jest bardzo niezalecane.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Usuń ustawienie open_basedir w php.ini lub przełącz na PHP 64-bitowe.",
+ "The user limit has been reached and the user was not created." : "Osiągnięto limit użytkowników, dlatego użytkownik nie został utworzony.",
"Cannot read file" : "Nie można odczytać pliku",
"Cannot write into \"config\" directory" : "Nie można zapisać do katalogu \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Zwykle można to naprawić, nadając serwerowi WWW dostęp do zapisu do katalogu config. Zobacz %s",
@@ -279,6 +286,7 @@
"Your data directory is readable by other users" : "Twój katalog danych jest widoczny dla innych użytkowników",
"Your data directory must be an absolute path" : "Katalog danych musi mieć ścieżkę absolutną",
"Check the value of \"datadirectory\" in your configuration" : "Sprawdź wartość \"datadirectory\" w swojej konfiguracji",
- "Your data directory is invalid" : "Katalog danych jest nieprawidłowy"
+ "Your data directory is invalid" : "Katalog danych jest nieprawidłowy",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Osiągnięto limit użytkowników i użytkownik nie został utworzony. Sprawdź swoje powiadomienia, aby dowiedzieć się więcej."
},"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/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js
index 48a54db7b5c..036c3be9d5b 100644
--- a/lib/l10n/pt_BR.js
+++ b/lib/l10n/pt_BR.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Os arquivos do aplicativo %1$s não foram instalados corretamente. Certifique-se que é uma versão compatível com seu servidor.",
"Sample configuration detected" : "Configuração de exemplo detectada",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Foi detectado que a configuração de exemplo foi copiada. Isso pode terminar sua instalação e não é suportado. Por favor leia a documentação antes de realizar mudanças no config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "A página não pôde ser encontrada no servidor.",
"%s email verification" : "%s e-mail de verificação",
"Email verification" : "E-mail de verificação",
"Click the following button to confirm your email." : "Clique no botão a seguir para confirmar seu e-mail.",
@@ -93,6 +95,7 @@ OC.L10N.register(
"Appearance and accessibility" : "Aparência e acessibilidade",
"Apps" : "Aplicativos",
"Personal settings" : "Configurações pessoais",
+ "Administration settings" : "Configurações de administração",
"Settings" : "Configurações",
"Log out" : "Sair",
"Users" : "Usuários",
@@ -113,6 +116,10 @@ OC.L10N.register(
"Role" : "Função",
"Unknown user" : "Usuário desconhecido",
"Additional settings" : "Configurações adicionais",
+ "Enter the database username and name for %s" : "Digite o nome de usuário e o nome do banco de dados para %s",
+ "Enter the database username for %s" : "Digite o nome de usuário do banco de dados para %s",
+ "Enter the database name for %s" : "Digite o nome do banco de dados para %s",
+ "You cannot use dots in the database name %s" : "Você não pode usar pontos no nome do banco de dados %s",
"MySQL username and/or password not valid" : "Nome de usuário e/ou senha do MySQL inválidos",
"You need to enter details of an existing account." : "Você necessita entrar detalhes de uma conta existente.",
"Oracle connection could not be established" : "Conexão Oracle não pôde ser estabelecida",
@@ -120,8 +127,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Nome de usuário e/ou senha PostgreSQL inválidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X não é suportado e %s não funcionará corretamente nesta plataforma. Use-o por sua conta e risco!",
"For the best results, please consider using a GNU/Linux server instead." : "Para obter melhores resultados, por favor considere o uso de um servidor GNU/Linux em seu lugar.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Aparentemente a instância %s está rodando em um ambiente PHP de 32 bits e o open_basedir foi configurado no php.ini. Isto pode gerar problemas com arquivos maiores que 4GB e é altamente não recomendável.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, remova a configuração de open_basedir de seu php.ini ou mude o PHP para 64bit.",
"Set an admin username." : "Defina um nome do usuário administrador.",
"Set an admin password." : "Defina uma senha para o administrador.",
"Cannot create or write into the data directory %s" : "Não foi possível criar ou escrever no diretório de dados %s",
@@ -191,15 +196,14 @@ OC.L10N.register(
"Oct." : "Out.",
"Nov." : "Nov.",
"Dec." : "Dez.",
- "The user limit has been reached and the user was not created." : "O limite de usuários foi atingido e o usuário não foi criado.",
+ "A valid password must be provided" : "Uma senha válida deve ser fornecida",
+ "The username is already being used" : "Este nome de usuário já está em uso",
+ "Could not create user" : "Não foi possível criar o usuário",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Somente os seguintes caracteres são permitidos em um nome de usuário: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"",
"A valid username must be provided" : "Um nome de usuário válido deve ser fornecido",
"Username contains whitespace at the beginning or at the end" : "O nome de usuário contém espaço em branco no início ou no fim",
"Username must not consist of dots only" : "Nome do usuário não pode consistir de pontos somente",
"Username is invalid because files already exist for this user" : "O nome de usuário é inválido porque já exstem arquivos para este usuário",
- "A valid password must be provided" : "Uma senha válida deve ser fornecida",
- "The username is already being used" : "Este nome de usuário já está em uso",
- "Could not create user" : "Não foi possível criar o usuário",
"User disabled" : "Usuário desativado",
"Login canceled by app" : "Login cancelado pelo aplicativo",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "O aplicativo \"%1$s\" não pode ser instalado devido à estas dependências: %2$s",
@@ -259,6 +263,9 @@ OC.L10N.register(
"%s enter the database username." : "%s insira o nome de usuário do banco de dados.",
"%s enter the database name." : "%s insira o nome do banco de dados.",
"%s you may not use dots in the database name" : "%s você não pode usar pontos no nome do banco de dados",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Aparentemente a instância %s está rodando em um ambiente PHP de 32 bits e o open_basedir foi configurado no php.ini. Isto pode gerar problemas com arquivos maiores que 4GB e é altamente não recomendável.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, remova a configuração de open_basedir de seu php.ini ou mude o PHP para 64bit.",
+ "The user limit has been reached and the user was not created." : "O limite de usuários foi atingido e o usuário não foi criado.",
"Cannot read file" : "Não foi possível ler o arquivo",
"Cannot write into \"config\" directory" : "Não foi possível gravar no diretório \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escritura no diretório config. Veja %s",
@@ -276,6 +283,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "O diretório de dados está legível para outros usuários",
"Your data directory must be an absolute path" : "O diretório de dados deve ser um caminho absoluto",
"Check the value of \"datadirectory\" in your configuration" : "Verifique o valor do \"datadirectory\" na sua configuração",
- "Your data directory is invalid" : "Seu diretório de dados é inválido"
+ "Your data directory is invalid" : "Seu diretório de dados é inválido",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "O limite de usuários foi atingido e o usuário não foi criado. Verifique suas notificações para saber mais."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json
index 0970aefc874..3ae226fddef 100644
--- a/lib/l10n/pt_BR.json
+++ b/lib/l10n/pt_BR.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Os arquivos do aplicativo %1$s não foram instalados corretamente. Certifique-se que é uma versão compatível com seu servidor.",
"Sample configuration detected" : "Configuração de exemplo detectada",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Foi detectado que a configuração de exemplo foi copiada. Isso pode terminar sua instalação e não é suportado. Por favor leia a documentação antes de realizar mudanças no config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "A página não pôde ser encontrada no servidor.",
"%s email verification" : "%s e-mail de verificação",
"Email verification" : "E-mail de verificação",
"Click the following button to confirm your email." : "Clique no botão a seguir para confirmar seu e-mail.",
@@ -91,6 +93,7 @@
"Appearance and accessibility" : "Aparência e acessibilidade",
"Apps" : "Aplicativos",
"Personal settings" : "Configurações pessoais",
+ "Administration settings" : "Configurações de administração",
"Settings" : "Configurações",
"Log out" : "Sair",
"Users" : "Usuários",
@@ -111,6 +114,10 @@
"Role" : "Função",
"Unknown user" : "Usuário desconhecido",
"Additional settings" : "Configurações adicionais",
+ "Enter the database username and name for %s" : "Digite o nome de usuário e o nome do banco de dados para %s",
+ "Enter the database username for %s" : "Digite o nome de usuário do banco de dados para %s",
+ "Enter the database name for %s" : "Digite o nome do banco de dados para %s",
+ "You cannot use dots in the database name %s" : "Você não pode usar pontos no nome do banco de dados %s",
"MySQL username and/or password not valid" : "Nome de usuário e/ou senha do MySQL inválidos",
"You need to enter details of an existing account." : "Você necessita entrar detalhes de uma conta existente.",
"Oracle connection could not be established" : "Conexão Oracle não pôde ser estabelecida",
@@ -118,8 +125,6 @@
"PostgreSQL username and/or password not valid" : "Nome de usuário e/ou senha PostgreSQL inválidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X não é suportado e %s não funcionará corretamente nesta plataforma. Use-o por sua conta e risco!",
"For the best results, please consider using a GNU/Linux server instead." : "Para obter melhores resultados, por favor considere o uso de um servidor GNU/Linux em seu lugar.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Aparentemente a instância %s está rodando em um ambiente PHP de 32 bits e o open_basedir foi configurado no php.ini. Isto pode gerar problemas com arquivos maiores que 4GB e é altamente não recomendável.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, remova a configuração de open_basedir de seu php.ini ou mude o PHP para 64bit.",
"Set an admin username." : "Defina um nome do usuário administrador.",
"Set an admin password." : "Defina uma senha para o administrador.",
"Cannot create or write into the data directory %s" : "Não foi possível criar ou escrever no diretório de dados %s",
@@ -189,15 +194,14 @@
"Oct." : "Out.",
"Nov." : "Nov.",
"Dec." : "Dez.",
- "The user limit has been reached and the user was not created." : "O limite de usuários foi atingido e o usuário não foi criado.",
+ "A valid password must be provided" : "Uma senha válida deve ser fornecida",
+ "The username is already being used" : "Este nome de usuário já está em uso",
+ "Could not create user" : "Não foi possível criar o usuário",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Somente os seguintes caracteres são permitidos em um nome de usuário: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"",
"A valid username must be provided" : "Um nome de usuário válido deve ser fornecido",
"Username contains whitespace at the beginning or at the end" : "O nome de usuário contém espaço em branco no início ou no fim",
"Username must not consist of dots only" : "Nome do usuário não pode consistir de pontos somente",
"Username is invalid because files already exist for this user" : "O nome de usuário é inválido porque já exstem arquivos para este usuário",
- "A valid password must be provided" : "Uma senha válida deve ser fornecida",
- "The username is already being used" : "Este nome de usuário já está em uso",
- "Could not create user" : "Não foi possível criar o usuário",
"User disabled" : "Usuário desativado",
"Login canceled by app" : "Login cancelado pelo aplicativo",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "O aplicativo \"%1$s\" não pode ser instalado devido à estas dependências: %2$s",
@@ -257,6 +261,9 @@
"%s enter the database username." : "%s insira o nome de usuário do banco de dados.",
"%s enter the database name." : "%s insira o nome do banco de dados.",
"%s you may not use dots in the database name" : "%s você não pode usar pontos no nome do banco de dados",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Aparentemente a instância %s está rodando em um ambiente PHP de 32 bits e o open_basedir foi configurado no php.ini. Isto pode gerar problemas com arquivos maiores que 4GB e é altamente não recomendável.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, remova a configuração de open_basedir de seu php.ini ou mude o PHP para 64bit.",
+ "The user limit has been reached and the user was not created." : "O limite de usuários foi atingido e o usuário não foi criado.",
"Cannot read file" : "Não foi possível ler o arquivo",
"Cannot write into \"config\" directory" : "Não foi possível gravar no diretório \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escritura no diretório config. Veja %s",
@@ -274,6 +281,7 @@
"Your data directory is readable by other users" : "O diretório de dados está legível para outros usuários",
"Your data directory must be an absolute path" : "O diretório de dados deve ser um caminho absoluto",
"Check the value of \"datadirectory\" in your configuration" : "Verifique o valor do \"datadirectory\" na sua configuração",
- "Your data directory is invalid" : "Seu diretório de dados é inválido"
+ "Your data directory is invalid" : "Seu diretório de dados é inválido",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "O limite de usuários foi atingido e o usuário não foi criado. Verifique suas notificações para saber mais."
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/lib/l10n/pt_PT.js b/lib/l10n/pt_PT.js
index a50ec7a68a2..61680381312 100644
--- a/lib/l10n/pt_PT.js
+++ b/lib/l10n/pt_PT.js
@@ -97,8 +97,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Nome de utilizador/password do PostgreSQL inválidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Esta plataforma não suporta o sistema operativo Mac OS X e o %s poderá não funcionar correctamente. Utilize por sua conta e risco.",
"For the best results, please consider using a GNU/Linux server instead." : "Para um melhor resultado, utilize antes o servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parece que a instância %s está a ser executada num ambiente PHP de 32-bits e o open_basedir foi configurado no php.ini. Isto levará a problemas com ficheiros de tamanho superior a 4 GB e é altamente desencorajado.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, remova a definição open_basedir do seu php.ini ou altere o seu PHP para 64-bits.",
"Set an admin username." : "Definir um nome de utilizador de administrador",
"Set an admin password." : "Definia uma palavra-passe de administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Ao partilhar a interface %s deve implementar a interface OCP\\Share_Backend",
@@ -163,13 +161,13 @@ OC.L10N.register(
"Oct." : "Out.",
"Nov." : "Nov.",
"Dec." : "Dez.",
+ "A valid password must be provided" : "Deve ser fornecida uma palavra-passe válida",
+ "The username is already being used" : "O nome de utilizador já está a ser usado",
+ "Could not create user" : "Não foi possível criar o utilizador",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Apenas os seguintes caracteres são permitidos num nome de utilizador: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"",
"A valid username must be provided" : "Um nome de utilizador válido deve ser fornecido",
"Username contains whitespace at the beginning or at the end" : "Nome de utilizador contém espaço em branco no início ou no fim",
"Username must not consist of dots only" : "O utilizador não pode consistir de apenas pontos",
- "A valid password must be provided" : "Deve ser fornecida uma palavra-passe válida",
- "The username is already being used" : "O nome de utilizador já está a ser usado",
- "Could not create user" : "Não foi possível criar o utilizador",
"User disabled" : "Utilizador desativado",
"Login canceled by app" : "Sessão cancelada pela app",
"a safe home for all your data" : "Um lugar seguro para todos os seus dados",
@@ -206,6 +204,8 @@ OC.L10N.register(
"%s enter the database username." : "%s introduza o nome de utilizador da base de dados",
"%s enter the database name." : "%s introduza o nome da base de dados",
"%s you may not use dots in the database name" : "%s não é permitido utilizar pontos (.) no nome da base de dados",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parece que a instância %s está a ser executada num ambiente PHP de 32-bits e o open_basedir foi configurado no php.ini. Isto levará a problemas com ficheiros de tamanho superior a 4 GB e é altamente desencorajado.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, remova a definição open_basedir do seu php.ini ou altere o seu PHP para 64-bits.",
"Cannot read file" : "Não é possível ler o ficheiro",
"Cannot write into \"config\" directory" : "Não é possível escrever na directoria \"configurar\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Isto pode geralmente ser corrigido ao adicionar permissões de escrita à pasta de configuração ao servidor web. Ver %s.",
diff --git a/lib/l10n/pt_PT.json b/lib/l10n/pt_PT.json
index a498cc595d5..b3a6a713eeb 100644
--- a/lib/l10n/pt_PT.json
+++ b/lib/l10n/pt_PT.json
@@ -95,8 +95,6 @@
"PostgreSQL username and/or password not valid" : "Nome de utilizador/password do PostgreSQL inválidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Esta plataforma não suporta o sistema operativo Mac OS X e o %s poderá não funcionar correctamente. Utilize por sua conta e risco.",
"For the best results, please consider using a GNU/Linux server instead." : "Para um melhor resultado, utilize antes o servidor GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parece que a instância %s está a ser executada num ambiente PHP de 32-bits e o open_basedir foi configurado no php.ini. Isto levará a problemas com ficheiros de tamanho superior a 4 GB e é altamente desencorajado.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, remova a definição open_basedir do seu php.ini ou altere o seu PHP para 64-bits.",
"Set an admin username." : "Definir um nome de utilizador de administrador",
"Set an admin password." : "Definia uma palavra-passe de administrador.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Ao partilhar a interface %s deve implementar a interface OCP\\Share_Backend",
@@ -161,13 +159,13 @@
"Oct." : "Out.",
"Nov." : "Nov.",
"Dec." : "Dez.",
+ "A valid password must be provided" : "Deve ser fornecida uma palavra-passe válida",
+ "The username is already being used" : "O nome de utilizador já está a ser usado",
+ "Could not create user" : "Não foi possível criar o utilizador",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Apenas os seguintes caracteres são permitidos num nome de utilizador: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"",
"A valid username must be provided" : "Um nome de utilizador válido deve ser fornecido",
"Username contains whitespace at the beginning or at the end" : "Nome de utilizador contém espaço em branco no início ou no fim",
"Username must not consist of dots only" : "O utilizador não pode consistir de apenas pontos",
- "A valid password must be provided" : "Deve ser fornecida uma palavra-passe válida",
- "The username is already being used" : "O nome de utilizador já está a ser usado",
- "Could not create user" : "Não foi possível criar o utilizador",
"User disabled" : "Utilizador desativado",
"Login canceled by app" : "Sessão cancelada pela app",
"a safe home for all your data" : "Um lugar seguro para todos os seus dados",
@@ -204,6 +202,8 @@
"%s enter the database username." : "%s introduza o nome de utilizador da base de dados",
"%s enter the database name." : "%s introduza o nome da base de dados",
"%s you may not use dots in the database name" : "%s não é permitido utilizar pontos (.) no nome da base de dados",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parece que a instância %s está a ser executada num ambiente PHP de 32-bits e o open_basedir foi configurado no php.ini. Isto levará a problemas com ficheiros de tamanho superior a 4 GB e é altamente desencorajado.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, remova a definição open_basedir do seu php.ini ou altere o seu PHP para 64-bits.",
"Cannot read file" : "Não é possível ler o ficheiro",
"Cannot write into \"config\" directory" : "Não é possível escrever na directoria \"configurar\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Isto pode geralmente ser corrigido ao adicionar permissões de escrita à pasta de configuração ao servidor web. Ver %s.",
diff --git a/lib/l10n/ro.js b/lib/l10n/ro.js
index 41ab35e1bef..89011cfd05b 100644
--- a/lib/l10n/ro.js
+++ b/lib/l10n/ro.js
@@ -115,13 +115,13 @@ OC.L10N.register(
"Oct." : "Oct.",
"Nov." : "Noi.",
"Dec." : "Dec.",
+ "A valid password must be provided" : "Trebuie să furnizaţi o parolă validă",
+ "The username is already being used" : "Numele de utilizator este deja folosit",
+ "Could not create user" : "Nu s-a putut crea utilizatorul",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Numai următoarele caractere sunt permise în numele utilizatorului: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Trebuie să furnizaţi un nume de utilizator valid",
"Username contains whitespace at the beginning or at the end" : "Utilizatorul contine spațiu liber la început sau la sfârșit",
"Username must not consist of dots only" : "Numele utilizatorului nu poate conține numai puncte",
- "A valid password must be provided" : "Trebuie să furnizaţi o parolă validă",
- "The username is already being used" : "Numele de utilizator este deja folosit",
- "Could not create user" : "Nu s-a putut crea utilizatorul",
"User disabled" : "Utilizator dezactivat",
"Application is not enabled" : "Aplicația nu este activată",
"Authentication error" : "Eroare la autentificare",
diff --git a/lib/l10n/ro.json b/lib/l10n/ro.json
index fe581daf19b..22d395f5d18 100644
--- a/lib/l10n/ro.json
+++ b/lib/l10n/ro.json
@@ -113,13 +113,13 @@
"Oct." : "Oct.",
"Nov." : "Noi.",
"Dec." : "Dec.",
+ "A valid password must be provided" : "Trebuie să furnizaţi o parolă validă",
+ "The username is already being used" : "Numele de utilizator este deja folosit",
+ "Could not create user" : "Nu s-a putut crea utilizatorul",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Numai următoarele caractere sunt permise în numele utilizatorului: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Trebuie să furnizaţi un nume de utilizator valid",
"Username contains whitespace at the beginning or at the end" : "Utilizatorul contine spațiu liber la început sau la sfârșit",
"Username must not consist of dots only" : "Numele utilizatorului nu poate conține numai puncte",
- "A valid password must be provided" : "Trebuie să furnizaţi o parolă validă",
- "The username is already being used" : "Numele de utilizator este deja folosit",
- "Could not create user" : "Nu s-a putut crea utilizatorul",
"User disabled" : "Utilizator dezactivat",
"Application is not enabled" : "Aplicația nu este activată",
"Authentication error" : "Eroare la autentificare",
diff --git a/lib/l10n/ru.js b/lib/l10n/ru.js
index 1c779269f37..76693d33589 100644
--- a/lib/l10n/ru.js
+++ b/lib/l10n/ru.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Файлы приложения %1$s не были заменены корректно. Удостоверьтесь, что устанавливаемая версия этого приложения совместима с версией сервера.",
"Sample configuration detected" : "Обнаружена конфигурация из примера.",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Была обнаружена конфигурация из примера. Такая конфигурация не поддерживается и может повредить вашей системе. Прочтите документацию перед внесением изменений в файл config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Страница не найдена на сервере.",
"%s email verification" : "Проверка почтового адреса %s",
"Email verification" : "Подтверждение адреса электронной почты",
"Click the following button to confirm your email." : "Нажмите на кнопку чтобы подтвердить свой адрес электронной почты.",
@@ -92,6 +94,8 @@ OC.L10N.register(
"Help" : "Помощь",
"Appearance and accessibility" : "Внешний вид и доступность",
"Apps" : "Приложения",
+ "Personal settings" : "Параметры пользователя",
+ "Administration settings" : "Параметры сервера",
"Settings" : "Настройки",
"Log out" : "Выйти",
"Users" : "Пользователи",
@@ -112,6 +116,10 @@ OC.L10N.register(
"Role" : "Роль",
"Unknown user" : "Неизвестный пользователь",
"Additional settings" : "Дополнительные настройки",
+ "Enter the database username and name for %s" : "Укажите имя пользователя и название базы данных %s",
+ "Enter the database username for %s" : "Укажите имя пользователя базы данных %s",
+ "Enter the database name for %s" : "Укажите название базы данных %s",
+ "You cannot use dots in the database name %s" : "Имя базы данных %s не может содержать символ точки",
"MySQL username and/or password not valid" : "Неверное имя пользователя и/или пароль для подключения к MySQL",
"You need to enter details of an existing account." : "Необходимо уточнить данные существующего акаунта.",
"Oracle connection could not be established" : "Соединение с Oracle не может быть установлено",
@@ -119,8 +127,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Неверное имя пользователя и/или пароль PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не поддерживается и %s может работать некорректно на данной платформе. Используйте на свой страх и риск!",
"For the best results, please consider using a GNU/Linux server instead." : "Для достижения наилучших результатов, рассмотрите вариант использования сервера на GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Кажется что экземпляр этого %s работает в 32-битной среде PHP и в php.ini был настроен open_basedir. Это приведёт к проблемам с файлами более 4 ГБ и настоятельно не рекомендуется.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Удалите директиву open_basedir из файла php.ini или смените PHP на 64-разрядную сборку.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Вероятно, этот экземпляр использует 32-битную сборку PHP. Начиная с %s версии 26 требуется 64-битная сборка PHP.",
+ "Please switch to 64-bit PHP." : "Необходимо использовать 64-битную сборку PHP.",
"Set an admin username." : "Задать имя пользователя для администратора.",
"Set an admin password." : "Задать пароль для admin.",
"Cannot create or write into the data directory %s" : "Не удалось создать или записать в каталог данных «%s»",
@@ -144,6 +152,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s предоставил(а) вам доступ к «%2$s».",
"Click the button below to open it." : "Нажмите расположенную ниже кнопку для перехода к полученному общему ресурсу.",
"The requested share does not exist anymore" : "Запрошенный общий ресурс более не существует.",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Пользователь не был создан, достигнуто ограничение количества пользователей. Для получения дополнительных сведений проверьте уведомления.",
"Could not find category \"%s\"" : "Категория «%s» не найдена",
"Sunday" : "Воскресенье",
"Monday" : "Понедельник",
@@ -190,20 +199,20 @@ OC.L10N.register(
"Oct." : "Окт.",
"Nov." : "Нояб.",
"Dec." : "Дек.",
- "The user limit has been reached and the user was not created." : "Пользователь не был создан, достигнуто ограничение количества пользователей.",
+ "A valid password must be provided" : "Укажите допустимый пароль",
+ "The username is already being used" : "Имя пользователя уже используется",
+ "Could not create user" : "Не удалось создать пользователя",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: «a–z», «A–Z», «0–9» и «_.@-'»",
"A valid username must be provided" : "Укажите допустимое имя пользователя",
"Username contains whitespace at the beginning or at the end" : "Имя пользователя содержит пробел в начале или в конце",
"Username must not consist of dots only" : "Имя пользователя должно состоять не только из точек",
"Username is invalid because files already exist for this user" : "Это имя не может быть использовано, файлы этого пользователя уже существуют",
- "A valid password must be provided" : "Укажите допустимый пароль",
- "The username is already being used" : "Имя пользователя уже используется",
- "Could not create user" : "Не удалось создать пользователя",
"User disabled" : "Пользователь отключен",
"Login canceled by app" : "Вход отменен приложением",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Приложение «%1$s» не может быть установлено, так как не удовлетворены следующие зависимости: %2$s",
"a safe home for all your data" : "надёжный дом для всех ваших данных",
"File is currently busy, please try again later" : "Файл в данный момент используется, повторите попытку позже.",
+ "Cannot download file" : "Не удалось скачать файл",
"Application is not enabled" : "Приложение не разрешено",
"Authentication error" : "Ошибка аутентификации",
"Token expired. Please reload page." : "Токен просрочен. Перезагрузите страницу.",
@@ -257,6 +266,9 @@ OC.L10N.register(
"%s enter the database username." : "%s введите имя пользователя базы данных.",
"%s enter the database name." : "%s введите имя базы данных.",
"%s you may not use dots in the database name" : "%s Вы не можете использовать точки в имени базы данных",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Кажется что экземпляр этого %s работает в 32-битной среде PHP и в php.ini был настроен open_basedir. Это приведёт к проблемам с файлами более 4 ГБ и настоятельно не рекомендуется.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Удалите директиву open_basedir из файла php.ini или смените PHP на 64-разрядную сборку.",
+ "The user limit has been reached and the user was not created." : "Пользователь не был создан, достигнуто ограничение количества пользователей.",
"Cannot read file" : "Не удается прочитать файл",
"Cannot write into \"config\" directory" : "Запись в каталог «config» невозможна",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог конфигурации. Изучите %s.",
@@ -274,6 +286,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Каталог данных доступен для чтения другим пользователям",
"Your data directory must be an absolute path" : "Каталог данных должен быть указан в виде абсолютного пути",
"Check the value of \"datadirectory\" in your configuration" : "Проверьте в значение параметра «datadirectory» в файле конфигурации.",
- "Your data directory is invalid" : "Каталог данных не верен"
+ "Your data directory is invalid" : "Каталог данных не верен",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Пользователь не был создан, достигнуто ограничение количества пользователей. Для получения дополнительных сведений проверьте уведомления."
},
"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/lib/l10n/ru.json b/lib/l10n/ru.json
index cbdba4e76f5..03defea7d3b 100644
--- a/lib/l10n/ru.json
+++ b/lib/l10n/ru.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Файлы приложения %1$s не были заменены корректно. Удостоверьтесь, что устанавливаемая версия этого приложения совместима с версией сервера.",
"Sample configuration detected" : "Обнаружена конфигурация из примера.",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Была обнаружена конфигурация из примера. Такая конфигурация не поддерживается и может повредить вашей системе. Прочтите документацию перед внесением изменений в файл config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Страница не найдена на сервере.",
"%s email verification" : "Проверка почтового адреса %s",
"Email verification" : "Подтверждение адреса электронной почты",
"Click the following button to confirm your email." : "Нажмите на кнопку чтобы подтвердить свой адрес электронной почты.",
@@ -90,6 +92,8 @@
"Help" : "Помощь",
"Appearance and accessibility" : "Внешний вид и доступность",
"Apps" : "Приложения",
+ "Personal settings" : "Параметры пользователя",
+ "Administration settings" : "Параметры сервера",
"Settings" : "Настройки",
"Log out" : "Выйти",
"Users" : "Пользователи",
@@ -110,6 +114,10 @@
"Role" : "Роль",
"Unknown user" : "Неизвестный пользователь",
"Additional settings" : "Дополнительные настройки",
+ "Enter the database username and name for %s" : "Укажите имя пользователя и название базы данных %s",
+ "Enter the database username for %s" : "Укажите имя пользователя базы данных %s",
+ "Enter the database name for %s" : "Укажите название базы данных %s",
+ "You cannot use dots in the database name %s" : "Имя базы данных %s не может содержать символ точки",
"MySQL username and/or password not valid" : "Неверное имя пользователя и/или пароль для подключения к MySQL",
"You need to enter details of an existing account." : "Необходимо уточнить данные существующего акаунта.",
"Oracle connection could not be established" : "Соединение с Oracle не может быть установлено",
@@ -117,8 +125,8 @@
"PostgreSQL username and/or password not valid" : "Неверное имя пользователя и/или пароль PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не поддерживается и %s может работать некорректно на данной платформе. Используйте на свой страх и риск!",
"For the best results, please consider using a GNU/Linux server instead." : "Для достижения наилучших результатов, рассмотрите вариант использования сервера на GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Кажется что экземпляр этого %s работает в 32-битной среде PHP и в php.ini был настроен open_basedir. Это приведёт к проблемам с файлами более 4 ГБ и настоятельно не рекомендуется.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Удалите директиву open_basedir из файла php.ini или смените PHP на 64-разрядную сборку.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Вероятно, этот экземпляр использует 32-битную сборку PHP. Начиная с %s версии 26 требуется 64-битная сборка PHP.",
+ "Please switch to 64-bit PHP." : "Необходимо использовать 64-битную сборку PHP.",
"Set an admin username." : "Задать имя пользователя для администратора.",
"Set an admin password." : "Задать пароль для admin.",
"Cannot create or write into the data directory %s" : "Не удалось создать или записать в каталог данных «%s»",
@@ -142,6 +150,7 @@
"%1$s shared »%2$s« with you." : "%1$s предоставил(а) вам доступ к «%2$s».",
"Click the button below to open it." : "Нажмите расположенную ниже кнопку для перехода к полученному общему ресурсу.",
"The requested share does not exist anymore" : "Запрошенный общий ресурс более не существует.",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Пользователь не был создан, достигнуто ограничение количества пользователей. Для получения дополнительных сведений проверьте уведомления.",
"Could not find category \"%s\"" : "Категория «%s» не найдена",
"Sunday" : "Воскресенье",
"Monday" : "Понедельник",
@@ -188,20 +197,20 @@
"Oct." : "Окт.",
"Nov." : "Нояб.",
"Dec." : "Дек.",
- "The user limit has been reached and the user was not created." : "Пользователь не был создан, достигнуто ограничение количества пользователей.",
+ "A valid password must be provided" : "Укажите допустимый пароль",
+ "The username is already being used" : "Имя пользователя уже используется",
+ "Could not create user" : "Не удалось создать пользователя",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: «a–z», «A–Z», «0–9» и «_.@-'»",
"A valid username must be provided" : "Укажите допустимое имя пользователя",
"Username contains whitespace at the beginning or at the end" : "Имя пользователя содержит пробел в начале или в конце",
"Username must not consist of dots only" : "Имя пользователя должно состоять не только из точек",
"Username is invalid because files already exist for this user" : "Это имя не может быть использовано, файлы этого пользователя уже существуют",
- "A valid password must be provided" : "Укажите допустимый пароль",
- "The username is already being used" : "Имя пользователя уже используется",
- "Could not create user" : "Не удалось создать пользователя",
"User disabled" : "Пользователь отключен",
"Login canceled by app" : "Вход отменен приложением",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Приложение «%1$s» не может быть установлено, так как не удовлетворены следующие зависимости: %2$s",
"a safe home for all your data" : "надёжный дом для всех ваших данных",
"File is currently busy, please try again later" : "Файл в данный момент используется, повторите попытку позже.",
+ "Cannot download file" : "Не удалось скачать файл",
"Application is not enabled" : "Приложение не разрешено",
"Authentication error" : "Ошибка аутентификации",
"Token expired. Please reload page." : "Токен просрочен. Перезагрузите страницу.",
@@ -255,6 +264,9 @@
"%s enter the database username." : "%s введите имя пользователя базы данных.",
"%s enter the database name." : "%s введите имя базы данных.",
"%s you may not use dots in the database name" : "%s Вы не можете использовать точки в имени базы данных",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Кажется что экземпляр этого %s работает в 32-битной среде PHP и в php.ini был настроен open_basedir. Это приведёт к проблемам с файлами более 4 ГБ и настоятельно не рекомендуется.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Удалите директиву open_basedir из файла php.ini или смените PHP на 64-разрядную сборку.",
+ "The user limit has been reached and the user was not created." : "Пользователь не был создан, достигнуто ограничение количества пользователей.",
"Cannot read file" : "Не удается прочитать файл",
"Cannot write into \"config\" directory" : "Запись в каталог «config» невозможна",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог конфигурации. Изучите %s.",
@@ -272,6 +284,7 @@
"Your data directory is readable by other users" : "Каталог данных доступен для чтения другим пользователям",
"Your data directory must be an absolute path" : "Каталог данных должен быть указан в виде абсолютного пути",
"Check the value of \"datadirectory\" in your configuration" : "Проверьте в значение параметра «datadirectory» в файле конфигурации.",
- "Your data directory is invalid" : "Каталог данных не верен"
+ "Your data directory is invalid" : "Каталог данных не верен",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Пользователь не был создан, достигнуто ограничение количества пользователей. Для получения дополнительных сведений проверьте уведомления."
},"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/lib/l10n/sc.js b/lib/l10n/sc.js
index 28b443530dd..73084cc236f 100644
--- a/lib/l10n/sc.js
+++ b/lib/l10n/sc.js
@@ -105,8 +105,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Su nùmene utente e/o sa crae de Postgre SQL no sunt bàlidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X no est suportadu e %s no at a funtzionare in manera curreta in custa prataforma. Imprea•ddu a arriscu tuo!",
"For the best results, please consider using a GNU/Linux server instead." : "Pro su mellus resurtadu, cunsidera in càmbiu de impreare unu serbidore GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parit ca custa istàntzia %s est traballende in un'ambiente PHP a 32-bit e sa open_basedir est istada cunfigurada in php.ini. Custu at a causare problemas cun archìvios de prus de 4 GB e est iscussigiadu a forte.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Boga•nche s'impostatzione open_basedir in su php.ini tuo o càmbia a su PHP a 64-bit.",
"Set an admin username." : "Imposta unu nùmene utente pro chie amministrat.",
"Set an admin password." : "Imposta una crae pro chie amministrat.",
"Cannot create or write into the data directory %s" : "No faghet a creare o a iscriere a intro de sa cartella de datos %s",
@@ -176,15 +174,14 @@ OC.L10N.register(
"Oct." : "Lad./SGa.",
"Nov." : "SAnd.",
"Dec." : "Nad.",
- "The user limit has been reached and the user was not created." : "Su lìmite de utentes est istadu sighidu e s'utèntzia no est istada creada.",
+ "A valid password must be provided" : "Depes frunire una crae bàlida",
+ "The username is already being used" : "Su nùmene utente est giai impreadu",
+ "Could not create user" : "No at fatu a creare s'utente",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Isceti custos caràteres sunt permìtidos in unu nùmene utente: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Depes frunire unu nùmene utente bàlidu",
"Username contains whitespace at the beginning or at the end" : "Su nùmene utente cuntenet ispàtzios bòidos a su cumintzu o a sa fine",
"Username must not consist of dots only" : "Su nùmene utente no depet tènnere isceti puntos",
"Username is invalid because files already exist for this user" : "Su nùmene utente no est bàlidu, ca is archìvios bi sunt giai pro cust'utèntzia",
- "A valid password must be provided" : "Depes frunire una crae bàlida",
- "The username is already being used" : "Su nùmene utente est giai impreadu",
- "Could not create user" : "No at fatu a creare s'utente",
"User disabled" : "Utèntzia disativada",
"Login canceled by app" : "Atzessu annulladu dae s'aplicatzione",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Non faghet a installare s'aplicatzione %1$s ca is dipendèntzias in fatu non sunt satisfatos:%2$s",
@@ -223,6 +220,9 @@ OC.L10N.register(
"%s enter the database username." : "%s inserta•nche su nùmene utente de sa base de datos.",
"%s enter the database name." : "%s inserta•nche su nùmene de sa base de datos.",
"%s you may not use dots in the database name" : "%s no depes impreare puntos in su nùmene de sa base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parit ca custa istàntzia %s est traballende in un'ambiente PHP a 32-bit e sa open_basedir est istada cunfigurada in php.ini. Custu at a causare problemas cun archìvios de prus de 4 GB e est iscussigiadu a forte.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Boga•nche s'impostatzione open_basedir in su php.ini tuo o càmbia a su PHP a 64-bit.",
+ "The user limit has been reached and the user was not created." : "Su lìmite de utentes est istadu sighidu e s'utèntzia no est istada creada.",
"Cannot read file" : "Impossìbile a lèghere s'archìviu",
"Cannot write into \"config\" directory" : "No faghet a iscriere in sa cartella \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Custu in generale si podet assentare dende a su serbidore atzessu a s'iscritura in sa cartella config. Càstia %s",
diff --git a/lib/l10n/sc.json b/lib/l10n/sc.json
index 86eb9056002..c772518583f 100644
--- a/lib/l10n/sc.json
+++ b/lib/l10n/sc.json
@@ -103,8 +103,6 @@
"PostgreSQL username and/or password not valid" : "Su nùmene utente e/o sa crae de Postgre SQL no sunt bàlidos",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X no est suportadu e %s no at a funtzionare in manera curreta in custa prataforma. Imprea•ddu a arriscu tuo!",
"For the best results, please consider using a GNU/Linux server instead." : "Pro su mellus resurtadu, cunsidera in càmbiu de impreare unu serbidore GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parit ca custa istàntzia %s est traballende in un'ambiente PHP a 32-bit e sa open_basedir est istada cunfigurada in php.ini. Custu at a causare problemas cun archìvios de prus de 4 GB e est iscussigiadu a forte.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Boga•nche s'impostatzione open_basedir in su php.ini tuo o càmbia a su PHP a 64-bit.",
"Set an admin username." : "Imposta unu nùmene utente pro chie amministrat.",
"Set an admin password." : "Imposta una crae pro chie amministrat.",
"Cannot create or write into the data directory %s" : "No faghet a creare o a iscriere a intro de sa cartella de datos %s",
@@ -174,15 +172,14 @@
"Oct." : "Lad./SGa.",
"Nov." : "SAnd.",
"Dec." : "Nad.",
- "The user limit has been reached and the user was not created." : "Su lìmite de utentes est istadu sighidu e s'utèntzia no est istada creada.",
+ "A valid password must be provided" : "Depes frunire una crae bàlida",
+ "The username is already being used" : "Su nùmene utente est giai impreadu",
+ "Could not create user" : "No at fatu a creare s'utente",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Isceti custos caràteres sunt permìtidos in unu nùmene utente: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Depes frunire unu nùmene utente bàlidu",
"Username contains whitespace at the beginning or at the end" : "Su nùmene utente cuntenet ispàtzios bòidos a su cumintzu o a sa fine",
"Username must not consist of dots only" : "Su nùmene utente no depet tènnere isceti puntos",
"Username is invalid because files already exist for this user" : "Su nùmene utente no est bàlidu, ca is archìvios bi sunt giai pro cust'utèntzia",
- "A valid password must be provided" : "Depes frunire una crae bàlida",
- "The username is already being used" : "Su nùmene utente est giai impreadu",
- "Could not create user" : "No at fatu a creare s'utente",
"User disabled" : "Utèntzia disativada",
"Login canceled by app" : "Atzessu annulladu dae s'aplicatzione",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Non faghet a installare s'aplicatzione %1$s ca is dipendèntzias in fatu non sunt satisfatos:%2$s",
@@ -221,6 +218,9 @@
"%s enter the database username." : "%s inserta•nche su nùmene utente de sa base de datos.",
"%s enter the database name." : "%s inserta•nche su nùmene de sa base de datos.",
"%s you may not use dots in the database name" : "%s no depes impreare puntos in su nùmene de sa base de datos",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Parit ca custa istàntzia %s est traballende in un'ambiente PHP a 32-bit e sa open_basedir est istada cunfigurada in php.ini. Custu at a causare problemas cun archìvios de prus de 4 GB e est iscussigiadu a forte.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Boga•nche s'impostatzione open_basedir in su php.ini tuo o càmbia a su PHP a 64-bit.",
+ "The user limit has been reached and the user was not created." : "Su lìmite de utentes est istadu sighidu e s'utèntzia no est istada creada.",
"Cannot read file" : "Impossìbile a lèghere s'archìviu",
"Cannot write into \"config\" directory" : "No faghet a iscriere in sa cartella \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Custu in generale si podet assentare dende a su serbidore atzessu a s'iscritura in sa cartella config. Càstia %s",
diff --git a/lib/l10n/sk.js b/lib/l10n/sk.js
index dd7491a93cf..3814cdf93b0 100644
--- a/lib/l10n/sk.js
+++ b/lib/l10n/sk.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Súbory aplikácie %1$s neboli správne nahradené. Uistite sa, že to je verzia kompatibilná so serverom.",
"Sample configuration detected" : "Detekovaná bola vzorová konfigurácia",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Zistilo sa, že konfigurácia bola skopírovaná zo vzorových súborov. Takáto konfigurácia nie je podporovaná a môže poškodiť vašu inštaláciu. Prečítajte si dokumentáciu pred vykonaním zmien v config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Stránka nebola nájdená na serveri.",
"%s email verification" : "%s overenie e-mailu",
"Email verification" : "Overenie e-mailu",
"Click the following button to confirm your email." : "Kliknite na tlačítko pre potvrdenie vašeho e-mailu.",
@@ -92,11 +94,15 @@ OC.L10N.register(
"Help" : "Pomoc",
"Appearance and accessibility" : "Vzhľad a správanie",
"Apps" : "Aplikácie",
+ "Personal settings" : "Osobné nastavenia",
+ "Administration settings" : "Nastavenia administrácie",
"Settings" : "Nastavenia",
"Log out" : "Odhlásiť sa",
"Users" : "Používatelia",
"Email" : "E-mail",
"Mail %s" : "Pošta pre %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Zobraziť %s na fediverse",
"Phone" : "Telefón",
"Call %s" : "Zavolať %s",
"Twitter" : "Twitter",
@@ -112,6 +118,10 @@ OC.L10N.register(
"Role" : "Rola",
"Unknown user" : "Neznámy používateľ",
"Additional settings" : "Ďalšie nastavenia",
+ "Enter the database username and name for %s" : "Zadajte užívateľské meno a názov databázy pre %s",
+ "Enter the database username for %s" : "Zadajte užívateľské meno databázy pre %s",
+ "Enter the database name for %s" : "Zadajte názov databázy pre %s",
+ "You cannot use dots in the database name %s" : "V názve databázy %s nemôžete používať bodky",
"MySQL username and/or password not valid" : "Neplatné užívateľské meno a/alebo heslo do MySQL",
"You need to enter details of an existing account." : "Musíte zadať údaje existujúceho účtu.",
"Oracle connection could not be established" : "Nie je možné pripojiť sa k Oracle",
@@ -119,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Používateľské meno a/alebo heslo pre PostgreSQL databázu je neplatné",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nie je podporovaný a %s nebude správne fungovať na tejto platforme. Použite ho na vlastné riziko!",
"For the best results, please consider using a GNU/Linux server instead." : "Pre dosiahnutie najlepších výsledkov, prosím zvážte použitie GNU/Linux servera.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Zdá sa, že táto inštancia %s beží v 32-bitovom prostredí PHP a v php.ini bola nastavená voľba open_basedir. To bude zdrojom problémov so súbormi väčšími ako 4GB a dôrazne sa neodporúča.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Prosím, odstráňte nastavenie open_basedir vo vašom php.ini alebo prejdite na 64-bit PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Zdá sa, že inštancia %s beží v 32-bitovom prostredí PHP. Pre vezie 26 a vyššie sa vyžaduje 64-bit.",
+ "Please switch to 64-bit PHP." : "Prosím prepnite na 64-bit PHP.",
"Set an admin username." : "Zadajte používateľské meno administrátora.",
"Set an admin password." : "Zadajte heslo administrátora.",
"Cannot create or write into the data directory %s" : "Nemožno vytvoriť alebo zapisovať do priečinka dát %s",
@@ -144,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s vám sprístupnil »%2$s«.",
"Click the button below to open it." : "Pre otvorenie klienta kliknite na tlačítko nižšie.",
"The requested share does not exist anymore" : "Požadované sprístupnenie už neexistuje",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Bol dosiahnutý limit používateľov a používateľ nebol vytvorený. Pozrite sa do upozornení pre viac informácií.",
"Could not find category \"%s\"" : "Nemožno nájsť danú kategóriu \"%s\"",
"Sunday" : "Nedeľa",
"Monday" : "Pondelok",
@@ -190,20 +201,20 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "The user limit has been reached and the user was not created." : "Bol dosiahnutý limit používateľov a používateľ nebol vytvorený.",
+ "A valid password must be provided" : "Musíte zadať platné heslo",
+ "The username is already being used" : "Meno používateľa je už použité",
+ "Could not create user" : "Nepodarilo sa vytvoriť používateľa",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "V mene používateľa je možné použiť iba nasledovné znaky: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Musíte zadať platné používateľské meno",
"Username contains whitespace at the beginning or at the end" : "Meno používateľa obsahuje na začiatku, alebo na konci medzeru",
"Username must not consist of dots only" : "Používateľské meno sa nesmie skladať len z bodiek",
"Username is invalid because files already exist for this user" : "Používateľské meno je neplatné, pretože pre tohto používateľa už existujú súbory",
- "A valid password must be provided" : "Musíte zadať platné heslo",
- "The username is already being used" : "Meno používateľa je už použité",
- "Could not create user" : "Nepodarilo sa vytvoriť používateľa",
"User disabled" : "Používateľ zakázaný",
"Login canceled by app" : "Prihlásenie bolo zrušené aplikáciou",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikáciu \"%1$s\" nie je možné inštalovať, pretože nie sú splnené nasledovné závislosti: %2$s",
"a safe home for all your data" : "bezpečný domov pre všetky vaše dáta",
"File is currently busy, please try again later" : "Súbor sa práve používa, skúste prosím neskôr",
+ "Cannot download file" : "Nemožno stiahnuť súbor",
"Application is not enabled" : "Aplikácia nie je zapnutá",
"Authentication error" : "Chyba autentifikácie",
"Token expired. Please reload page." : "Token vypršal. Obnovte, prosím, stránku.",
@@ -257,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "Zadajte používateľské meno %s databázy.",
"%s enter the database name." : "Zadajte názov databázy pre %s databázy.",
"%s you may not use dots in the database name" : "V názve databázy %s nemôžete používať bodky",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Zdá sa, že táto inštancia %s beží v 32-bitovom prostredí PHP a v php.ini bola nastavená voľba open_basedir. To bude zdrojom problémov so súbormi väčšími ako 4GB a dôrazne sa neodporúča.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Prosím, odstráňte nastavenie open_basedir vo vašom php.ini alebo prejdite na 64-bit PHP.",
+ "The user limit has been reached and the user was not created." : "Bol dosiahnutý limit používateľov a používateľ nebol vytvorený.",
"Cannot read file" : "Nemožno čítať súbor.",
"Cannot write into \"config\" directory" : "Nie je možné zapisovať do priečinka \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "To je zvyčajne možné opraviť tým, že udelíte webovému serveru oprávnenie na zápis do adresára s konfiguráciou. Viď %s",
@@ -274,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Váš priečinok s dátami je prístupný na čítanie ostatným používateľom",
"Your data directory must be an absolute path" : "Priečinok s dátami musí byť zadaný ako absolútna cesta",
"Check the value of \"datadirectory\" in your configuration" : "Skontrolujte hodnotu \"datadirectory\" vo vašej konfigurácii",
- "Your data directory is invalid" : "Priečinok s dátami je neplatný"
+ "Your data directory is invalid" : "Priečinok s dátami je neplatný",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Bol dosiahnutý limit používateľov a používateľ nebol vytvorený. Pozrite sa do upozornení pre viac informácií."
},
"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/lib/l10n/sk.json b/lib/l10n/sk.json
index 9338813cec9..1ff0708a79f 100644
--- a/lib/l10n/sk.json
+++ b/lib/l10n/sk.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Súbory aplikácie %1$s neboli správne nahradené. Uistite sa, že to je verzia kompatibilná so serverom.",
"Sample configuration detected" : "Detekovaná bola vzorová konfigurácia",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Zistilo sa, že konfigurácia bola skopírovaná zo vzorových súborov. Takáto konfigurácia nie je podporovaná a môže poškodiť vašu inštaláciu. Prečítajte si dokumentáciu pred vykonaním zmien v config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Stránka nebola nájdená na serveri.",
"%s email verification" : "%s overenie e-mailu",
"Email verification" : "Overenie e-mailu",
"Click the following button to confirm your email." : "Kliknite na tlačítko pre potvrdenie vašeho e-mailu.",
@@ -90,11 +92,15 @@
"Help" : "Pomoc",
"Appearance and accessibility" : "Vzhľad a správanie",
"Apps" : "Aplikácie",
+ "Personal settings" : "Osobné nastavenia",
+ "Administration settings" : "Nastavenia administrácie",
"Settings" : "Nastavenia",
"Log out" : "Odhlásiť sa",
"Users" : "Používatelia",
"Email" : "E-mail",
"Mail %s" : "Pošta pre %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Zobraziť %s na fediverse",
"Phone" : "Telefón",
"Call %s" : "Zavolať %s",
"Twitter" : "Twitter",
@@ -110,6 +116,10 @@
"Role" : "Rola",
"Unknown user" : "Neznámy používateľ",
"Additional settings" : "Ďalšie nastavenia",
+ "Enter the database username and name for %s" : "Zadajte užívateľské meno a názov databázy pre %s",
+ "Enter the database username for %s" : "Zadajte užívateľské meno databázy pre %s",
+ "Enter the database name for %s" : "Zadajte názov databázy pre %s",
+ "You cannot use dots in the database name %s" : "V názve databázy %s nemôžete používať bodky",
"MySQL username and/or password not valid" : "Neplatné užívateľské meno a/alebo heslo do MySQL",
"You need to enter details of an existing account." : "Musíte zadať údaje existujúceho účtu.",
"Oracle connection could not be established" : "Nie je možné pripojiť sa k Oracle",
@@ -117,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "Používateľské meno a/alebo heslo pre PostgreSQL databázu je neplatné",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nie je podporovaný a %s nebude správne fungovať na tejto platforme. Použite ho na vlastné riziko!",
"For the best results, please consider using a GNU/Linux server instead." : "Pre dosiahnutie najlepších výsledkov, prosím zvážte použitie GNU/Linux servera.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Zdá sa, že táto inštancia %s beží v 32-bitovom prostredí PHP a v php.ini bola nastavená voľba open_basedir. To bude zdrojom problémov so súbormi väčšími ako 4GB a dôrazne sa neodporúča.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Prosím, odstráňte nastavenie open_basedir vo vašom php.ini alebo prejdite na 64-bit PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Zdá sa, že inštancia %s beží v 32-bitovom prostredí PHP. Pre vezie 26 a vyššie sa vyžaduje 64-bit.",
+ "Please switch to 64-bit PHP." : "Prosím prepnite na 64-bit PHP.",
"Set an admin username." : "Zadajte používateľské meno administrátora.",
"Set an admin password." : "Zadajte heslo administrátora.",
"Cannot create or write into the data directory %s" : "Nemožno vytvoriť alebo zapisovať do priečinka dát %s",
@@ -142,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s vám sprístupnil »%2$s«.",
"Click the button below to open it." : "Pre otvorenie klienta kliknite na tlačítko nižšie.",
"The requested share does not exist anymore" : "Požadované sprístupnenie už neexistuje",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Bol dosiahnutý limit používateľov a používateľ nebol vytvorený. Pozrite sa do upozornení pre viac informácií.",
"Could not find category \"%s\"" : "Nemožno nájsť danú kategóriu \"%s\"",
"Sunday" : "Nedeľa",
"Monday" : "Pondelok",
@@ -188,20 +199,20 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "The user limit has been reached and the user was not created." : "Bol dosiahnutý limit používateľov a používateľ nebol vytvorený.",
+ "A valid password must be provided" : "Musíte zadať platné heslo",
+ "The username is already being used" : "Meno používateľa je už použité",
+ "Could not create user" : "Nepodarilo sa vytvoriť používateľa",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "V mene používateľa je možné použiť iba nasledovné znaky: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Musíte zadať platné používateľské meno",
"Username contains whitespace at the beginning or at the end" : "Meno používateľa obsahuje na začiatku, alebo na konci medzeru",
"Username must not consist of dots only" : "Používateľské meno sa nesmie skladať len z bodiek",
"Username is invalid because files already exist for this user" : "Používateľské meno je neplatné, pretože pre tohto používateľa už existujú súbory",
- "A valid password must be provided" : "Musíte zadať platné heslo",
- "The username is already being used" : "Meno používateľa je už použité",
- "Could not create user" : "Nepodarilo sa vytvoriť používateľa",
"User disabled" : "Používateľ zakázaný",
"Login canceled by app" : "Prihlásenie bolo zrušené aplikáciou",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikáciu \"%1$s\" nie je možné inštalovať, pretože nie sú splnené nasledovné závislosti: %2$s",
"a safe home for all your data" : "bezpečný domov pre všetky vaše dáta",
"File is currently busy, please try again later" : "Súbor sa práve používa, skúste prosím neskôr",
+ "Cannot download file" : "Nemožno stiahnuť súbor",
"Application is not enabled" : "Aplikácia nie je zapnutá",
"Authentication error" : "Chyba autentifikácie",
"Token expired. Please reload page." : "Token vypršal. Obnovte, prosím, stránku.",
@@ -255,6 +266,9 @@
"%s enter the database username." : "Zadajte používateľské meno %s databázy.",
"%s enter the database name." : "Zadajte názov databázy pre %s databázy.",
"%s you may not use dots in the database name" : "V názve databázy %s nemôžete používať bodky",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Zdá sa, že táto inštancia %s beží v 32-bitovom prostredí PHP a v php.ini bola nastavená voľba open_basedir. To bude zdrojom problémov so súbormi väčšími ako 4GB a dôrazne sa neodporúča.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Prosím, odstráňte nastavenie open_basedir vo vašom php.ini alebo prejdite na 64-bit PHP.",
+ "The user limit has been reached and the user was not created." : "Bol dosiahnutý limit používateľov a používateľ nebol vytvorený.",
"Cannot read file" : "Nemožno čítať súbor.",
"Cannot write into \"config\" directory" : "Nie je možné zapisovať do priečinka \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "To je zvyčajne možné opraviť tým, že udelíte webovému serveru oprávnenie na zápis do adresára s konfiguráciou. Viď %s",
@@ -272,6 +286,7 @@
"Your data directory is readable by other users" : "Váš priečinok s dátami je prístupný na čítanie ostatným používateľom",
"Your data directory must be an absolute path" : "Priečinok s dátami musí byť zadaný ako absolútna cesta",
"Check the value of \"datadirectory\" in your configuration" : "Skontrolujte hodnotu \"datadirectory\" vo vašej konfigurácii",
- "Your data directory is invalid" : "Priečinok s dátami je neplatný"
+ "Your data directory is invalid" : "Priečinok s dátami je neplatný",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Bol dosiahnutý limit používateľov a používateľ nebol vytvorený. Pozrite sa do upozornení pre viac informácií."
},"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/lib/l10n/sl.js b/lib/l10n/sl.js
index 0408dee2de2..d256248c1e4 100644
--- a/lib/l10n/sl.js
+++ b/lib/l10n/sl.js
@@ -87,6 +87,7 @@ OC.L10N.register(
"Appearance and accessibility" : "Videz in dostopnost",
"Apps" : "Programi",
"Personal settings" : "Osebne nastavitve",
+ "Administration settings" : "Skrbniške nastavitve",
"Settings" : "Nastavitve",
"Log out" : "Odjava",
"Users" : "Uporabniki",
@@ -113,8 +114,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Uporabniško ime ali geslo PostgreSQL ni veljavno",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Sistem Mac OS X ni podprt, zato %s v tem okolju ne bo deloval zanesljivo. Program uporabljate na lastno odgovornost! ",
"For the best results, please consider using a GNU/Linux server instead." : "Za najboljše rezultate je priporočljivo uporabljati strežnik GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Kaže, da je dejavna seja %s zagnana v 32-bitnem okolju PHP in, da je v datoteki php.ini nastavljen open_basedir . Tako delovanje ni priporočljivo, saj se lahko pojavijo težave z datotekami, večjimi od 4GB.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Odstraniti je treba nastavitev open_basedir v datoteki php.ini ali pa preklopiti na 64-bitno okolje PHP.",
"Set an admin username." : "Nastavi uporabniško ime skrbnika.",
"Set an admin password." : "Nastavi skrbniško geslo.",
"Cannot create or write into the data directory %s" : "Ni mogoče zapisati podatkov v podatkovno mapo %s",
@@ -184,15 +183,14 @@ OC.L10N.register(
"Oct." : "okt",
"Nov." : "nov",
"Dec." : "dec",
- "The user limit has been reached and the user was not created." : "Dosežena je omejitev števila uporabnikov, zato uporabnik ni ustvarjen.",
+ "A valid password must be provided" : "Navedeno mora biti veljavno geslo",
+ "The username is already being used" : "Vpisano uporabniško ime je že v uporabi",
+ "Could not create user" : "Uporabnika ni mogoče ustvariti",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "V uporabniškem imenu je dovoljeno uporabiti le znake: »a–z«, »A–Z«, »0–9« in »_.@-«\".",
"A valid username must be provided" : "Navedeno mora biti veljavno uporabniško ime",
"Username contains whitespace at the beginning or at the end" : "Uporabniško ime vsebuje presledni znak na začetku ali na koncu imena.",
"Username must not consist of dots only" : "Uporabniško ime ne sme biti zgolj iz pik",
"Username is invalid because files already exist for this user" : "Uporabniško ime ni veljavno, ker za tega uporabnika že obstajajo datoteke",
- "A valid password must be provided" : "Navedeno mora biti veljavno geslo",
- "The username is already being used" : "Vpisano uporabniško ime je že v uporabi",
- "Could not create user" : "Uporabnika ni mogoče ustvariti",
"User disabled" : "Uporabnik je onemogočen",
"Login canceled by app" : "Program onemogoča prijavo",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Programa »%1$s« ni mogoče namestiti zaradi nerešenih odvisnosti: %2$s",
@@ -231,6 +229,9 @@ OC.L10N.register(
"%s enter the database username." : "%s – vnos uporabniškega imena podatkovne zbirke.",
"%s enter the database name." : "%s – vnos imena podatkovne zbirke.",
"%s you may not use dots in the database name" : "%s – v imenu podatkovne zbirke ni dovoljeno uporabljati pik.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Kaže, da je dejavna seja %s zagnana v 32-bitnem okolju PHP in, da je v datoteki php.ini nastavljen open_basedir . Tako delovanje ni priporočljivo, saj se lahko pojavijo težave z datotekami, večjimi od 4GB.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Odstraniti je treba nastavitev open_basedir v datoteki php.ini ali pa preklopiti na 64-bitno okolje PHP.",
+ "The user limit has been reached and the user was not created." : "Dosežena je omejitev števila uporabnikov, zato uporabnik ni ustvarjen.",
"Cannot read file" : "Datoteke ni mogoče prebrati.",
"Cannot write into \"config\" directory" : "Mapa »config« nima nastavljenih ustreznih dovoljenj za pisanje!",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Napako je mogoče odpraviti z dodelitvijo dovoljenja spletnemu strežniku za pisanje v nastavitveno mapo. Poglejte %s",
diff --git a/lib/l10n/sl.json b/lib/l10n/sl.json
index 03b156154a1..c2ee21689b7 100644
--- a/lib/l10n/sl.json
+++ b/lib/l10n/sl.json
@@ -85,6 +85,7 @@
"Appearance and accessibility" : "Videz in dostopnost",
"Apps" : "Programi",
"Personal settings" : "Osebne nastavitve",
+ "Administration settings" : "Skrbniške nastavitve",
"Settings" : "Nastavitve",
"Log out" : "Odjava",
"Users" : "Uporabniki",
@@ -111,8 +112,6 @@
"PostgreSQL username and/or password not valid" : "Uporabniško ime ali geslo PostgreSQL ni veljavno",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Sistem Mac OS X ni podprt, zato %s v tem okolju ne bo deloval zanesljivo. Program uporabljate na lastno odgovornost! ",
"For the best results, please consider using a GNU/Linux server instead." : "Za najboljše rezultate je priporočljivo uporabljati strežnik GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Kaže, da je dejavna seja %s zagnana v 32-bitnem okolju PHP in, da je v datoteki php.ini nastavljen open_basedir . Tako delovanje ni priporočljivo, saj se lahko pojavijo težave z datotekami, večjimi od 4GB.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Odstraniti je treba nastavitev open_basedir v datoteki php.ini ali pa preklopiti na 64-bitno okolje PHP.",
"Set an admin username." : "Nastavi uporabniško ime skrbnika.",
"Set an admin password." : "Nastavi skrbniško geslo.",
"Cannot create or write into the data directory %s" : "Ni mogoče zapisati podatkov v podatkovno mapo %s",
@@ -182,15 +181,14 @@
"Oct." : "okt",
"Nov." : "nov",
"Dec." : "dec",
- "The user limit has been reached and the user was not created." : "Dosežena je omejitev števila uporabnikov, zato uporabnik ni ustvarjen.",
+ "A valid password must be provided" : "Navedeno mora biti veljavno geslo",
+ "The username is already being used" : "Vpisano uporabniško ime je že v uporabi",
+ "Could not create user" : "Uporabnika ni mogoče ustvariti",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "V uporabniškem imenu je dovoljeno uporabiti le znake: »a–z«, »A–Z«, »0–9« in »_.@-«\".",
"A valid username must be provided" : "Navedeno mora biti veljavno uporabniško ime",
"Username contains whitespace at the beginning or at the end" : "Uporabniško ime vsebuje presledni znak na začetku ali na koncu imena.",
"Username must not consist of dots only" : "Uporabniško ime ne sme biti zgolj iz pik",
"Username is invalid because files already exist for this user" : "Uporabniško ime ni veljavno, ker za tega uporabnika že obstajajo datoteke",
- "A valid password must be provided" : "Navedeno mora biti veljavno geslo",
- "The username is already being used" : "Vpisano uporabniško ime je že v uporabi",
- "Could not create user" : "Uporabnika ni mogoče ustvariti",
"User disabled" : "Uporabnik je onemogočen",
"Login canceled by app" : "Program onemogoča prijavo",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Programa »%1$s« ni mogoče namestiti zaradi nerešenih odvisnosti: %2$s",
@@ -229,6 +227,9 @@
"%s enter the database username." : "%s – vnos uporabniškega imena podatkovne zbirke.",
"%s enter the database name." : "%s – vnos imena podatkovne zbirke.",
"%s you may not use dots in the database name" : "%s – v imenu podatkovne zbirke ni dovoljeno uporabljati pik.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Kaže, da je dejavna seja %s zagnana v 32-bitnem okolju PHP in, da je v datoteki php.ini nastavljen open_basedir . Tako delovanje ni priporočljivo, saj se lahko pojavijo težave z datotekami, večjimi od 4GB.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Odstraniti je treba nastavitev open_basedir v datoteki php.ini ali pa preklopiti na 64-bitno okolje PHP.",
+ "The user limit has been reached and the user was not created." : "Dosežena je omejitev števila uporabnikov, zato uporabnik ni ustvarjen.",
"Cannot read file" : "Datoteke ni mogoče prebrati.",
"Cannot write into \"config\" directory" : "Mapa »config« nima nastavljenih ustreznih dovoljenj za pisanje!",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Napako je mogoče odpraviti z dodelitvijo dovoljenja spletnemu strežniku za pisanje v nastavitveno mapo. Poglejte %s",
diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js
index 6907fe20a90..6ef810c8500 100644
--- a/lib/l10n/sq.js
+++ b/lib/l10n/sq.js
@@ -66,8 +66,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "Emër përdoruesi dhe/ose fjalëkalim PostgreSQL jo të vlefshëm",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nuk mbulohet dhe %s s’do të funksionojë si duhet në këtë platformë. Përdoreni nën përgjegjësinë tuaj! ",
"For the best results, please consider using a GNU/Linux server instead." : "Për përfundimet më të mira, ju lutemi, më mirë konsideroni përdorimin e një shërbyesi GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Duket se kjo instancë %s xhiron një mjedis PHP 32-bitësh dhe open_basedir është e formësuar, te php.ini. Kjo do të shpjerë në probleme me kartela më të mëdha se 4 GB dhe këshillohet me forcë të mos ndodhë.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Ju lutemi, hiqeni rregullimin open_basedir nga php.ini juaj ose hidhuni te PHP për 64-bit.",
"Set an admin username." : "Caktoni një emër përdoruesi për përgjegjësin.",
"Set an admin password." : "Caktoni një fjalëkalim për përgjegjësin.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Mekanizmi i shërbimit për ndarje %s duhet të sendërtojë ndërfaqen OCP\\Share_Backend",
@@ -126,12 +124,12 @@ OC.L10N.register(
"Oct." : "Tet.",
"Nov." : "Nën.",
"Dec." : "Dhj.",
+ "A valid password must be provided" : "Duhet dhënë një fjalëkalim i vlefshëm",
+ "The username is already being used" : "Emri i përdoruesit është tashmë i përdorur",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Në një emër përdoruesi lejohen vetëm shenjat vijuese: \"a-z\", \"A-Z\", \"0-9\", dhe \"_.@-\"",
"A valid username must be provided" : "Duhet dhënë një emër i vlefshëm përdoruesi",
"Username contains whitespace at the beginning or at the end" : "Emri i përdoruesit përmban hapësirë në fillim ose në fund",
"Username must not consist of dots only" : "Emri i përdoruesit nuk duhet të përbëhet vetëm nga pika",
- "A valid password must be provided" : "Duhet dhënë një fjalëkalim i vlefshëm",
- "The username is already being used" : "Emri i përdoruesit është tashmë i përdorur",
"User disabled" : "Përdorues i çaktivizuar",
"Login canceled by app" : "Hyrja u anulua nga aplikacioni",
"a safe home for all your data" : "Një shtëpi e sigurt për të dhënat e tua",
@@ -162,6 +160,8 @@ OC.L10N.register(
"%s enter the database username." : "%s jepni emrin e përdoruesit të bazës së të dhënave.",
"%s enter the database name." : "%s jepni emrin e bazës së të dhënave.",
"%s you may not use dots in the database name" : "%s s’mund të përdorni pika te emri i bazës së të dhënave",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Duket se kjo instancë %s xhiron një mjedis PHP 32-bitësh dhe open_basedir është e formësuar, te php.ini. Kjo do të shpjerë në probleme me kartela më të mëdha se 4 GB dhe këshillohet me forcë të mos ndodhë.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Ju lutemi, hiqeni rregullimin open_basedir nga php.ini juaj ose hidhuni te PHP për 64-bit.",
"Cannot write into \"config\" directory" : "S’shkruhet dot te drejtoria \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Kjo zakonisht mund të rregullohet duke i dhënë serverit të web-it akses shkrimi tek direktoria config. Shih %s",
"Cannot write into \"apps\" directory" : "S’shkruhet dot te drejtoria \"apps\"",
diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json
index f43cbc35e13..6e73c56a227 100644
--- a/lib/l10n/sq.json
+++ b/lib/l10n/sq.json
@@ -64,8 +64,6 @@
"PostgreSQL username and/or password not valid" : "Emër përdoruesi dhe/ose fjalëkalim PostgreSQL jo të vlefshëm",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nuk mbulohet dhe %s s’do të funksionojë si duhet në këtë platformë. Përdoreni nën përgjegjësinë tuaj! ",
"For the best results, please consider using a GNU/Linux server instead." : "Për përfundimet më të mira, ju lutemi, më mirë konsideroni përdorimin e një shërbyesi GNU/Linux.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Duket se kjo instancë %s xhiron një mjedis PHP 32-bitësh dhe open_basedir është e formësuar, te php.ini. Kjo do të shpjerë në probleme me kartela më të mëdha se 4 GB dhe këshillohet me forcë të mos ndodhë.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Ju lutemi, hiqeni rregullimin open_basedir nga php.ini juaj ose hidhuni te PHP për 64-bit.",
"Set an admin username." : "Caktoni një emër përdoruesi për përgjegjësin.",
"Set an admin password." : "Caktoni një fjalëkalim për përgjegjësin.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Mekanizmi i shërbimit për ndarje %s duhet të sendërtojë ndërfaqen OCP\\Share_Backend",
@@ -124,12 +122,12 @@
"Oct." : "Tet.",
"Nov." : "Nën.",
"Dec." : "Dhj.",
+ "A valid password must be provided" : "Duhet dhënë një fjalëkalim i vlefshëm",
+ "The username is already being used" : "Emri i përdoruesit është tashmë i përdorur",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Në një emër përdoruesi lejohen vetëm shenjat vijuese: \"a-z\", \"A-Z\", \"0-9\", dhe \"_.@-\"",
"A valid username must be provided" : "Duhet dhënë një emër i vlefshëm përdoruesi",
"Username contains whitespace at the beginning or at the end" : "Emri i përdoruesit përmban hapësirë në fillim ose në fund",
"Username must not consist of dots only" : "Emri i përdoruesit nuk duhet të përbëhet vetëm nga pika",
- "A valid password must be provided" : "Duhet dhënë një fjalëkalim i vlefshëm",
- "The username is already being used" : "Emri i përdoruesit është tashmë i përdorur",
"User disabled" : "Përdorues i çaktivizuar",
"Login canceled by app" : "Hyrja u anulua nga aplikacioni",
"a safe home for all your data" : "Një shtëpi e sigurt për të dhënat e tua",
@@ -160,6 +158,8 @@
"%s enter the database username." : "%s jepni emrin e përdoruesit të bazës së të dhënave.",
"%s enter the database name." : "%s jepni emrin e bazës së të dhënave.",
"%s you may not use dots in the database name" : "%s s’mund të përdorni pika te emri i bazës së të dhënave",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Duket se kjo instancë %s xhiron një mjedis PHP 32-bitësh dhe open_basedir është e formësuar, te php.ini. Kjo do të shpjerë në probleme me kartela më të mëdha se 4 GB dhe këshillohet me forcë të mos ndodhë.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Ju lutemi, hiqeni rregullimin open_basedir nga php.ini juaj ose hidhuni te PHP për 64-bit.",
"Cannot write into \"config\" directory" : "S’shkruhet dot te drejtoria \"config\"",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Kjo zakonisht mund të rregullohet duke i dhënë serverit të web-it akses shkrimi tek direktoria config. Shih %s",
"Cannot write into \"apps\" directory" : "S’shkruhet dot te drejtoria \"apps\"",
diff --git a/lib/l10n/sr.js b/lib/l10n/sr.js
index 00a10264b79..69ed580c3b1 100644
--- a/lib/l10n/sr.js
+++ b/lib/l10n/sr.js
@@ -101,8 +101,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL корисничко име и/или лозинка нису исправни",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Мек ОС Икс није подржан и %s неће радити исправно на овој платформи. Користите га на сопствени ризик!",
"For the best results, please consider using a GNU/Linux server instead." : "За најбоље резултате, размотрите употребу ГНУ/Линукс сервера.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Изгледа да %s ради у 32-битном PHP окружењу а open_basedir је подешен у php.ini фајлу. То може довести до проблема са фајловима већим од 4 GB, те стога није препоручљиво.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Уклоните open_basedir поставку из php.ini фајла или пређите на 64-битни PHP.",
"Set an admin username." : "Поставите име за администратора.",
"Set an admin password." : "Поставите лозинку за администратора.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Позадина дељења %s мора користити корисничко окружење OCP\\Share_Backend",
@@ -167,14 +165,14 @@ OC.L10N.register(
"Oct." : "Окт.",
"Nov." : "Нов.",
"Dec." : "Дец.",
+ "A valid password must be provided" : "Морате унети исправну лозинку",
+ "The username is already being used" : "Корисничко име се већ користи",
+ "Could not create user" : "Не могу да направим корисника",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "У корисничком имену су дозвољени само следећи карактери: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Морате унети исправно корисничко име",
"Username contains whitespace at the beginning or at the end" : "Корисничко име садржи белине на почетку или на крају",
"Username must not consist of dots only" : "Корисничко име не могу бити само тачке",
"Username is invalid because files already exist for this user" : "Корисничко име није исправно пошто већ постоје фајлови за овог корисника",
- "A valid password must be provided" : "Морате унети исправну лозинку",
- "The username is already being used" : "Корисничко име се већ користи",
- "Could not create user" : "Не могу да направим корисника",
"User disabled" : "Корисник онемогућен",
"Login canceled by app" : "Пријава отказана од стране апликације",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Апликација „%1$s“ не може бити инсталирана јер следеће зависности нису испуњене: %2$s",
@@ -213,6 +211,8 @@ OC.L10N.register(
"%s enter the database username." : "%s унеси корисничко име базе података.",
"%s enter the database name." : "%s унеси име базе података.",
"%s you may not use dots in the database name" : "%s не можете користити тачке у имену базе података",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Изгледа да %s ради у 32-битном PHP окружењу а open_basedir је подешен у php.ini фајлу. То може довести до проблема са фајловима већим од 4 GB, те стога није препоручљиво.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Уклоните open_basedir поставку из php.ini фајла или пређите на 64-битни PHP.",
"Cannot write into \"config\" directory" : "Не могу уписивати у директоријуму „config“",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ово се обично може средити давањем права писања веб серверу за директоријум са подешавањима. Погледајте %s",
"Cannot write into \"apps\" directory" : "Не могу уписивати у директоријуму „apps“",
diff --git a/lib/l10n/sr.json b/lib/l10n/sr.json
index b0b2b8eb32b..3f75e2de93e 100644
--- a/lib/l10n/sr.json
+++ b/lib/l10n/sr.json
@@ -99,8 +99,6 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL корисничко име и/или лозинка нису исправни",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Мек ОС Икс није подржан и %s неће радити исправно на овој платформи. Користите га на сопствени ризик!",
"For the best results, please consider using a GNU/Linux server instead." : "За најбоље резултате, размотрите употребу ГНУ/Линукс сервера.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Изгледа да %s ради у 32-битном PHP окружењу а open_basedir је подешен у php.ini фајлу. То може довести до проблема са фајловима већим од 4 GB, те стога није препоручљиво.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Уклоните open_basedir поставку из php.ini фајла или пређите на 64-битни PHP.",
"Set an admin username." : "Поставите име за администратора.",
"Set an admin password." : "Поставите лозинку за администратора.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Позадина дељења %s мора користити корисничко окружење OCP\\Share_Backend",
@@ -165,14 +163,14 @@
"Oct." : "Окт.",
"Nov." : "Нов.",
"Dec." : "Дец.",
+ "A valid password must be provided" : "Морате унети исправну лозинку",
+ "The username is already being used" : "Корисничко име се већ користи",
+ "Could not create user" : "Не могу да направим корисника",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "У корисничком имену су дозвољени само следећи карактери: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Морате унети исправно корисничко име",
"Username contains whitespace at the beginning or at the end" : "Корисничко име садржи белине на почетку или на крају",
"Username must not consist of dots only" : "Корисничко име не могу бити само тачке",
"Username is invalid because files already exist for this user" : "Корисничко име није исправно пошто већ постоје фајлови за овог корисника",
- "A valid password must be provided" : "Морате унети исправну лозинку",
- "The username is already being used" : "Корисничко име се већ користи",
- "Could not create user" : "Не могу да направим корисника",
"User disabled" : "Корисник онемогућен",
"Login canceled by app" : "Пријава отказана од стране апликације",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Апликација „%1$s“ не може бити инсталирана јер следеће зависности нису испуњене: %2$s",
@@ -211,6 +209,8 @@
"%s enter the database username." : "%s унеси корисничко име базе података.",
"%s enter the database name." : "%s унеси име базе података.",
"%s you may not use dots in the database name" : "%s не можете користити тачке у имену базе података",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Изгледа да %s ради у 32-битном PHP окружењу а open_basedir је подешен у php.ini фајлу. То може довести до проблема са фајловима већим од 4 GB, те стога није препоручљиво.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Уклоните open_basedir поставку из php.ini фајла или пређите на 64-битни PHP.",
"Cannot write into \"config\" directory" : "Не могу уписивати у директоријуму „config“",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ово се обично може средити давањем права писања веб серверу за директоријум са подешавањима. Погледајте %s",
"Cannot write into \"apps\" directory" : "Не могу уписивати у директоријуму „apps“",
diff --git a/lib/l10n/sv.js b/lib/l10n/sv.js
index bd77c2d73fb..8fc0b98625a 100644
--- a/lib/l10n/sv.js
+++ b/lib/l10n/sv.js
@@ -2,11 +2,14 @@ OC.L10N.register(
"lib",
{
"Cannot write into \"config\" directory!" : "Kan inte skriva till \"config\" katalogen!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Detta kan vanligtvis åtgärdas genom att ge webbservern skrivåtkomst till config-katalogen.",
"But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Men, om du föredrar att behålla config.php skrivskyddad, sätt alternativet \"config_is_read_only\" till true i den.",
"See %s" : "Se %s",
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Filerna i appen %1$s ersattes inte korrekt. Kontrollera att det är en version som är kompatibel med servern.",
"Sample configuration detected" : "Exempel-konfiguration detekterad",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Det har upptäckts att provkonfigurationen har kopierats. Detta kan bryta din installation och stöds inte. Läs dokumentationen innan du utför ändringar på config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Sidan kunde inte hittas på servern.",
"%s email verification" : "%s e-postverifikation",
"Email verification" : "E-postverifikation",
"Click the following button to confirm your email." : "Klicka på följande knapp för att verifiera din e-postadress.",
@@ -74,7 +77,7 @@ OC.L10N.register(
"in a few seconds" : "om några sekunder",
"seconds ago" : "sekunder sedan",
"Empty file" : "Tom fil",
- "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Modul med ID: %s finns inte längre. Vänligen aktivera det i dina appinställningar eller kontakta din administratör.",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Modulen med ID: %s finns inte. Aktivera den i appinställningar eller kontakta din administratör.",
"File already exists" : "Filen existerar redan",
"Invalid path" : "Ogiltig sökväg",
"Failed to create file from template" : "Kunde skapa fil från mall",
@@ -87,14 +90,19 @@ OC.L10N.register(
"App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan inte installeras eftersom appinfo-filen inte kan läsas.",
"App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan inte installeras eftersom den inte är kompatibel med den här versionen av servern.",
"__language_name__" : "Svenska",
- "This is an automatically sent email, please do not reply." : "Detta är ett automatiskt skickat e-postmeddelande, svara inte på detta meddelande.",
+ "This is an automatically sent email, please do not reply." : "Detta är ett automatiskt e-postmeddelande, du kan därmed inte svara på det.",
"Help" : "Hjälp",
+ "Appearance and accessibility" : "Utseende och tillgänglighet",
"Apps" : "Appar",
+ "Personal settings" : "Personlig information",
+ "Administration settings" : "Administration",
"Settings" : "Inställningar",
"Log out" : "Logga ut",
"Users" : "Användare",
"Email" : "E-post",
"Mail %s" : "Skicka e-post %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Visa %s på fediverse",
"Phone" : "Telefon",
"Call %s" : "Ring %s",
"Twitter" : "Twitter",
@@ -110,6 +118,10 @@ OC.L10N.register(
"Role" : "Roll",
"Unknown user" : "Okänd användare",
"Additional settings" : "Övriga inställningar",
+ "Enter the database username and name for %s" : "Ange databasanvändarnamn och lösenord för %s",
+ "Enter the database username for %s" : "Ange databasanvändare för %s",
+ "Enter the database name for %s" : "Ange databasnamn för %s",
+ "You cannot use dots in the database name %s" : "Du kan inte använda punkter i databasnamnet %s",
"MySQL username and/or password not valid" : "MySQL-användarnamn och/eller lösenord är felaktigt",
"You need to enter details of an existing account." : "Du måste ange inloggningsuppgifter av ett aktuellt konto.",
"Oracle connection could not be established" : "Oracle-anslutning kunde inte etableras",
@@ -117,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL-användarnamnet och/eller lösenordet är felaktigt",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X stöds inte och %s kommer inte att fungera korrekt på denna plattform. Använd på egen risk!",
"For the best results, please consider using a GNU/Linux server instead." : "För bästa resultat, överväg att använda en GNU/Linux-server istället.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det verkar som om denna %s instans körs på en 32-bitars PHP miljö och open_basedir har konfigurerats i php.ini. Detta kommer att leda till problem med filer över 4 GB och är verkligen inte rekommenderat!",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Ta bort open_basedir-inställningen i din php.ini eller växla till 64-bitars PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Det verkar som att den här %s instansen körs i en 32-bitars PHP-miljö. 64-bitars krävs för 26 och högre.",
+ "Please switch to 64-bit PHP." : "Vänligen byt till 64-bitars PHP.",
"Set an admin username." : "Ange ett användarnamn för administratören.",
"Set an admin password." : "Ange ett administratörslösenord.",
"Cannot create or write into the data directory %s" : "Kan inte skapa eller skriva till data-katalogen %s",
@@ -142,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s delade »%2$s« med dig.",
"Click the button below to open it." : "Klicka på knappen nedan för att öppna det.",
"The requested share does not exist anymore" : "Den begärda delningen finns inte mer",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Användaren skapades inte eftersom användargränsen har nåtts. Kontrollera dina aviseringar för att läsa mer.",
"Could not find category \"%s\"" : "Kunde inte hitta kategorin \"%s\"",
"Sunday" : "Söndag",
"Monday" : "Måndag",
@@ -188,36 +201,56 @@ OC.L10N.register(
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "The user limit has been reached and the user was not created." : "Maximala användarantalet har uppnåtts och användaren skapades inte.",
+ "A valid password must be provided" : "Ett giltigt lösenord måste anges",
+ "The username is already being used" : "Användarnamnet används redan",
+ "Could not create user" : "Kunde inte skapa användare",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Endast följande tecken är tillåtna i användarnamnet: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Ett giltigt användarnamn måste anges",
"Username contains whitespace at the beginning or at the end" : "Användarnamnet består av ett mellanslag i början eller i slutet",
"Username must not consist of dots only" : "Användarnamnet får inte innehålla enbart punkter",
"Username is invalid because files already exist for this user" : "Användarnamnet är ogiltigt eftersom det redan finns filer för den här användaren",
- "A valid password must be provided" : "Ett giltigt lösenord måste anges",
- "The username is already being used" : "Användarnamnet används redan",
- "Could not create user" : "Kunde inte skapa användare",
"User disabled" : "Användare inaktiverad",
"Login canceled by app" : "Inloggningen avbruten av appen",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Appen \"%1$s\" kan inte installeras eftersom följande beroenden inte är uppfyllda: %2$s",
"a safe home for all your data" : "ett säkert hem för all din data",
"File is currently busy, please try again later" : "Filen är för tillfället upptagen, försök igen senare",
+ "Cannot download file" : "Kan inte ladda ner fil",
"Application is not enabled" : "Applikationen är inte aktiverad",
"Authentication error" : "Fel vid autentisering",
"Token expired. Please reload page." : "Token har löpt ut. Uppdatera sidan.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Inga databasdrivrutiner (sqlite, mysql, eller postgresql) installerade.",
+ "Cannot write into \"config\" directory." : "Kan inte skriva i \"config\"-katalogen.",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Detta kan vanligtvis åtgärdas genom att ge webbservern skrivåtkomst till config-katalogen. Se %s",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Eller, om du föredrar att behålla config.php skrivskyddad, sätt alternativet \"config_is_read_only\" till true i den. Se %s",
+ "Cannot write into \"apps\" directory." : "Kan inte skriva till \"apps\"-katalogen.",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Detta kan vanligtvis åtgärdas genom att ge webbservern skrivrättigheter till \"apps\"-katalogen eller stänga av appbutiken i konfigurationsfilen.",
+ "Cannot create \"data\" directory." : "Kan inte skapa \"data\"-katalog.",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Detta kan vanligtvis åtgärdas genom att ge webbservern skrivåtkomst till rotkatalogen. Se %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Behörigheter kan vanligtvis fixas genom att ge webbservern skrivåtkomst till rotkatalogen. Se %s.",
+ "Your data directory is not writable." : "Din datakatalog är inte skrivbar.",
+ "Setting locale to %s failed." : "Inställning av språk till %s misslyckades.",
+ "Please install one of these locales on your system and restart your web server." : "Installera en av dessa locales på ditt system och starta om din webbserver.",
"PHP module %s not installed." : "PHP-modulen %s är inte installerad.",
"Please ask your server administrator to install the module." : "Be serveradministratören att installera modulen.",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP-inställning \"%s\" är inte inställd på \"%s\".",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Att ändra denna inställning i php.ini kommer göra så att Nextcloud fungerar igen",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> är satt till <code>%s</code> istället för förväntade värdet <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : " För att åtgärda detta problemet, sätt<code>mbstring.func_overload</code> till <code>0</code> i din php.ini.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "libxml2 2.7.0 är det minsta som krävs. För närvarande är %s installerat.",
"To fix this issue update your libxml2 version and restart your web server." : "För att åtgärda detta problem uppdatera libxml2 versionen och starta om din webbserver.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP är tydligen inställt för att tömma \"inline doc blocks\". Detta kommer att göra flera kärnprogram otillgängliga.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Detta orsakas troligtvis av en cache/accelerator som t ex Zend OPchache eller eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP-moduler har installerats, men de listas fortfarande som saknade?",
"Please ask your server administrator to restart the web server." : "Be din serveradministratör att starta om webbservern.",
+ "The required %s config variable is not configured in the config.php file." : "Den nödvändiga konfigurationsvariabeln %s är inte konfigurerad i filen config.php.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Be din serveradministratör att kontrollera Nextcloud-konfigurationen.",
+ "PostgreSQL >= 9 required." : "PostgreSQL >= 9 krävs.",
+ "Please upgrade your database version." : "Uppgradera din databasversion.",
+ "Your data directory is readable by other users." : "Din datakatalog kan läsas av andra användare.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Ändra behörigheterna till 0770 så att katalogen inte kan listas av andra användare.",
+ "Your data directory must be an absolute path." : "Din datakatalog måste vara en absolut sökväg.",
+ "Check the value of \"datadirectory\" in your configuration." : "Kontrollera värdet på \"datadirectory\" i din konfiguration.",
+ "Your data directory is invalid." : "Din datakatalog är ogiltig.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Säkerställ att du har filen \".ocdata\" i huvudkatalogen för din data.",
"Action \"%s\" not supported or implemented." : "Åtgärd \"%s\" stöds inte eller är inte implementerad.",
"Authentication failed, wrong token or provider ID given" : "Autentisering misslyckades, felaktig token eller leverantörs-ID",
@@ -235,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "%s ange databasanvändare.",
"%s enter the database name." : "%s ange databasnamn",
"%s you may not use dots in the database name" : "%s du får inte använda punkter i databasnamnet",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det verkar som om denna %s instans körs på en 32-bitars PHP miljö och open_basedir har konfigurerats i php.ini. Detta kommer att leda till problem med filer över 4 GB och är verkligen inte rekommenderat!",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Ta bort open_basedir-inställningen i din php.ini eller växla till 64-bitars PHP.",
+ "The user limit has been reached and the user was not created." : "Maximala användarantalet har uppnåtts och användaren skapades inte.",
"Cannot read file" : "Kan inte läsa fil",
"Cannot write into \"config\" directory" : "Kan inte skriva till \"config\" katalogen",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Detta kan vanligtvis åtgärda genom att ge webbservern skrivåtkomst till konfigureringsmappen. Se %s",
@@ -252,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Din datamapp är läsbar av andra användare",
"Your data directory must be an absolute path" : "Du måste specificera en korrekt sökväg till datamappen",
"Check the value of \"datadirectory\" in your configuration" : "Kontrollera värdet av \"datakatalog\" i din konfiguration",
- "Your data directory is invalid" : "Din datamapp är ogiltig"
+ "Your data directory is invalid" : "Din datamapp är ogiltig",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Användargränsen har nåtts och användaren skapades inte. Kontrollera dina aviseringar om du vill veta mer."
},
"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/sv.json b/lib/l10n/sv.json
index 96539fafe91..ed80e5a13e5 100644
--- a/lib/l10n/sv.json
+++ b/lib/l10n/sv.json
@@ -1,10 +1,13 @@
{ "translations": {
"Cannot write into \"config\" directory!" : "Kan inte skriva till \"config\" katalogen!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Detta kan vanligtvis åtgärdas genom att ge webbservern skrivåtkomst till config-katalogen.",
"But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Men, om du föredrar att behålla config.php skrivskyddad, sätt alternativet \"config_is_read_only\" till true i den.",
"See %s" : "Se %s",
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Filerna i appen %1$s ersattes inte korrekt. Kontrollera att det är en version som är kompatibel med servern.",
"Sample configuration detected" : "Exempel-konfiguration detekterad",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Det har upptäckts att provkonfigurationen har kopierats. Detta kan bryta din installation och stöds inte. Läs dokumentationen innan du utför ändringar på config.php",
+ "404" : "404",
+ "The page could not be found on the server." : "Sidan kunde inte hittas på servern.",
"%s email verification" : "%s e-postverifikation",
"Email verification" : "E-postverifikation",
"Click the following button to confirm your email." : "Klicka på följande knapp för att verifiera din e-postadress.",
@@ -72,7 +75,7 @@
"in a few seconds" : "om några sekunder",
"seconds ago" : "sekunder sedan",
"Empty file" : "Tom fil",
- "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Modul med ID: %s finns inte längre. Vänligen aktivera det i dina appinställningar eller kontakta din administratör.",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Modulen med ID: %s finns inte. Aktivera den i appinställningar eller kontakta din administratör.",
"File already exists" : "Filen existerar redan",
"Invalid path" : "Ogiltig sökväg",
"Failed to create file from template" : "Kunde skapa fil från mall",
@@ -85,14 +88,19 @@
"App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan inte installeras eftersom appinfo-filen inte kan läsas.",
"App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan inte installeras eftersom den inte är kompatibel med den här versionen av servern.",
"__language_name__" : "Svenska",
- "This is an automatically sent email, please do not reply." : "Detta är ett automatiskt skickat e-postmeddelande, svara inte på detta meddelande.",
+ "This is an automatically sent email, please do not reply." : "Detta är ett automatiskt e-postmeddelande, du kan därmed inte svara på det.",
"Help" : "Hjälp",
+ "Appearance and accessibility" : "Utseende och tillgänglighet",
"Apps" : "Appar",
+ "Personal settings" : "Personlig information",
+ "Administration settings" : "Administration",
"Settings" : "Inställningar",
"Log out" : "Logga ut",
"Users" : "Användare",
"Email" : "E-post",
"Mail %s" : "Skicka e-post %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "Visa %s på fediverse",
"Phone" : "Telefon",
"Call %s" : "Ring %s",
"Twitter" : "Twitter",
@@ -108,6 +116,10 @@
"Role" : "Roll",
"Unknown user" : "Okänd användare",
"Additional settings" : "Övriga inställningar",
+ "Enter the database username and name for %s" : "Ange databasanvändarnamn och lösenord för %s",
+ "Enter the database username for %s" : "Ange databasanvändare för %s",
+ "Enter the database name for %s" : "Ange databasnamn för %s",
+ "You cannot use dots in the database name %s" : "Du kan inte använda punkter i databasnamnet %s",
"MySQL username and/or password not valid" : "MySQL-användarnamn och/eller lösenord är felaktigt",
"You need to enter details of an existing account." : "Du måste ange inloggningsuppgifter av ett aktuellt konto.",
"Oracle connection could not be established" : "Oracle-anslutning kunde inte etableras",
@@ -115,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL-användarnamnet och/eller lösenordet är felaktigt",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X stöds inte och %s kommer inte att fungera korrekt på denna plattform. Använd på egen risk!",
"For the best results, please consider using a GNU/Linux server instead." : "För bästa resultat, överväg att använda en GNU/Linux-server istället.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det verkar som om denna %s instans körs på en 32-bitars PHP miljö och open_basedir har konfigurerats i php.ini. Detta kommer att leda till problem med filer över 4 GB och är verkligen inte rekommenderat!",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Ta bort open_basedir-inställningen i din php.ini eller växla till 64-bitars PHP.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Det verkar som att den här %s instansen körs i en 32-bitars PHP-miljö. 64-bitars krävs för 26 och högre.",
+ "Please switch to 64-bit PHP." : "Vänligen byt till 64-bitars PHP.",
"Set an admin username." : "Ange ett användarnamn för administratören.",
"Set an admin password." : "Ange ett administratörslösenord.",
"Cannot create or write into the data directory %s" : "Kan inte skapa eller skriva till data-katalogen %s",
@@ -140,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s delade »%2$s« med dig.",
"Click the button below to open it." : "Klicka på knappen nedan för att öppna det.",
"The requested share does not exist anymore" : "Den begärda delningen finns inte mer",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Användaren skapades inte eftersom användargränsen har nåtts. Kontrollera dina aviseringar för att läsa mer.",
"Could not find category \"%s\"" : "Kunde inte hitta kategorin \"%s\"",
"Sunday" : "Söndag",
"Monday" : "Måndag",
@@ -186,36 +199,56 @@
"Oct." : "Okt.",
"Nov." : "Nov.",
"Dec." : "Dec.",
- "The user limit has been reached and the user was not created." : "Maximala användarantalet har uppnåtts och användaren skapades inte.",
+ "A valid password must be provided" : "Ett giltigt lösenord måste anges",
+ "The username is already being used" : "Användarnamnet används redan",
+ "Could not create user" : "Kunde inte skapa användare",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Endast följande tecken är tillåtna i användarnamnet: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
"A valid username must be provided" : "Ett giltigt användarnamn måste anges",
"Username contains whitespace at the beginning or at the end" : "Användarnamnet består av ett mellanslag i början eller i slutet",
"Username must not consist of dots only" : "Användarnamnet får inte innehålla enbart punkter",
"Username is invalid because files already exist for this user" : "Användarnamnet är ogiltigt eftersom det redan finns filer för den här användaren",
- "A valid password must be provided" : "Ett giltigt lösenord måste anges",
- "The username is already being used" : "Användarnamnet används redan",
- "Could not create user" : "Kunde inte skapa användare",
"User disabled" : "Användare inaktiverad",
"Login canceled by app" : "Inloggningen avbruten av appen",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Appen \"%1$s\" kan inte installeras eftersom följande beroenden inte är uppfyllda: %2$s",
"a safe home for all your data" : "ett säkert hem för all din data",
"File is currently busy, please try again later" : "Filen är för tillfället upptagen, försök igen senare",
+ "Cannot download file" : "Kan inte ladda ner fil",
"Application is not enabled" : "Applikationen är inte aktiverad",
"Authentication error" : "Fel vid autentisering",
"Token expired. Please reload page." : "Token har löpt ut. Uppdatera sidan.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Inga databasdrivrutiner (sqlite, mysql, eller postgresql) installerade.",
+ "Cannot write into \"config\" directory." : "Kan inte skriva i \"config\"-katalogen.",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Detta kan vanligtvis åtgärdas genom att ge webbservern skrivåtkomst till config-katalogen. Se %s",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Eller, om du föredrar att behålla config.php skrivskyddad, sätt alternativet \"config_is_read_only\" till true i den. Se %s",
+ "Cannot write into \"apps\" directory." : "Kan inte skriva till \"apps\"-katalogen.",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Detta kan vanligtvis åtgärdas genom att ge webbservern skrivrättigheter till \"apps\"-katalogen eller stänga av appbutiken i konfigurationsfilen.",
+ "Cannot create \"data\" directory." : "Kan inte skapa \"data\"-katalog.",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Detta kan vanligtvis åtgärdas genom att ge webbservern skrivåtkomst till rotkatalogen. Se %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Behörigheter kan vanligtvis fixas genom att ge webbservern skrivåtkomst till rotkatalogen. Se %s.",
+ "Your data directory is not writable." : "Din datakatalog är inte skrivbar.",
+ "Setting locale to %s failed." : "Inställning av språk till %s misslyckades.",
+ "Please install one of these locales on your system and restart your web server." : "Installera en av dessa locales på ditt system och starta om din webbserver.",
"PHP module %s not installed." : "PHP-modulen %s är inte installerad.",
"Please ask your server administrator to install the module." : "Be serveradministratören att installera modulen.",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP-inställning \"%s\" är inte inställd på \"%s\".",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Att ändra denna inställning i php.ini kommer göra så att Nextcloud fungerar igen",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> är satt till <code>%s</code> istället för förväntade värdet <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : " För att åtgärda detta problemet, sätt<code>mbstring.func_overload</code> till <code>0</code> i din php.ini.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "libxml2 2.7.0 är det minsta som krävs. För närvarande är %s installerat.",
"To fix this issue update your libxml2 version and restart your web server." : "För att åtgärda detta problem uppdatera libxml2 versionen och starta om din webbserver.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP är tydligen inställt för att tömma \"inline doc blocks\". Detta kommer att göra flera kärnprogram otillgängliga.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Detta orsakas troligtvis av en cache/accelerator som t ex Zend OPchache eller eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP-moduler har installerats, men de listas fortfarande som saknade?",
"Please ask your server administrator to restart the web server." : "Be din serveradministratör att starta om webbservern.",
+ "The required %s config variable is not configured in the config.php file." : "Den nödvändiga konfigurationsvariabeln %s är inte konfigurerad i filen config.php.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Be din serveradministratör att kontrollera Nextcloud-konfigurationen.",
+ "PostgreSQL >= 9 required." : "PostgreSQL >= 9 krävs.",
+ "Please upgrade your database version." : "Uppgradera din databasversion.",
+ "Your data directory is readable by other users." : "Din datakatalog kan läsas av andra användare.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Ändra behörigheterna till 0770 så att katalogen inte kan listas av andra användare.",
+ "Your data directory must be an absolute path." : "Din datakatalog måste vara en absolut sökväg.",
+ "Check the value of \"datadirectory\" in your configuration." : "Kontrollera värdet på \"datadirectory\" i din konfiguration.",
+ "Your data directory is invalid." : "Din datakatalog är ogiltig.",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Säkerställ att du har filen \".ocdata\" i huvudkatalogen för din data.",
"Action \"%s\" not supported or implemented." : "Åtgärd \"%s\" stöds inte eller är inte implementerad.",
"Authentication failed, wrong token or provider ID given" : "Autentisering misslyckades, felaktig token eller leverantörs-ID",
@@ -233,6 +266,9 @@
"%s enter the database username." : "%s ange databasanvändare.",
"%s enter the database name." : "%s ange databasnamn",
"%s you may not use dots in the database name" : "%s du får inte använda punkter i databasnamnet",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Det verkar som om denna %s instans körs på en 32-bitars PHP miljö och open_basedir har konfigurerats i php.ini. Detta kommer att leda till problem med filer över 4 GB och är verkligen inte rekommenderat!",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Ta bort open_basedir-inställningen i din php.ini eller växla till 64-bitars PHP.",
+ "The user limit has been reached and the user was not created." : "Maximala användarantalet har uppnåtts och användaren skapades inte.",
"Cannot read file" : "Kan inte läsa fil",
"Cannot write into \"config\" directory" : "Kan inte skriva till \"config\" katalogen",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Detta kan vanligtvis åtgärda genom att ge webbservern skrivåtkomst till konfigureringsmappen. Se %s",
@@ -250,6 +286,7 @@
"Your data directory is readable by other users" : "Din datamapp är läsbar av andra användare",
"Your data directory must be an absolute path" : "Du måste specificera en korrekt sökväg till datamappen",
"Check the value of \"datadirectory\" in your configuration" : "Kontrollera värdet av \"datakatalog\" i din konfiguration",
- "Your data directory is invalid" : "Din datamapp är ogiltig"
+ "Your data directory is invalid" : "Din datamapp är ogiltig",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Användargränsen har nåtts och användaren skapades inte. Kontrollera dina aviseringar om du vill veta mer."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/lib/l10n/th.js b/lib/l10n/th.js
index b82eafca9d9..52063c57d00 100644
--- a/lib/l10n/th.js
+++ b/lib/l10n/th.js
@@ -58,8 +58,6 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL ชื่อผู้ใช้ และ/หรือ รหัสผ่านไม่ถูกต้อง",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "ระบบปฏิบัติการ Mac OS X ไม่ได้รับการสนับสนุนและ %s จะไม่ทำงานบนแพลตฟอร์มนี้ ใช้มันบนความเสี่ยงของคุณเอง!",
"For the best results, please consider using a GNU/Linux server instead." : "เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดโปรดพิจารณาใช้เซิร์ฟเวอร์ GNU/Linux แทน",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "ดูเหมือนว่า %s ทำงานบน PHP 32 บิต และ open_basedir ได้ถูกกำหนดค่าใน php.ini ซึ่งจะมีปัญหาหากไฟล์มีขนาดกว่า 4 GB กิกะไบต์",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "กรุณาลบการตั้งค่า open_basedir ภายใน php.ini ของหรือเปลี่ยนไปใช้ PHP รุ่น 64 บิตแทน",
"Set an admin username." : "ตั้งค่าชื่อผู้ดูแลระบบ",
"Set an admin password." : "ตั้งค่ารหัสผ่านผู้ดูแลระบบ",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "การแชร์แบ็กเอนด์ %s ต้องใช้อินเตอร์เฟซ OCP\\Share_Backend",
@@ -116,10 +114,10 @@ OC.L10N.register(
"Oct." : "ต.ค.",
"Nov." : "พ.ย.",
"Dec." : "ธ.ค.",
- "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ชื่อผู้ใช้จะใช้ได้แค่อักษรดังต่อไปนี้: \"a-z\", \"A-Z\", \"0-9\" และ \"_.@-'\"",
- "A valid username must be provided" : "ต้องระบุชื่อผู้ใช้ที่ถูกต้อง",
"A valid password must be provided" : "ต้องระบุรหัสผ่านที่ถูกต้อง",
"The username is already being used" : "ชื่อผู้ใช้นี้ถูกใช้ไปแล้ว",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ชื่อผู้ใช้จะใช้ได้แค่อักษรดังต่อไปนี้: \"a-z\", \"A-Z\", \"0-9\" และ \"_.@-'\"",
+ "A valid username must be provided" : "ต้องระบุชื่อผู้ใช้ที่ถูกต้อง",
"User disabled" : "ผู้ใช้ถูกปิดใช้งาน",
"a safe home for all your data" : "บ้านที่ปลอดภัยสำหรับข้อมูลของคุณ",
"File is currently busy, please try again later" : "ขณะนี้ไฟล์กำลังใช้งานอยู่ โปรดลองอีกครั้งในภายหลัง",
@@ -146,6 +144,8 @@ OC.L10N.register(
"%s enter the database username." : "%s ใส่ชื่อผู้ใช้ฐานข้อมูล",
"%s enter the database name." : "%s ใส่ชื่อฐานข้อมูล",
"%s you may not use dots in the database name" : "%s บางที่คุณไม่ควรมีจุดในชื่อฐานข้อมูล",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "ดูเหมือนว่า %s ทำงานบน PHP 32 บิต และ open_basedir ได้ถูกกำหนดค่าใน php.ini ซึ่งจะมีปัญหาหากไฟล์มีขนาดกว่า 4 GB กิกะไบต์",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "กรุณาลบการตั้งค่า open_basedir ภายใน php.ini ของหรือเปลี่ยนไปใช้ PHP รุ่น 64 บิตแทน",
"Cannot read file" : "ไม่สามารถอ่านไฟล์",
"Cannot write into \"config\" directory" : "ไม่สามารถเขียนลงในไดเรกทอรี \"config\"",
"Cannot write into \"apps\" directory" : "ไม่สามารถเขียนลงในไดเรกทอรี \"apps\"",
diff --git a/lib/l10n/th.json b/lib/l10n/th.json
index 13a3b1b897b..cc255c3bac5 100644
--- a/lib/l10n/th.json
+++ b/lib/l10n/th.json
@@ -56,8 +56,6 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL ชื่อผู้ใช้ และ/หรือ รหัสผ่านไม่ถูกต้อง",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "ระบบปฏิบัติการ Mac OS X ไม่ได้รับการสนับสนุนและ %s จะไม่ทำงานบนแพลตฟอร์มนี้ ใช้มันบนความเสี่ยงของคุณเอง!",
"For the best results, please consider using a GNU/Linux server instead." : "เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดโปรดพิจารณาใช้เซิร์ฟเวอร์ GNU/Linux แทน",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "ดูเหมือนว่า %s ทำงานบน PHP 32 บิต และ open_basedir ได้ถูกกำหนดค่าใน php.ini ซึ่งจะมีปัญหาหากไฟล์มีขนาดกว่า 4 GB กิกะไบต์",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "กรุณาลบการตั้งค่า open_basedir ภายใน php.ini ของหรือเปลี่ยนไปใช้ PHP รุ่น 64 บิตแทน",
"Set an admin username." : "ตั้งค่าชื่อผู้ดูแลระบบ",
"Set an admin password." : "ตั้งค่ารหัสผ่านผู้ดูแลระบบ",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "การแชร์แบ็กเอนด์ %s ต้องใช้อินเตอร์เฟซ OCP\\Share_Backend",
@@ -114,10 +112,10 @@
"Oct." : "ต.ค.",
"Nov." : "พ.ย.",
"Dec." : "ธ.ค.",
- "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ชื่อผู้ใช้จะใช้ได้แค่อักษรดังต่อไปนี้: \"a-z\", \"A-Z\", \"0-9\" และ \"_.@-'\"",
- "A valid username must be provided" : "ต้องระบุชื่อผู้ใช้ที่ถูกต้อง",
"A valid password must be provided" : "ต้องระบุรหัสผ่านที่ถูกต้อง",
"The username is already being used" : "ชื่อผู้ใช้นี้ถูกใช้ไปแล้ว",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ชื่อผู้ใช้จะใช้ได้แค่อักษรดังต่อไปนี้: \"a-z\", \"A-Z\", \"0-9\" และ \"_.@-'\"",
+ "A valid username must be provided" : "ต้องระบุชื่อผู้ใช้ที่ถูกต้อง",
"User disabled" : "ผู้ใช้ถูกปิดใช้งาน",
"a safe home for all your data" : "บ้านที่ปลอดภัยสำหรับข้อมูลของคุณ",
"File is currently busy, please try again later" : "ขณะนี้ไฟล์กำลังใช้งานอยู่ โปรดลองอีกครั้งในภายหลัง",
@@ -144,6 +142,8 @@
"%s enter the database username." : "%s ใส่ชื่อผู้ใช้ฐานข้อมูล",
"%s enter the database name." : "%s ใส่ชื่อฐานข้อมูล",
"%s you may not use dots in the database name" : "%s บางที่คุณไม่ควรมีจุดในชื่อฐานข้อมูล",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "ดูเหมือนว่า %s ทำงานบน PHP 32 บิต และ open_basedir ได้ถูกกำหนดค่าใน php.ini ซึ่งจะมีปัญหาหากไฟล์มีขนาดกว่า 4 GB กิกะไบต์",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "กรุณาลบการตั้งค่า open_basedir ภายใน php.ini ของหรือเปลี่ยนไปใช้ PHP รุ่น 64 บิตแทน",
"Cannot read file" : "ไม่สามารถอ่านไฟล์",
"Cannot write into \"config\" directory" : "ไม่สามารถเขียนลงในไดเรกทอรี \"config\"",
"Cannot write into \"apps\" directory" : "ไม่สามารถเขียนลงในไดเรกทอรี \"apps\"",
diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js
index 4fe22c928be..10102c9d8ce 100644
--- a/lib/l10n/tr.js
+++ b/lib/l10n/tr.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "%1$s uygulamasının dosyaları doğru şekilde değiştirilmedi. Sunucu ile uyumlu dosyaların yüklü olduğundan emin olun.",
"Sample configuration detected" : "Örnek yapılandırma algılandı",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Örnek yapılandırmanın kopyalanmış olabileceği tespit edildi. Bu durum kurulumunuzu bozabilir ve desteklenmez. Lütfen config.php dosyasında değişiklik yapmadan önce belgeleri okuyun",
+ "404" : "404",
+ "The page could not be found on the server." : "Sayfa sunucuda bulunamadı.",
"%s email verification" : "%s e-posta doğrulaması",
"Email verification" : "E-posta doğrulaması",
"Click the following button to confirm your email." : "E-posta adresinizi doğrulamak için aşağıdaki düğmeye tıklayın.",
@@ -99,6 +101,8 @@ OC.L10N.register(
"Users" : "Kullanıcılar",
"Email" : "E-posta",
"Mail %s" : "E-posta gönder: %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "%s Fediverse üzerinde görüntülensin",
"Phone" : "Telefon",
"Call %s" : "Çağrı gönder: %s",
"Twitter" : "Twitter",
@@ -125,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL kullanıcı adı ya da parolası geçersiz",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X desteklenmiyor ve %s bu platformda düzgün çalışmayacak. Kullanmaktan doğacak riskler size aittir!",
"For the best results, please consider using a GNU/Linux server instead." : "En iyi sonucu almak için GNU/Linux sunucusu kullanın.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Bu %s kopyası 32 bit PHP ortamında çalıştırılıyor ve open_basedir seçeneği php.ini dosyasından ayarlanmış gibi görünüyor. Bu yapılandırma 4 GB boyutundan büyük dosyalarda sorun çıkarır ve kullanılması önerilmez.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Lütfen php.ini dosyasındaki open_basedir ayarını kaldırın ya da 64-bit PHP sürümüne geçin.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Bu %s kopyası 32 bit PHP ortamında çalışıyor. 26 ve üzerindeki sürümler için 64 bit gereklidir.",
+ "Please switch to 64-bit PHP." : "Lütfen PHP kurulumunu 64 bit olarak değiştirin. ",
"Set an admin username." : "Bir yönetici kullanıcı adı yazın.",
"Set an admin password." : "Bir yönetici parolası yazın.",
"Cannot create or write into the data directory %s" : "%s veri klasörü oluşturulamadı ya da içine yazılamadı",
@@ -150,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s, sizinle »%2$s« ögesini paylaştı.",
"Click the button below to open it." : "Açmak için aşağıdaki düğmeye tıklayın.",
"The requested share does not exist anymore" : "Erişilmek istenilen paylaşım artık yok",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi. Ayrıntılı bilgi almak için bildirimlerinize bakın.",
"Could not find category \"%s\"" : "\"%s\" kategorisi bulunamadı",
"Sunday" : "Pazar",
"Monday" : "Pazartesi",
@@ -196,15 +201,14 @@ OC.L10N.register(
"Oct." : "Eki",
"Nov." : "Kas",
"Dec." : "Ara",
- "The user limit has been reached and the user was not created." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi.",
+ "A valid password must be provided" : "Geçerli bir parola yazmalısınız",
+ "The username is already being used" : "Bu kullanıcı adı zaten var",
+ "Could not create user" : "Kullanıcı oluşturulamadı",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kullanıcı adında yalnızca şu karakterler kullanılabilir: \"a-z\", \"A-Z\", \"0-9\", ve \"_.@-'\"",
"A valid username must be provided" : "Geçerli bir kullanıcı adı yazmalısınız",
"Username contains whitespace at the beginning or at the end" : "Kullanıcı adının başı ya da sonunda boşluk var",
"Username must not consist of dots only" : "Kullanıcı adı yalnızca noktalardan oluşamaz",
"Username is invalid because files already exist for this user" : "Kullanıcı adı geçersiz, bu kullanıcı için zaten bazı dosyalar var",
- "A valid password must be provided" : "Geçerli bir parola yazmalısınız",
- "The username is already being used" : "Bu kullanıcı adı zaten var",
- "Could not create user" : "Kullanıcı oluşturulamadı",
"User disabled" : "Kullanıcı devre dışı",
"Login canceled by app" : "Oturum açma uygulama tarafından iptal edildi",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %2$s",
@@ -264,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "%s veritabanı kullanıcı adını yazın.",
"%s enter the database name." : "%s veritabanı adını yazın.",
"%s you may not use dots in the database name" : "%s veritabanı adında nokta kullanamayabilirsiniz",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Bu %s kopyası 32 bit PHP ortamında çalıştırılıyor ve open_basedir seçeneği php.ini dosyasından ayarlanmış gibi görünüyor. Bu yapılandırma 4 GB boyutundan büyük dosyalarda sorun çıkarır ve kullanılması önerilmez.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Lütfen php.ini dosyasındaki open_basedir ayarını kaldırın ya da 64-bit PHP sürümüne geçin.",
+ "The user limit has been reached and the user was not created." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi.",
"Cannot read file" : "Dosya okunamadı",
"Cannot write into \"config\" directory" : "\"config\" klasörüne yazılamıyor",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Bu sorun genellikle, web sunucusuna config klasörüne yazma izni verilerek çözülebilir. %s bölümüne bakın",
@@ -281,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "Veri klasörünüz diğer kullanıcılar tarafından okunabilir",
"Your data directory must be an absolute path" : "Veri klasörünüz mutlak bir yol olmalıdır",
"Check the value of \"datadirectory\" in your configuration" : "Yapılandırmanızdaki \"datadirectory\" seçeneğini denetleyin",
- "Your data directory is invalid" : "Veri klasörünüz geçersiz"
+ "Your data directory is invalid" : "Veri klasörünüz geçersiz",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi. Ayrıntılı bilgi almak için bildirimlerinize bakın."
},
"nplurals=2; plural=(n > 1);");
diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json
index 782ff2897e6..8de8b8936e9 100644
--- a/lib/l10n/tr.json
+++ b/lib/l10n/tr.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "%1$s uygulamasının dosyaları doğru şekilde değiştirilmedi. Sunucu ile uyumlu dosyaların yüklü olduğundan emin olun.",
"Sample configuration detected" : "Örnek yapılandırma algılandı",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Örnek yapılandırmanın kopyalanmış olabileceği tespit edildi. Bu durum kurulumunuzu bozabilir ve desteklenmez. Lütfen config.php dosyasında değişiklik yapmadan önce belgeleri okuyun",
+ "404" : "404",
+ "The page could not be found on the server." : "Sayfa sunucuda bulunamadı.",
"%s email verification" : "%s e-posta doğrulaması",
"Email verification" : "E-posta doğrulaması",
"Click the following button to confirm your email." : "E-posta adresinizi doğrulamak için aşağıdaki düğmeye tıklayın.",
@@ -97,6 +99,8 @@
"Users" : "Kullanıcılar",
"Email" : "E-posta",
"Mail %s" : "E-posta gönder: %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "%s Fediverse üzerinde görüntülensin",
"Phone" : "Telefon",
"Call %s" : "Çağrı gönder: %s",
"Twitter" : "Twitter",
@@ -123,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL kullanıcı adı ya da parolası geçersiz",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X desteklenmiyor ve %s bu platformda düzgün çalışmayacak. Kullanmaktan doğacak riskler size aittir!",
"For the best results, please consider using a GNU/Linux server instead." : "En iyi sonucu almak için GNU/Linux sunucusu kullanın.",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Bu %s kopyası 32 bit PHP ortamında çalıştırılıyor ve open_basedir seçeneği php.ini dosyasından ayarlanmış gibi görünüyor. Bu yapılandırma 4 GB boyutundan büyük dosyalarda sorun çıkarır ve kullanılması önerilmez.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Lütfen php.ini dosyasındaki open_basedir ayarını kaldırın ya da 64-bit PHP sürümüne geçin.",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "Bu %s kopyası 32 bit PHP ortamında çalışıyor. 26 ve üzerindeki sürümler için 64 bit gereklidir.",
+ "Please switch to 64-bit PHP." : "Lütfen PHP kurulumunu 64 bit olarak değiştirin. ",
"Set an admin username." : "Bir yönetici kullanıcı adı yazın.",
"Set an admin password." : "Bir yönetici parolası yazın.",
"Cannot create or write into the data directory %s" : "%s veri klasörü oluşturulamadı ya da içine yazılamadı",
@@ -148,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s, sizinle »%2$s« ögesini paylaştı.",
"Click the button below to open it." : "Açmak için aşağıdaki düğmeye tıklayın.",
"The requested share does not exist anymore" : "Erişilmek istenilen paylaşım artık yok",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi. Ayrıntılı bilgi almak için bildirimlerinize bakın.",
"Could not find category \"%s\"" : "\"%s\" kategorisi bulunamadı",
"Sunday" : "Pazar",
"Monday" : "Pazartesi",
@@ -194,15 +199,14 @@
"Oct." : "Eki",
"Nov." : "Kas",
"Dec." : "Ara",
- "The user limit has been reached and the user was not created." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi.",
+ "A valid password must be provided" : "Geçerli bir parola yazmalısınız",
+ "The username is already being used" : "Bu kullanıcı adı zaten var",
+ "Could not create user" : "Kullanıcı oluşturulamadı",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kullanıcı adında yalnızca şu karakterler kullanılabilir: \"a-z\", \"A-Z\", \"0-9\", ve \"_.@-'\"",
"A valid username must be provided" : "Geçerli bir kullanıcı adı yazmalısınız",
"Username contains whitespace at the beginning or at the end" : "Kullanıcı adının başı ya da sonunda boşluk var",
"Username must not consist of dots only" : "Kullanıcı adı yalnızca noktalardan oluşamaz",
"Username is invalid because files already exist for this user" : "Kullanıcı adı geçersiz, bu kullanıcı için zaten bazı dosyalar var",
- "A valid password must be provided" : "Geçerli bir parola yazmalısınız",
- "The username is already being used" : "Bu kullanıcı adı zaten var",
- "Could not create user" : "Kullanıcı oluşturulamadı",
"User disabled" : "Kullanıcı devre dışı",
"Login canceled by app" : "Oturum açma uygulama tarafından iptal edildi",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %2$s",
@@ -262,6 +266,9 @@
"%s enter the database username." : "%s veritabanı kullanıcı adını yazın.",
"%s enter the database name." : "%s veritabanı adını yazın.",
"%s you may not use dots in the database name" : "%s veritabanı adında nokta kullanamayabilirsiniz",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Bu %s kopyası 32 bit PHP ortamında çalıştırılıyor ve open_basedir seçeneği php.ini dosyasından ayarlanmış gibi görünüyor. Bu yapılandırma 4 GB boyutundan büyük dosyalarda sorun çıkarır ve kullanılması önerilmez.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Lütfen php.ini dosyasındaki open_basedir ayarını kaldırın ya da 64-bit PHP sürümüne geçin.",
+ "The user limit has been reached and the user was not created." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi.",
"Cannot read file" : "Dosya okunamadı",
"Cannot write into \"config\" directory" : "\"config\" klasörüne yazılamıyor",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Bu sorun genellikle, web sunucusuna config klasörüne yazma izni verilerek çözülebilir. %s bölümüne bakın",
@@ -279,6 +286,7 @@
"Your data directory is readable by other users" : "Veri klasörünüz diğer kullanıcılar tarafından okunabilir",
"Your data directory must be an absolute path" : "Veri klasörünüz mutlak bir yol olmalıdır",
"Check the value of \"datadirectory\" in your configuration" : "Yapılandırmanızdaki \"datadirectory\" seçeneğini denetleyin",
- "Your data directory is invalid" : "Veri klasörünüz geçersiz"
+ "Your data directory is invalid" : "Veri klasörünüz geçersiz",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi. Ayrıntılı bilgi almak için bildirimlerinize bakın."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/lib/l10n/ug.js b/lib/l10n/ug.js
index f43bfe446b7..03456871c64 100644
--- a/lib/l10n/ug.js
+++ b/lib/l10n/ug.js
@@ -50,8 +50,8 @@ OC.L10N.register(
"Oct." : "ئوغۇز",
"Nov." : "ئوغلاق",
"Dec." : "كۆنەك",
- "A valid username must be provided" : "چوقۇم ئىناۋەتلىك ئىشلەتكۈچى ئىسمىدىن بىرنى تەمىنلەش كېرەك",
"A valid password must be provided" : "چوقۇم ئىناۋەتلىك ئىم تەمىنلەش كېرەك",
+ "A valid username must be provided" : "چوقۇم ئىناۋەتلىك ئىشلەتكۈچى ئىسمىدىن بىرنى تەمىنلەش كېرەك",
"Authentication error" : "سالاھىيەت دەلىللەش خاتالىقى"
},
"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/ug.json b/lib/l10n/ug.json
index 9c8245f9721..b5b528095cf 100644
--- a/lib/l10n/ug.json
+++ b/lib/l10n/ug.json
@@ -48,8 +48,8 @@
"Oct." : "ئوغۇز",
"Nov." : "ئوغلاق",
"Dec." : "كۆنەك",
- "A valid username must be provided" : "چوقۇم ئىناۋەتلىك ئىشلەتكۈچى ئىسمىدىن بىرنى تەمىنلەش كېرەك",
"A valid password must be provided" : "چوقۇم ئىناۋەتلىك ئىم تەمىنلەش كېرەك",
+ "A valid username must be provided" : "چوقۇم ئىناۋەتلىك ئىشلەتكۈچى ئىسمىدىن بىرنى تەمىنلەش كېرەك",
"Authentication error" : "سالاھىيەت دەلىللەش خاتالىقى"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/lib/l10n/uk.js b/lib/l10n/uk.js
index 1d5571d4a4c..c6d22c15f7f 100644
--- a/lib/l10n/uk.js
+++ b/lib/l10n/uk.js
@@ -2,26 +2,59 @@ OC.L10N.register(
"lib",
{
"Cannot write into \"config\" directory!" : "Не можу писати у каталог \"config\"!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу конфігурації.",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Але якщо ви віддаєте перевагу файлу config.php лише для читання, встановіть для параметра \"config_is_read_only\" значення true.",
"See %s" : "Переглянути %s",
+ "The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Файли програми %1$s замінено неправильно. Переконайтеся, що це версія, сумісна з сервером.",
"Sample configuration detected" : "Виявлено приклад конфігурації",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Було виявлено, що приклад конфігурації було скопійовано. Це може нашкодити вашій системі та не підтримується. Будь ласка, зверніться до документації перед внесенням змін в файл config.php",
+ "The page could not be found on the server." : "Сторінку не знайдено на сервері.",
+ "%s email verification" : "%s підтвердження електронної пошти",
+ "Email verification" : "Підтвердження електронної пошти",
+ "Click the following button to confirm your email." : "Натисніть наступну кнопку, щоб підтвердити свою електронну адресу.",
+ "Click the following link to confirm your email." : "Натисніть це посилання, щоб підтвердити свою електронну адресу.",
+ "Confirm your email" : "Підтвердьте свою електронну адресу",
"Other activities" : "Інша активність",
"%1$s and %2$s" : "%1$s та %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s та %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s та %4$s",
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s та %5$s",
+ "Education Edition" : "Для навчання",
+ "Enterprise bundle" : "Для бізнесу",
+ "Groupware bundle" : "Для робочих груп",
+ "Hub bundle" : "Основні застосунки",
+ "Social sharing bundle" : "Для соціальних мереж",
"PHP %s or higher is required." : "Необхідно PHP %s або вище",
"PHP with a version lower than %s is required." : "Потрібна версія PHP нижче %s ",
"%sbit or higher PHP required." : "%sнеобхідний PHP біт або вище.",
+ "The following architectures are supported: %s" : "Підтримуються такі архітектури: %s",
+ "The following databases are supported: %s" : "Підтримуються такі бази даних: %s",
"The command line tool %s could not be found" : "Утиліту командного рядка %s не знайдено",
"The library %s is not available." : "Бібліотека %s недоступна.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Бібліотека %1$s з версією вищою за необхідну %2$s - доступна версія %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Бібліотека %1$s з версією нижчою за необхідну %2$s - доступна версія %3$s.",
+ "The following platforms are supported: %s" : "Підтримуються такі платформи: %s",
"Server version %s or higher is required." : "Потрібна версія сервера %s або вище.",
"Server version %s or lower is required." : "Потрібна версія сервера %s або нижча.",
+ "Logged in user must be an admin, a sub admin or gotten special right to access this setting" : "Користувач, який увійшов у систему, має бути адміністратором, підадміністратором або мати спеціальні права доступу до цього налаштування",
+ "Logged in user must be an admin or sub admin" : "Увійшовши в систему користувач повинен бути адміністратором або підадміністратором",
+ "Logged in user must be an admin" : "Зареєстрований користувач має бути адміністратором",
+ "Wiping of device %s has started" : "Розпочато очищення пристрою %s",
+ "Wiping of device »%s« has started" : "Розпочато стирання даних на пристрої \"%s\".",
+ "»%s« started remote wipe" : "\"%s\" розпочато віддалене стирання даних",
+ "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "Пристрій або застосунок \"%s\" розпочали процес віддаленого стирання даних. Після завершення процесу ви отримаєте відповідне сповіщення електронною поштою.",
+ "Wiping of device %s has finished" : "Очищення пристрою %s завершено",
+ "Wiping of device »%s« has finished" : "Стирання даних на пристрої \"%s\" завершено",
+ "»%s« finished remote wipe" : "\"%s\" віддалене очищення стирання даних",
+ "Device or application »%s« has finished the remote wipe process." : "Пристрій або застосунок \"%s\" завершили процес віддаленого стирання даних.",
"Remote wipe started" : "Розпочато віддалене стирання",
+ "A remote wipe was started on device %s" : "На пристрої %s розпочато віддалене стирання",
"Remote wipe finished" : "Віддалене стирання завершено",
+ "The remote wipe on %s has finished" : "Дистанційне стирання на %s завершено",
"Authentication" : "Автентифікація",
"Unknown filetype" : "Невідомий тип файлу",
- "Invalid image" : "Невірне зображення",
+ "Invalid image" : "Недійсне зображення",
+ "Avatar image is not square" : "Зображення аватара не квадратне",
"View profile" : "Перегляд профілю",
"today" : "сьогодні",
"tomorrow" : "завтра",
@@ -30,16 +63,23 @@ OC.L10N.register(
"_%n day ago_::_%n days ago_" : ["%n день тому","%n днів тому","%n днів тому","%n днів тому"],
"next month" : "наступноого місяця",
"last month" : "минулого місяця",
+ "_in %n month_::_in %n months_" : ["в %n місяць","в %n місяцях","в %n місяцях","в %n місяцях"],
"_%n month ago_::_%n months ago_" : ["%n місяць тому","%n місяць тому","%n місяців тому","%n місяців тому"],
"next year" : "наступного року",
"last year" : "минулого року",
+ "_in %n year_::_in %n years_" : ["в %n рік","в %n роках","в %n роках","в %n роках"],
"_%n year ago_::_%n years ago_" : ["%n рік тому","%n років тому","%n років тому","%n років тому"],
+ "_in %n hour_::_in %n hours_" : ["в %n годин","в %n годинах","в %n годинах","в %n годинах"],
"_%n hour ago_::_%n hours ago_" : ["%nгодину тому","%n годин тому","%n годин тому","%n годин тому"],
+ "_in %n minute_::_in %n minutes_" : ["за %n хвилину","за %n хвилин","за %n хвилин","за %n хвилин"],
"_%n minute ago_::_%n minutes ago_" : ["%n хвилину тому","%n хвилин тому","%n хвилин тому","%n хвилин тому"],
"in a few seconds" : "через кілька секунд",
"seconds ago" : "секунди тому",
"Empty file" : "Порожній файл",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Модуль з ID: %s не існує. Будь ласка, увімкніть це в налаштуваннях програми або зверніться до адміністратора.",
"File already exists" : "Файл вже існує",
+ "Invalid path" : "Недійсний шлях",
+ "Failed to create file from template" : "Не вдалося створити файл із шаблону",
"Templates" : "Шаблони",
"File name is a reserved word" : "Ім’я файлу є зарезервованим словом",
"File name contains at least one invalid character" : "Ім’я файлу містить принаймні один некоректний символ",
@@ -49,50 +89,66 @@ OC.L10N.register(
"App \"%s\" cannot be installed because appinfo file cannot be read." : "Застосунок \"%s\" не може бути встановлений через те, що файл appinfo не може бути прочитано.",
"App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Програму \"%s\" неможливо встановити, оскільки вона не сумісна з цією версією сервера.",
"__language_name__" : "Українська",
+ "This is an automatically sent email, please do not reply." : "Це автоматично надісланий електронний лист, будь ласка, не відповідайте.",
"Help" : "Допомога",
+ "Appearance and accessibility" : "Вигляд та доступність",
"Apps" : "Застосунки",
- "Personal settings" : "Персональні налаштування",
- "Administration settings" : "Налаштування адміністрування",
+ "Personal settings" : "Особисте",
+ "Administration settings" : "Адміністрування",
"Settings" : "Налаштування",
"Log out" : "Вихід",
"Users" : "Користувачі",
"Email" : "Електронна пошта",
+ "Mail %s" : "Пошта %s",
"Phone" : "Телефон",
+ "Call %s" : "Телефонуйте %s",
"Twitter" : "Twitter",
+ "View %s on Twitter" : "Переглянути %s в Twitter",
"Website" : "Вебсайт",
+ "Visit %s" : "Відвідайте %s",
"Address" : "Адреса",
"Profile picture" : "Зображення облікового запису",
- "About" : "Про систему",
+ "About" : "Опис",
"Full name" : "Повна назва",
"Headline" : "Заголовок",
"Organisation" : "Організація",
"Role" : "Роль",
"Unknown user" : "Невідомий користувач",
"Additional settings" : "Додаткові налаштування",
+ "Enter the database username and name for %s" : "Введіть ім’я користувача та назву бази даних %s",
+ "Enter the database username for %s" : "Введіть ім’я користувача бази даних для %s",
+ "Enter the database name for %s" : "Введіть назву бази даних для %s",
+ "You cannot use dots in the database name %s" : "Не можна використовувати крапки в назві бази даних %s",
+ "MySQL username and/or password not valid" : "Ім'я користувача та/або пароль MySQL недійсні",
+ "You need to enter details of an existing account." : "Потрібно ввести дані наявного облікового запису.",
"Oracle connection could not be established" : "Не можемо з'єднатися з Oracle ",
"Oracle username and/or password not valid" : "Oracle ім'я користувача та/або пароль не дійсні",
"PostgreSQL username and/or password not valid" : "PostgreSQL ім'я користувача та/або пароль не дійсні",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не підтримується і %s не буде коректно працювати на цій платформі. Випробовуєте на свій риск!",
"For the best results, please consider using a GNU/Linux server instead." : "Для кращих результатів розгляньте можливість використання GNU/Linux серверу",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Здається що екземпляр цього %s працює в 32-бітному PHP середовищі і open_basedir повинен бути налаштований в php.ini. Це призведе до проблем з файлами більше 4 ГБ і це дуже не рекомендується.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Будь ласка, вилучіть параметр open_basedir у вашому php.ini або перейдіть на 64-бітний PHP.",
"Set an admin username." : "Встановіть ім'я адміністратора.",
"Set an admin password." : "Встановіть пароль адміністратора.",
+ "Cannot create or write into the data directory %s" : "Неможливо створити або записати в каталог даних %s",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Бекенд спільного доступу %s повинен реалізовувати інтерфейс OCP\\Share_Backend",
"Sharing backend %s not found" : "Бекенд спільного доступу %s не знайдено",
"Sharing backend for %s not found" : "Бекенд спільного доступу для %s не знайдено",
- "%1$s shared »%2$s« with you and wants to add:" : "%1$s надав доступ »%2$s« та хоче додати:",
- "%1$s shared »%2$s« with you and wants to add" : "%1$s надав доступ »%2$s« та хоче додати",
- "»%s« added a note to a file shared with you" : "»%s« додав нотатку до опублікованого файлу",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s надано доступ до \"%2$s\" та хоче додати:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s надано доступ до \"%2$s\" та хоче додати",
+ "»%s« added a note to a file shared with you" : "\"%s\" додано примітку до файлу у спільному доступі",
"Open »%s«" : "Відкрити 1%s",
"%1$s via %2$s" : "%1$s через %2$s",
"You are not allowed to share %s" : "Вам заборонено поширювати %s",
"Cannot increase permissions of %s" : "Не вдалося підвищити дозволи для %s",
+ "Files cannot be shared with delete permissions" : "Не можна ділитися файлами з дозволом на видалення",
+ "Files cannot be shared with create permissions" : "Не можна ділитися файлами з дозволом на створення",
"Expiration date is in the past" : "Дата закінчення в минулому",
+ "_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Неможливо встановити дату закінчення більше ніж %n день у майбутньому","Неможливо встановити дату закінчення більше ніж %n днів у майбутньому","Неможливо встановити дату закінчення більше ніж %n днів у майбутньому","Неможливо встановити дату закінчення більше ніж %n днів у майбутньому"],
+ "Sharing is only allowed with group members" : "Спільний доступ дозволений лише для учасників групи",
"Sharing %s failed, because this item is already shared with user %s" : "Не вдалося поділитися %s, оскільки %s вже має до нього доступ",
- "%1$s shared »%2$s« with you" : "%1$s надав доступ до »%2$s«",
- "%1$s shared »%2$s« with you." : "%1$s надав доступ до »%2$s«.",
+ "%1$s shared »%2$s« with you" : "%1$s надано доступ до \"%2$s\"",
+ "%1$s shared »%2$s« with you." : "%1$s надано доступ до \"%2$s\".",
"Click the button below to open it." : "Щоб відкрити файл, натисніть кнопку нижче.",
+ "The requested share does not exist anymore" : "Запитувана частка більше не існує",
"Could not find category \"%s\"" : "Не вдалося знайти категорію \"%s\"",
"Sunday" : "Неділя",
"Monday" : "Понеділок",
@@ -139,49 +195,92 @@ OC.L10N.register(
"Oct." : "Жов.",
"Nov." : "Лис.",
"Dec." : "Гру.",
+ "A valid password must be provided" : "Потрібно задати вірний пароль",
+ "The username is already being used" : "Ім'я користувача вже використовується",
+ "Could not create user" : "Не вдалося створити користувача",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Тільки такі символи допускаються в імені користувача: \"a-z\", \"A-Z\", \"0-9\", і \"_.@-'\"",
"A valid username must be provided" : "Потрібно задати вірне ім'я користувача",
"Username contains whitespace at the beginning or at the end" : "Ім'я користувача містить символ пробілу в початку або в кінці",
- "A valid password must be provided" : "Потрібно задати вірний пароль",
- "The username is already being used" : "Ім'я користувача вже використовується",
+ "Username must not consist of dots only" : "Ім'я користувача не повинно складатися лише з крапок",
+ "Username is invalid because files already exist for this user" : "Ім'я користувача недійсне, оскільки файли для цього користувача вже існують",
"User disabled" : "Користувач виключений",
"Login canceled by app" : "Вхід скасовано застосунком",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Програму \"%1$s\" неможливо встановити, оскільки не виконано такі залежності: %2$s",
"a safe home for all your data" : "безпечний дім для ваших даних",
"File is currently busy, please try again later" : "Файл на разі зайнятий, будь ласка, спробуйте пізніше",
+ "Cannot download file" : "Неможливо завантажити файл",
"Application is not enabled" : "Застосунок не увімкнено",
"Authentication error" : "Помилка автентифікації",
"Token expired. Please reload page." : "Строк дії токена скінчився. Будь ласка, перезавантажте сторінку.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Не встановлено драйвер бази даних (sqlite, mysql, or postgresql).",
+ "Cannot write into \"config\" directory." : "Не вдається записати в каталог \"config\".",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу конфігурації. Побачити %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Або, якщо ви віддаєте перевагу файлу config.php лише для читання, встановіть для параметра \"config_is_read_only\" значення true. Побачити %s",
+ "Cannot write into \"apps\" directory." : "Не вдається записати в каталог \"програми\".",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу програм або вимкнувши App Store у конфігураційному файлі.",
+ "Cannot create \"data\" directory." : "Неможливо створити каталог \"data\".",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Зазвичай це можна виправити, надавши веб-серверу доступ на запис до кореневого каталогу. Побачити %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Дозволи зазвичай можна виправити, надавши веб-серверу доступ на запис до кореневого каталогу. Побачити %s. ",
+ "Your data directory is not writable." : "Ваш каталог даних не доступний для запису.",
+ "Setting locale to %s failed." : "Помилка налаштування мови %s.",
+ "Please install one of these locales on your system and restart your web server." : "Установіть одну з цих локалей у вашій системі та перезапустіть веб-сервер.",
"PHP module %s not installed." : "%s модуль PHP не встановлено.",
"Please ask your server administrator to install the module." : "Будь ласка, зверніться до адміністратора, щоб встановити модуль.",
"PHP setting \"%s\" is not set to \"%s\"." : "Параметр PHP \"%s\" не встановлено в \"%s\".",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Налаштування цього параметра у php.ini змусить Nextcloud запуститися знову",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> замість <code>%s</code> очікуваного значення <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "Щоб вирішити цю проблему, установіть для <code>mbstring.func_overload</code> значення <code>0</code> у вашому php.ini.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "Необхідно libxml2 версії принаймні 2.7.0. На разі встановлена %s.",
"To fix this issue update your libxml2 version and restart your web server." : "Що виправити це оновіть версію libxml2 та перезапустіть веб-сервер.",
- "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Схоже, що PHP налаштовано на вичищення блоків вбудованої документації. Це зробить кілька основних додатків недоступними.",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Схоже, що PHP налаштовано на обрізання блоків вбудованих документів. Це зробить кілька головних застосунків недоступними.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Це, ймовірно, обумовлено використанням кеша/прискорювача такого як Zend OPcache або eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "Модулі PHP були встановлені, але вони все ще перераховані як відсутні?",
"Please ask your server administrator to restart the web server." : "Будь ласка, зверніться до адміністратора, щоб перезавантажити сервер.",
+ "The required %s config variable is not configured in the config.php file." : "Необхідна змінна конфігурації %s не налаштована у файлі config.php.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Будь ласка, попросіть свого адміністратора сервера перевірити конфігурацію Nextcloud.",
+ "PostgreSQL >= 9 required." : "Необхідно PostgreSQL >= 9.",
+ "Please upgrade your database version." : "Оновіть версію бази даних.",
+ "Your data directory is readable by other users." : "Ваш каталог даних доступний для читання іншим користувачам.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Змініть права доступу на 0770, щоб інші користувачі не могли отримати список файлів цього каталогу.",
+ "Your data directory must be an absolute path." : "Ваш каталог даних має бути абсолютним шляхом.",
+ "Check the value of \"datadirectory\" in your configuration." : "Перевірте значення «каталогу даних» у вашій конфігурації.",
+ "Your data directory is invalid." : "Ваш каталог даних недійсний.",
+ "Ensure there is a file called \".ocdata\" in the root of the data directory." : "Переконайтеся, що в корені каталогу даних є файл під назвою \".ocdata\".",
+ "Action \"%s\" not supported or implemented." : "Дія \"%s\" не підтримується або не реалізована.",
+ "Authentication failed, wrong token or provider ID given" : "Помилка автентифікації, указано неправильний маркер або ідентифікатор постачальника",
+ "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Немає параметрів для виконання запиту. Відсутні параметри: \"%s\"",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "Ідентифікатор \"%1$s\" уже використовується постачальником хмарної федерації \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "Постачальник Cloud Federation з ідентифікатором \"%s\" не існує.",
"Could not obtain lock type %d on \"%s\"." : "Не вдалося отримати блокування типу %d для \"%s\"",
"Storage unauthorized. %s" : "Сховище не авторизовано. %s",
"Storage incomplete configuration. %s" : "Неповна конфігурація сховища. %s",
"Storage connection error. %s" : "Помилка з'єднання зі сховищем. %s",
"Storage is temporarily not available" : "Сховище тимчасово недоступне",
"Storage connection timeout. %s" : "Час під'єднання до сховища вичерпався. %s",
+ "This can usually be fixed by giving the webserver write access to the config directory." : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу конфігурації.",
"%s enter the database username and name." : "%s введіть назву бази даних та ім'я користувача.",
"%s enter the database username." : "%s введіть ім'я користувача бази даних.",
"%s enter the database name." : "%s введіть назву бази даних.",
"%s you may not use dots in the database name" : "%s не можна використовувати крапки в назві бази даних",
- "Cannot write into \"config\" directory" : "Не можу писати у теку \"config\"",
- "Cannot write into \"apps\" directory" : "Не можу писати у теку \"apps\"",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Ймовірно, що сервер %s працює в 32-бітному PHP середовищі і open_basedir повинен бути налаштований в php.ini. Це призведе до проблем з файлами більше 4 ГБ і це дуже не рекомендується.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Будь ласка, вилучіть параметр open_basedir у вашому php.ini або перейдіть на 64-бітний PHP.",
+ "The user limit has been reached and the user was not created." : "Ліміт користувачів досягнуто, і користувача не було створено.",
+ "Cannot read file" : "Неможливо прочитати файл",
+ "Cannot write into \"config\" directory" : "Неможливо записувати до каталгу \"config\"",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу конфігурації. Побачити %s",
+ "Cannot write into \"apps\" directory" : "Неможливо записувати до каталогу \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу програм або вимкнувши App Store у файлі конфігурації.",
"Cannot create \"data\" directory" : "Неможливо створити каталог даних",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Зазвичай це можна виправити, надавши веб-серверу доступ на запис до кореневого каталогу. Побачити %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Зазвичай дозволи можна виправити, надавши веб-серверу доступ на запис до кореневого каталогу. Побачити %s.",
"Setting locale to %s failed" : "Установка локалі %s не вдалася",
"Please install one of these locales on your system and restart your webserver." : "Встановіть один із цих мовних пакетів в вашу систему і перезапустіть веб-сервер.",
"mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload налаштовано як \"%s\" замість очікуваного значення \"0\"",
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Для виправлення змініть <code>mbstring.func_overload</code> на <code>0</code> у вашому php.ini",
"PostgreSQL >= 9 required" : "Потрібно PostgreSQL> = 9",
"Please upgrade your database version" : "Оновіть версію бази даних",
+ "Your data directory is readable by other users" : "Ваш каталог даних доступний для читання іншим користувачам",
+ "Your data directory must be an absolute path" : "Ваш каталог даних має бути абсолютним шляхом",
"Check the value of \"datadirectory\" in your configuration" : "Перевірте значення \"datadirectory\" у своїй конфігурації",
"Your data directory is invalid" : "Ваш каталог даних недійсний"
},
diff --git a/lib/l10n/uk.json b/lib/l10n/uk.json
index 752f3e29cda..51a9be14028 100644
--- a/lib/l10n/uk.json
+++ b/lib/l10n/uk.json
@@ -1,25 +1,58 @@
{ "translations": {
"Cannot write into \"config\" directory!" : "Не можу писати у каталог \"config\"!",
+ "This can usually be fixed by giving the web server write access to the config directory." : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу конфігурації.",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Але якщо ви віддаєте перевагу файлу config.php лише для читання, встановіть для параметра \"config_is_read_only\" значення true.",
"See %s" : "Переглянути %s",
+ "The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "Файли програми %1$s замінено неправильно. Переконайтеся, що це версія, сумісна з сервером.",
"Sample configuration detected" : "Виявлено приклад конфігурації",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Було виявлено, що приклад конфігурації було скопійовано. Це може нашкодити вашій системі та не підтримується. Будь ласка, зверніться до документації перед внесенням змін в файл config.php",
+ "The page could not be found on the server." : "Сторінку не знайдено на сервері.",
+ "%s email verification" : "%s підтвердження електронної пошти",
+ "Email verification" : "Підтвердження електронної пошти",
+ "Click the following button to confirm your email." : "Натисніть наступну кнопку, щоб підтвердити свою електронну адресу.",
+ "Click the following link to confirm your email." : "Натисніть це посилання, щоб підтвердити свою електронну адресу.",
+ "Confirm your email" : "Підтвердьте свою електронну адресу",
"Other activities" : "Інша активність",
"%1$s and %2$s" : "%1$s та %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s та %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s та %4$s",
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s та %5$s",
+ "Education Edition" : "Для навчання",
+ "Enterprise bundle" : "Для бізнесу",
+ "Groupware bundle" : "Для робочих груп",
+ "Hub bundle" : "Основні застосунки",
+ "Social sharing bundle" : "Для соціальних мереж",
"PHP %s or higher is required." : "Необхідно PHP %s або вище",
"PHP with a version lower than %s is required." : "Потрібна версія PHP нижче %s ",
"%sbit or higher PHP required." : "%sнеобхідний PHP біт або вище.",
+ "The following architectures are supported: %s" : "Підтримуються такі архітектури: %s",
+ "The following databases are supported: %s" : "Підтримуються такі бази даних: %s",
"The command line tool %s could not be found" : "Утиліту командного рядка %s не знайдено",
"The library %s is not available." : "Бібліотека %s недоступна.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Бібліотека %1$s з версією вищою за необхідну %2$s - доступна версія %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Бібліотека %1$s з версією нижчою за необхідну %2$s - доступна версія %3$s.",
+ "The following platforms are supported: %s" : "Підтримуються такі платформи: %s",
"Server version %s or higher is required." : "Потрібна версія сервера %s або вище.",
"Server version %s or lower is required." : "Потрібна версія сервера %s або нижча.",
+ "Logged in user must be an admin, a sub admin or gotten special right to access this setting" : "Користувач, який увійшов у систему, має бути адміністратором, підадміністратором або мати спеціальні права доступу до цього налаштування",
+ "Logged in user must be an admin or sub admin" : "Увійшовши в систему користувач повинен бути адміністратором або підадміністратором",
+ "Logged in user must be an admin" : "Зареєстрований користувач має бути адміністратором",
+ "Wiping of device %s has started" : "Розпочато очищення пристрою %s",
+ "Wiping of device »%s« has started" : "Розпочато стирання даних на пристрої \"%s\".",
+ "»%s« started remote wipe" : "\"%s\" розпочато віддалене стирання даних",
+ "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "Пристрій або застосунок \"%s\" розпочали процес віддаленого стирання даних. Після завершення процесу ви отримаєте відповідне сповіщення електронною поштою.",
+ "Wiping of device %s has finished" : "Очищення пристрою %s завершено",
+ "Wiping of device »%s« has finished" : "Стирання даних на пристрої \"%s\" завершено",
+ "»%s« finished remote wipe" : "\"%s\" віддалене очищення стирання даних",
+ "Device or application »%s« has finished the remote wipe process." : "Пристрій або застосунок \"%s\" завершили процес віддаленого стирання даних.",
"Remote wipe started" : "Розпочато віддалене стирання",
+ "A remote wipe was started on device %s" : "На пристрої %s розпочато віддалене стирання",
"Remote wipe finished" : "Віддалене стирання завершено",
+ "The remote wipe on %s has finished" : "Дистанційне стирання на %s завершено",
"Authentication" : "Автентифікація",
"Unknown filetype" : "Невідомий тип файлу",
- "Invalid image" : "Невірне зображення",
+ "Invalid image" : "Недійсне зображення",
+ "Avatar image is not square" : "Зображення аватара не квадратне",
"View profile" : "Перегляд профілю",
"today" : "сьогодні",
"tomorrow" : "завтра",
@@ -28,16 +61,23 @@
"_%n day ago_::_%n days ago_" : ["%n день тому","%n днів тому","%n днів тому","%n днів тому"],
"next month" : "наступноого місяця",
"last month" : "минулого місяця",
+ "_in %n month_::_in %n months_" : ["в %n місяць","в %n місяцях","в %n місяцях","в %n місяцях"],
"_%n month ago_::_%n months ago_" : ["%n місяць тому","%n місяць тому","%n місяців тому","%n місяців тому"],
"next year" : "наступного року",
"last year" : "минулого року",
+ "_in %n year_::_in %n years_" : ["в %n рік","в %n роках","в %n роках","в %n роках"],
"_%n year ago_::_%n years ago_" : ["%n рік тому","%n років тому","%n років тому","%n років тому"],
+ "_in %n hour_::_in %n hours_" : ["в %n годин","в %n годинах","в %n годинах","в %n годинах"],
"_%n hour ago_::_%n hours ago_" : ["%nгодину тому","%n годин тому","%n годин тому","%n годин тому"],
+ "_in %n minute_::_in %n minutes_" : ["за %n хвилину","за %n хвилин","за %n хвилин","за %n хвилин"],
"_%n minute ago_::_%n minutes ago_" : ["%n хвилину тому","%n хвилин тому","%n хвилин тому","%n хвилин тому"],
"in a few seconds" : "через кілька секунд",
"seconds ago" : "секунди тому",
"Empty file" : "Порожній файл",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Модуль з ID: %s не існує. Будь ласка, увімкніть це в налаштуваннях програми або зверніться до адміністратора.",
"File already exists" : "Файл вже існує",
+ "Invalid path" : "Недійсний шлях",
+ "Failed to create file from template" : "Не вдалося створити файл із шаблону",
"Templates" : "Шаблони",
"File name is a reserved word" : "Ім’я файлу є зарезервованим словом",
"File name contains at least one invalid character" : "Ім’я файлу містить принаймні один некоректний символ",
@@ -47,50 +87,66 @@
"App \"%s\" cannot be installed because appinfo file cannot be read." : "Застосунок \"%s\" не може бути встановлений через те, що файл appinfo не може бути прочитано.",
"App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Програму \"%s\" неможливо встановити, оскільки вона не сумісна з цією версією сервера.",
"__language_name__" : "Українська",
+ "This is an automatically sent email, please do not reply." : "Це автоматично надісланий електронний лист, будь ласка, не відповідайте.",
"Help" : "Допомога",
+ "Appearance and accessibility" : "Вигляд та доступність",
"Apps" : "Застосунки",
- "Personal settings" : "Персональні налаштування",
- "Administration settings" : "Налаштування адміністрування",
+ "Personal settings" : "Особисте",
+ "Administration settings" : "Адміністрування",
"Settings" : "Налаштування",
"Log out" : "Вихід",
"Users" : "Користувачі",
"Email" : "Електронна пошта",
+ "Mail %s" : "Пошта %s",
"Phone" : "Телефон",
+ "Call %s" : "Телефонуйте %s",
"Twitter" : "Twitter",
+ "View %s on Twitter" : "Переглянути %s в Twitter",
"Website" : "Вебсайт",
+ "Visit %s" : "Відвідайте %s",
"Address" : "Адреса",
"Profile picture" : "Зображення облікового запису",
- "About" : "Про систему",
+ "About" : "Опис",
"Full name" : "Повна назва",
"Headline" : "Заголовок",
"Organisation" : "Організація",
"Role" : "Роль",
"Unknown user" : "Невідомий користувач",
"Additional settings" : "Додаткові налаштування",
+ "Enter the database username and name for %s" : "Введіть ім’я користувача та назву бази даних %s",
+ "Enter the database username for %s" : "Введіть ім’я користувача бази даних для %s",
+ "Enter the database name for %s" : "Введіть назву бази даних для %s",
+ "You cannot use dots in the database name %s" : "Не можна використовувати крапки в назві бази даних %s",
+ "MySQL username and/or password not valid" : "Ім'я користувача та/або пароль MySQL недійсні",
+ "You need to enter details of an existing account." : "Потрібно ввести дані наявного облікового запису.",
"Oracle connection could not be established" : "Не можемо з'єднатися з Oracle ",
"Oracle username and/or password not valid" : "Oracle ім'я користувача та/або пароль не дійсні",
"PostgreSQL username and/or password not valid" : "PostgreSQL ім'я користувача та/або пароль не дійсні",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не підтримується і %s не буде коректно працювати на цій платформі. Випробовуєте на свій риск!",
"For the best results, please consider using a GNU/Linux server instead." : "Для кращих результатів розгляньте можливість використання GNU/Linux серверу",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Здається що екземпляр цього %s працює в 32-бітному PHP середовищі і open_basedir повинен бути налаштований в php.ini. Це призведе до проблем з файлами більше 4 ГБ і це дуже не рекомендується.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Будь ласка, вилучіть параметр open_basedir у вашому php.ini або перейдіть на 64-бітний PHP.",
"Set an admin username." : "Встановіть ім'я адміністратора.",
"Set an admin password." : "Встановіть пароль адміністратора.",
+ "Cannot create or write into the data directory %s" : "Неможливо створити або записати в каталог даних %s",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Бекенд спільного доступу %s повинен реалізовувати інтерфейс OCP\\Share_Backend",
"Sharing backend %s not found" : "Бекенд спільного доступу %s не знайдено",
"Sharing backend for %s not found" : "Бекенд спільного доступу для %s не знайдено",
- "%1$s shared »%2$s« with you and wants to add:" : "%1$s надав доступ »%2$s« та хоче додати:",
- "%1$s shared »%2$s« with you and wants to add" : "%1$s надав доступ »%2$s« та хоче додати",
- "»%s« added a note to a file shared with you" : "»%s« додав нотатку до опублікованого файлу",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s надано доступ до \"%2$s\" та хоче додати:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s надано доступ до \"%2$s\" та хоче додати",
+ "»%s« added a note to a file shared with you" : "\"%s\" додано примітку до файлу у спільному доступі",
"Open »%s«" : "Відкрити 1%s",
"%1$s via %2$s" : "%1$s через %2$s",
"You are not allowed to share %s" : "Вам заборонено поширювати %s",
"Cannot increase permissions of %s" : "Не вдалося підвищити дозволи для %s",
+ "Files cannot be shared with delete permissions" : "Не можна ділитися файлами з дозволом на видалення",
+ "Files cannot be shared with create permissions" : "Не можна ділитися файлами з дозволом на створення",
"Expiration date is in the past" : "Дата закінчення в минулому",
+ "_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Неможливо встановити дату закінчення більше ніж %n день у майбутньому","Неможливо встановити дату закінчення більше ніж %n днів у майбутньому","Неможливо встановити дату закінчення більше ніж %n днів у майбутньому","Неможливо встановити дату закінчення більше ніж %n днів у майбутньому"],
+ "Sharing is only allowed with group members" : "Спільний доступ дозволений лише для учасників групи",
"Sharing %s failed, because this item is already shared with user %s" : "Не вдалося поділитися %s, оскільки %s вже має до нього доступ",
- "%1$s shared »%2$s« with you" : "%1$s надав доступ до »%2$s«",
- "%1$s shared »%2$s« with you." : "%1$s надав доступ до »%2$s«.",
+ "%1$s shared »%2$s« with you" : "%1$s надано доступ до \"%2$s\"",
+ "%1$s shared »%2$s« with you." : "%1$s надано доступ до \"%2$s\".",
"Click the button below to open it." : "Щоб відкрити файл, натисніть кнопку нижче.",
+ "The requested share does not exist anymore" : "Запитувана частка більше не існує",
"Could not find category \"%s\"" : "Не вдалося знайти категорію \"%s\"",
"Sunday" : "Неділя",
"Monday" : "Понеділок",
@@ -137,49 +193,92 @@
"Oct." : "Жов.",
"Nov." : "Лис.",
"Dec." : "Гру.",
+ "A valid password must be provided" : "Потрібно задати вірний пароль",
+ "The username is already being used" : "Ім'я користувача вже використовується",
+ "Could not create user" : "Не вдалося створити користувача",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Тільки такі символи допускаються в імені користувача: \"a-z\", \"A-Z\", \"0-9\", і \"_.@-'\"",
"A valid username must be provided" : "Потрібно задати вірне ім'я користувача",
"Username contains whitespace at the beginning or at the end" : "Ім'я користувача містить символ пробілу в початку або в кінці",
- "A valid password must be provided" : "Потрібно задати вірний пароль",
- "The username is already being used" : "Ім'я користувача вже використовується",
+ "Username must not consist of dots only" : "Ім'я користувача не повинно складатися лише з крапок",
+ "Username is invalid because files already exist for this user" : "Ім'я користувача недійсне, оскільки файли для цього користувача вже існують",
"User disabled" : "Користувач виключений",
"Login canceled by app" : "Вхід скасовано застосунком",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Програму \"%1$s\" неможливо встановити, оскільки не виконано такі залежності: %2$s",
"a safe home for all your data" : "безпечний дім для ваших даних",
"File is currently busy, please try again later" : "Файл на разі зайнятий, будь ласка, спробуйте пізніше",
+ "Cannot download file" : "Неможливо завантажити файл",
"Application is not enabled" : "Застосунок не увімкнено",
"Authentication error" : "Помилка автентифікації",
"Token expired. Please reload page." : "Строк дії токена скінчився. Будь ласка, перезавантажте сторінку.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Не встановлено драйвер бази даних (sqlite, mysql, or postgresql).",
+ "Cannot write into \"config\" directory." : "Не вдається записати в каталог \"config\".",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу конфігурації. Побачити %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Або, якщо ви віддаєте перевагу файлу config.php лише для читання, встановіть для параметра \"config_is_read_only\" значення true. Побачити %s",
+ "Cannot write into \"apps\" directory." : "Не вдається записати в каталог \"програми\".",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу програм або вимкнувши App Store у конфігураційному файлі.",
+ "Cannot create \"data\" directory." : "Неможливо створити каталог \"data\".",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "Зазвичай це можна виправити, надавши веб-серверу доступ на запис до кореневого каталогу. Побачити %s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "Дозволи зазвичай можна виправити, надавши веб-серверу доступ на запис до кореневого каталогу. Побачити %s. ",
+ "Your data directory is not writable." : "Ваш каталог даних не доступний для запису.",
+ "Setting locale to %s failed." : "Помилка налаштування мови %s.",
+ "Please install one of these locales on your system and restart your web server." : "Установіть одну з цих локалей у вашій системі та перезапустіть веб-сервер.",
"PHP module %s not installed." : "%s модуль PHP не встановлено.",
"Please ask your server administrator to install the module." : "Будь ласка, зверніться до адміністратора, щоб встановити модуль.",
"PHP setting \"%s\" is not set to \"%s\"." : "Параметр PHP \"%s\" не встановлено в \"%s\".",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Налаштування цього параметра у php.ini змусить Nextcloud запуститися знову",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code> замість <code>%s</code> очікуваного значення <code>0</code>.",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "Щоб вирішити цю проблему, установіть для <code>mbstring.func_overload</code> значення <code>0</code> у вашому php.ini.",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "Необхідно libxml2 версії принаймні 2.7.0. На разі встановлена %s.",
"To fix this issue update your libxml2 version and restart your web server." : "Що виправити це оновіть версію libxml2 та перезапустіть веб-сервер.",
- "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Схоже, що PHP налаштовано на вичищення блоків вбудованої документації. Це зробить кілька основних додатків недоступними.",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Схоже, що PHP налаштовано на обрізання блоків вбудованих документів. Це зробить кілька головних застосунків недоступними.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Це, ймовірно, обумовлено використанням кеша/прискорювача такого як Zend OPcache або eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "Модулі PHP були встановлені, але вони все ще перераховані як відсутні?",
"Please ask your server administrator to restart the web server." : "Будь ласка, зверніться до адміністратора, щоб перезавантажити сервер.",
+ "The required %s config variable is not configured in the config.php file." : "Необхідна змінна конфігурації %s не налаштована у файлі config.php.",
+ "Please ask your server administrator to check the Nextcloud configuration." : "Будь ласка, попросіть свого адміністратора сервера перевірити конфігурацію Nextcloud.",
+ "PostgreSQL >= 9 required." : "Необхідно PostgreSQL >= 9.",
+ "Please upgrade your database version." : "Оновіть версію бази даних.",
+ "Your data directory is readable by other users." : "Ваш каталог даних доступний для читання іншим користувачам.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Змініть права доступу на 0770, щоб інші користувачі не могли отримати список файлів цього каталогу.",
+ "Your data directory must be an absolute path." : "Ваш каталог даних має бути абсолютним шляхом.",
+ "Check the value of \"datadirectory\" in your configuration." : "Перевірте значення «каталогу даних» у вашій конфігурації.",
+ "Your data directory is invalid." : "Ваш каталог даних недійсний.",
+ "Ensure there is a file called \".ocdata\" in the root of the data directory." : "Переконайтеся, що в корені каталогу даних є файл під назвою \".ocdata\".",
+ "Action \"%s\" not supported or implemented." : "Дія \"%s\" не підтримується або не реалізована.",
+ "Authentication failed, wrong token or provider ID given" : "Помилка автентифікації, указано неправильний маркер або ідентифікатор постачальника",
+ "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Немає параметрів для виконання запиту. Відсутні параметри: \"%s\"",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "Ідентифікатор \"%1$s\" уже використовується постачальником хмарної федерації \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "Постачальник Cloud Federation з ідентифікатором \"%s\" не існує.",
"Could not obtain lock type %d on \"%s\"." : "Не вдалося отримати блокування типу %d для \"%s\"",
"Storage unauthorized. %s" : "Сховище не авторизовано. %s",
"Storage incomplete configuration. %s" : "Неповна конфігурація сховища. %s",
"Storage connection error. %s" : "Помилка з'єднання зі сховищем. %s",
"Storage is temporarily not available" : "Сховище тимчасово недоступне",
"Storage connection timeout. %s" : "Час під'єднання до сховища вичерпався. %s",
+ "This can usually be fixed by giving the webserver write access to the config directory." : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу конфігурації.",
"%s enter the database username and name." : "%s введіть назву бази даних та ім'я користувача.",
"%s enter the database username." : "%s введіть ім'я користувача бази даних.",
"%s enter the database name." : "%s введіть назву бази даних.",
"%s you may not use dots in the database name" : "%s не можна використовувати крапки в назві бази даних",
- "Cannot write into \"config\" directory" : "Не можу писати у теку \"config\"",
- "Cannot write into \"apps\" directory" : "Не можу писати у теку \"apps\"",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Ймовірно, що сервер %s працює в 32-бітному PHP середовищі і open_basedir повинен бути налаштований в php.ini. Це призведе до проблем з файлами більше 4 ГБ і це дуже не рекомендується.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Будь ласка, вилучіть параметр open_basedir у вашому php.ini або перейдіть на 64-бітний PHP.",
+ "The user limit has been reached and the user was not created." : "Ліміт користувачів досягнуто, і користувача не було створено.",
+ "Cannot read file" : "Неможливо прочитати файл",
+ "Cannot write into \"config\" directory" : "Неможливо записувати до каталгу \"config\"",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу конфігурації. Побачити %s",
+ "Cannot write into \"apps\" directory" : "Неможливо записувати до каталогу \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "Зазвичай це можна виправити, надавши веб-серверу доступ для запису до каталогу програм або вимкнувши App Store у файлі конфігурації.",
"Cannot create \"data\" directory" : "Неможливо створити каталог даних",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Зазвичай це можна виправити, надавши веб-серверу доступ на запис до кореневого каталогу. Побачити %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Зазвичай дозволи можна виправити, надавши веб-серверу доступ на запис до кореневого каталогу. Побачити %s.",
"Setting locale to %s failed" : "Установка локалі %s не вдалася",
"Please install one of these locales on your system and restart your webserver." : "Встановіть один із цих мовних пакетів в вашу систему і перезапустіть веб-сервер.",
"mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload налаштовано як \"%s\" замість очікуваного значення \"0\"",
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Для виправлення змініть <code>mbstring.func_overload</code> на <code>0</code> у вашому php.ini",
"PostgreSQL >= 9 required" : "Потрібно PostgreSQL> = 9",
"Please upgrade your database version" : "Оновіть версію бази даних",
+ "Your data directory is readable by other users" : "Ваш каталог даних доступний для читання іншим користувачам",
+ "Your data directory must be an absolute path" : "Ваш каталог даних має бути абсолютним шляхом",
"Check the value of \"datadirectory\" in your configuration" : "Перевірте значення \"datadirectory\" у своїй конфігурації",
"Your data directory is invalid" : "Ваш каталог даних недійсний"
},"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);"
diff --git a/lib/l10n/vi.js b/lib/l10n/vi.js
index b70a96aaa61..a429b2d045a 100644
--- a/lib/l10n/vi.js
+++ b/lib/l10n/vi.js
@@ -45,7 +45,6 @@ OC.L10N.register(
"About" : "Giới thiệu",
"Full name" : "Tên đầy đủ",
"Unknown user" : "Người dùng không tồn tại",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Hãy xóa thiết lập open_basedir tại tập tin cấu hình php.ini hoặc chuyển sang dùng PHP 64-bit.",
"Open »%s«" : "Mở »%s«",
"%1$s via %2$s" : "%1$s thông qua %2$s",
"Click the button below to open it." : "Bấm vào nút bên dưới để mở nó.",
@@ -93,6 +92,7 @@ OC.L10N.register(
"Application is not enabled" : "Ứng dụng không được BẬT",
"Authentication error" : "Lỗi xác thực",
"Token expired. Please reload page." : "Mã Token đã hết hạn. Hãy tải lại trang.",
- "Storage is temporarily not available" : "Kho lưu trữ tạm thời không khả dụng"
+ "Storage is temporarily not available" : "Kho lưu trữ tạm thời không khả dụng",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Hãy xóa thiết lập open_basedir tại tập tin cấu hình php.ini hoặc chuyển sang dùng PHP 64-bit."
},
"nplurals=1; plural=0;");
diff --git a/lib/l10n/vi.json b/lib/l10n/vi.json
index 21c16c00f8c..177188ac830 100644
--- a/lib/l10n/vi.json
+++ b/lib/l10n/vi.json
@@ -43,7 +43,6 @@
"About" : "Giới thiệu",
"Full name" : "Tên đầy đủ",
"Unknown user" : "Người dùng không tồn tại",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Hãy xóa thiết lập open_basedir tại tập tin cấu hình php.ini hoặc chuyển sang dùng PHP 64-bit.",
"Open »%s«" : "Mở »%s«",
"%1$s via %2$s" : "%1$s thông qua %2$s",
"Click the button below to open it." : "Bấm vào nút bên dưới để mở nó.",
@@ -91,6 +90,7 @@
"Application is not enabled" : "Ứng dụng không được BẬT",
"Authentication error" : "Lỗi xác thực",
"Token expired. Please reload page." : "Mã Token đã hết hạn. Hãy tải lại trang.",
- "Storage is temporarily not available" : "Kho lưu trữ tạm thời không khả dụng"
+ "Storage is temporarily not available" : "Kho lưu trữ tạm thời không khả dụng",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Hãy xóa thiết lập open_basedir tại tập tin cấu hình php.ini hoặc chuyển sang dùng PHP 64-bit."
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js
index cbea2de3a77..51a69e9b374 100644
--- a/lib/l10n/zh_CN.js
+++ b/lib/l10n/zh_CN.js
@@ -2,11 +2,14 @@ OC.L10N.register(
"lib",
{
"Cannot write into \"config\" directory!" : "无法写入 \"config\" 目录!",
- "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "但是,如果你喜欢将 config.php 文件设置为只读,可以将 \"config is read only\"选项设置为 true。",
+ "This can usually be fixed by giving the web server write access to the config directory." : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复这个问题。",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "但是,如果您更希望将 config.php 文件设为只读,可以将 \"config_is_read_only\" 选项设置为 true。",
"See %s" : "查看 %s",
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "应用%1$s的文件替换不正确。请确认版本与当前服务器兼容。",
"Sample configuration detected" : "示例配置检测",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "您似乎直接把 config.php 的样例文件直接复制使用。这可能会破坏您的安装。在对 config.php 进行修改之前请先阅读相关文档。",
+ "404" : "404",
+ "The page could not be found on the server." : "无法在服务器上找到此页面",
"%s email verification" : "%s 电子邮件验证",
"Email verification" : "电子邮件验证",
"Click the following button to confirm your email." : "点击下方按钮确认电子邮件地址",
@@ -74,7 +77,7 @@ OC.L10N.register(
"in a few seconds" : "几秒钟内",
"seconds ago" : "几秒前",
"Empty file" : "空文件",
- "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "模块:%s不存在。请在 App 设置中开启或联系管理员。",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "模块:%s不存在。请在 App 设置中开启或联系您的管理员。",
"File already exists" : "文件已存在",
"Invalid path" : "无效的路径",
"Failed to create file from template" : "从模板创建文件失败",
@@ -89,11 +92,14 @@ OC.L10N.register(
"__language_name__" : "简体中文",
"This is an automatically sent email, please do not reply." : "这是一个自动生成的电子邮件,请不要回复。",
"Help" : "帮助",
+ "Appearance and accessibility" : "外观和可访问性",
"Apps" : "应用",
+ "Personal settings" : "个人设置",
+ "Administration settings" : "管理设置",
"Settings" : "设置",
- "Log out" : "登出",
+ "Log out" : "注销",
"Users" : "用户",
- "Email" : "电邮地址",
+ "Email" : "电子邮箱",
"Mail %s" : "发邮件给 %s",
"Phone" : "电话",
"Call %s" : "呼叫 %s",
@@ -110,15 +116,17 @@ OC.L10N.register(
"Role" : "角色",
"Unknown user" : "未知用户",
"Additional settings" : "其他设置",
- "MySQL username and/or password not valid" : "MySQL数据库用户名和/或密码无效",
+ "Enter the database username and name for %s" : "输入 %s 的数据库用户名和名称",
+ "Enter the database username for %s" : "输入 %s 的数据库用户名",
+ "Enter the database name for %s" : "输入 %s 的数据库名称",
+ "You cannot use dots in the database name %s" : "您不能在数据库名称 %s 中使用句点",
+ "MySQL username and/or password not valid" : "MySQL 数据库用户名和/或密码无效",
"You need to enter details of an existing account." : "您需要输入现有账号的详细信息。",
- "Oracle connection could not be established" : "不能建立甲骨文连接",
+ "Oracle connection could not be established" : "无法建立 Oracle 连接",
"Oracle username and/or password not valid" : "Oracle 数据库用户名和/或密码无效",
"PostgreSQL username and/or password not valid" : "PostgreSQL 数据库用户名和/或密码无效",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X 不被支持并且 %s 在这个平台上无法正常工作。请自行承担风险!",
"For the best results, please consider using a GNU/Linux server instead." : "为了达到最好的效果,请考虑使用 GNU/Linux 服务器。",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起来这个 %s 实例运行在32位PHP环境中并且已在php.ini中配置open_basedir。这将在文件超过4GB时出现问题,我们极力反对这样做。",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "请删除php.ini中的open_basedir设置或切换到64位PHP。",
"Set an admin username." : "请设置一个管理员用户名。",
"Set an admin password." : "请设置一个管理员密码。",
"Cannot create or write into the data directory %s" : "无法创建或写入数据文件夹 %s",
@@ -188,37 +196,56 @@ OC.L10N.register(
"Oct." : "十月",
"Nov." : "十一月",
"Dec." : "十二月",
- "The user limit has been reached and the user was not created." : "已达到用户上限,未创建该用户。",
- "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "在用户名中只允许使用以下字符:“a-z”,“A-Z”,“0-9”和\"_.@-'\"",
+ "A valid password must be provided" : "必须提供合法的密码",
+ "The username is already being used" : "用户名已被使用",
+ "Could not create user" : "无法创建用户",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "在用户名中只允许使用以下字符:“a-z”、“A-Z”、“0-9” 和 \"_.@-'\"",
"A valid username must be provided" : "必须提供合法的用户名",
"Username contains whitespace at the beginning or at the end" : "用户名在开头或结尾处包含空格",
"Username must not consist of dots only" : "用户名不能仅由点组成",
"Username is invalid because files already exist for this user" : "用户名无效,因为该用户已经存在文件",
- "A valid password must be provided" : "必须提供合法的密码",
- "The username is already being used" : "用户名已被使用",
- "Could not create user" : "无法创建用户",
"User disabled" : "用户已禁用",
"Login canceled by app" : "已通过应用取消登录",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "应用 \"%1$s\" 无法安装,因为不能满足以下依赖: %2$s",
"a safe home for all your data" : "给您所有数据一个安全的家",
"File is currently busy, please try again later" : "文件当前正忙,请稍后再试",
+ "Cannot download file" : "无法下载文件",
"Application is not enabled" : "应用程序未启用",
"Authentication error" : "认证出错",
"Token expired. Please reload page." : "Token 过期,请刷新页面。",
"No database drivers (sqlite, mysql, or postgresql) installed." : "没有安装数据库驱动(SQLite、MySQL 或 PostgreSQL)。",
+ "Cannot write into \"config\" directory." : "无法写入 \"config\" 目录。",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复这个问题。查看 %s",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "或者,如果希望保持 config.php 文件的只读权限,请将 \"config_is_read_only\" 设置为 true。查看 %s",
+ "Cannot write into \"apps\" directory." : "无法写入 \"apps\" 目录。",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "通常可以为 Web 服务器授予对 apps 目录的写入权限来修复这个问题,或在设置文件中禁用应用商店。",
"Cannot create \"data\" directory." : "无法创建 “data” 目录",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "通常可以为 Web 服务器授予对根目录的写入权限来修复这个问题。查看:%s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "通常可以为 Web 服务器授予对根目录的写入权限来修复权限问题。查看:%s。",
+ "Your data directory is not writable." : "您的数据目录无法写入。",
+ "Setting locale to %s failed." : "设置语言为 %s 失败。",
+ "Please install one of these locales on your system and restart your web server." : "请在您的系统中安装下述一种语言并重启 Web 服务器。",
"PHP module %s not installed." : "PHP %s 模块未安装。",
- "Please ask your server administrator to install the module." : "请联系服务器管理员安装模块。",
+ "Please ask your server administrator to install the module." : "请联系您的服务器管理员安装模块。",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP 选项 \"%s\" 未设置为 \"%s\"。",
"Adjusting this setting in php.ini will make Nextcloud run again" : "在 php.ini 中调整该设置将导致 Nextcloud 重新运行",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code>被设置为<code>%s</code>,而不是预期的 <code>0</code>。",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "为了修正该问题,请在您的 php.ini 中设置<code>mbstring.func_overload</code>为<code>0</code>。",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "至少需要 libxml2 2.7.0. 当前安装 %s。",
"To fix this issue update your libxml2 version and restart your web server." : "升级您的 libxml2 版本然后重启 Web 服务器以解决该问题。",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除内联块,这将导致多个核心应用无法访问。",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能由缓存/加速器导致的,例如 Zend OPcache 或 eAccelerator。",
"PHP modules have been installed, but they are still listed as missing?" : "PHP 模块已经安装,但仍然显示未安装?",
- "Please ask your server administrator to restart the web server." : "请联系服务器管理员重启 Web 服务器。",
+ "Please ask your server administrator to restart the web server." : "请联系您的服务器管理员重启 Web 服务器。",
+ "The required %s config variable is not configured in the config.php file." : "所需要的配置变量 %s 没有在 config.php 文件中配置。",
+ "Please ask your server administrator to check the Nextcloud configuration." : "请联系您的服务器管理员检查 Nextcloud 设置。",
+ "PostgreSQL >= 9 required." : "需要 PostgreSQL >= 9。",
+ "Please upgrade your database version." : "请升级您的数据库版本。",
+ "Your data directory is readable by other users." : "您的数据目录可被其他用户读取。",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "请更改权限为 0770 以避免其他用户查看目录。",
+ "Your data directory must be an absolute path." : "您的数据目录必须是绝对路径。",
+ "Check the value of \"datadirectory\" in your configuration." : "请检查配置文件中 \"datadirectory\" 的值。",
+ "Your data directory is invalid." : "您的数据目录无效。",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "请确定在根目录下有一个名为\".ocdata\"的文件。",
"Action \"%s\" not supported or implemented." : "操作 \"%s\" 不支持或未实现。",
"Authentication failed, wrong token or provider ID given" : "认证失败,提供了错误的token或提供者ID",
@@ -231,28 +258,32 @@ OC.L10N.register(
"Storage connection error. %s" : "存储连接错误。%s",
"Storage is temporarily not available" : "存储暂时不可用",
"Storage connection timeout. %s" : "存储连接超时。%s",
- "This can usually be fixed by giving the webserver write access to the config directory." : "通常可以通过授予 Web 服务器对 config 目录的写访问权限来解决此问题。",
+ "This can usually be fixed by giving the webserver write access to the config directory." : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复这个问题。",
"%s enter the database username and name." : "%s 输入数据库用户名和名称。",
"%s enter the database username." : "%s 输入数据库用户名。",
"%s enter the database name." : "%s 输入数据库名称。",
"%s you may not use dots in the database name" : "%s 您不能在数据库名称中使用英文句号。",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起来这个 %s 实例运行在32位 PHP 环境中并且已在 php.ini 中配置open_basedir。这将在文件超过4GB时出现问题,强烈不建议这样做。",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "请删除 php.ini 中的 open_basedir 设置或切换到64位PHP。",
+ "The user limit has been reached and the user was not created." : "已达到用户上限,未创建该用户。",
"Cannot read file" : "无法读取文件",
"Cannot write into \"config\" directory" : "无法写入“config”目录",
- "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "这个通常可以通过赋予写入权限到 config 目录来修复。查看:%s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复这个问题。查看:%s",
"Cannot write into \"apps\" directory" : "无法写入“apps”目录",
- "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "这通常可以通过给予 webserver 对应用目录的写入权限或在配置文件中禁用应用商店来解决。",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "通常可以为 Web 服务器授予对 apps 目录的写入权限来修复这个问题,或在设置文件中禁用应用商店。",
"Cannot create \"data\" directory" : "无法创建“data”目录 ",
- "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "这个通常可以通过赋予根目录写入权限来修复。查看:%s",
- "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "权限通常可以通过赋予根目录写入权限来修复。查看:%s。",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复这个问题。查看:%s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复权限问题。查看:%s。",
"Setting locale to %s failed" : "设置语言为 %s 失败",
"Please install one of these locales on your system and restart your webserver." : "请在您的系统中安装下述一种语言并重启 Web 服务器。",
"mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload 当前设置为 \"%s\",预期值为 \"0\"",
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "请在 php.ini 中设置 <code>mbstring.func_overload</code> 为 <code>0</code> 以解决该问题",
- "PostgreSQL >= 9 required" : "要求 PostgreSQL >= 9",
+ "PostgreSQL >= 9 required" : "需要 PostgreSQL >= 9",
"Please upgrade your database version" : "请升级您的数据库版本",
"Your data directory is readable by other users" : "您的数据目录可被其他用户读取",
"Your data directory must be an absolute path" : "您的数据目录必须是绝对路径",
"Check the value of \"datadirectory\" in your configuration" : "请检查配置文件中 \"datadirectory\" 的值",
- "Your data directory is invalid" : "您的数据目录无效"
+ "Your data directory is invalid" : "您的数据目录无效",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "已达到用户上限,未创建该用户。请检查您的通知以了解更多。"
},
"nplurals=1; plural=0;");
diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json
index 23e0245a8fd..cfc7103e84f 100644
--- a/lib/l10n/zh_CN.json
+++ b/lib/l10n/zh_CN.json
@@ -1,10 +1,13 @@
{ "translations": {
"Cannot write into \"config\" directory!" : "无法写入 \"config\" 目录!",
- "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "但是,如果你喜欢将 config.php 文件设置为只读,可以将 \"config is read only\"选项设置为 true。",
+ "This can usually be fixed by giving the web server write access to the config directory." : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复这个问题。",
+ "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "但是,如果您更希望将 config.php 文件设为只读,可以将 \"config_is_read_only\" 选项设置为 true。",
"See %s" : "查看 %s",
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "应用%1$s的文件替换不正确。请确认版本与当前服务器兼容。",
"Sample configuration detected" : "示例配置检测",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "您似乎直接把 config.php 的样例文件直接复制使用。这可能会破坏您的安装。在对 config.php 进行修改之前请先阅读相关文档。",
+ "404" : "404",
+ "The page could not be found on the server." : "无法在服务器上找到此页面",
"%s email verification" : "%s 电子邮件验证",
"Email verification" : "电子邮件验证",
"Click the following button to confirm your email." : "点击下方按钮确认电子邮件地址",
@@ -72,7 +75,7 @@
"in a few seconds" : "几秒钟内",
"seconds ago" : "几秒前",
"Empty file" : "空文件",
- "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "模块:%s不存在。请在 App 设置中开启或联系管理员。",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "模块:%s不存在。请在 App 设置中开启或联系您的管理员。",
"File already exists" : "文件已存在",
"Invalid path" : "无效的路径",
"Failed to create file from template" : "从模板创建文件失败",
@@ -87,11 +90,14 @@
"__language_name__" : "简体中文",
"This is an automatically sent email, please do not reply." : "这是一个自动生成的电子邮件,请不要回复。",
"Help" : "帮助",
+ "Appearance and accessibility" : "外观和可访问性",
"Apps" : "应用",
+ "Personal settings" : "个人设置",
+ "Administration settings" : "管理设置",
"Settings" : "设置",
- "Log out" : "登出",
+ "Log out" : "注销",
"Users" : "用户",
- "Email" : "电邮地址",
+ "Email" : "电子邮箱",
"Mail %s" : "发邮件给 %s",
"Phone" : "电话",
"Call %s" : "呼叫 %s",
@@ -108,15 +114,17 @@
"Role" : "角色",
"Unknown user" : "未知用户",
"Additional settings" : "其他设置",
- "MySQL username and/or password not valid" : "MySQL数据库用户名和/或密码无效",
+ "Enter the database username and name for %s" : "输入 %s 的数据库用户名和名称",
+ "Enter the database username for %s" : "输入 %s 的数据库用户名",
+ "Enter the database name for %s" : "输入 %s 的数据库名称",
+ "You cannot use dots in the database name %s" : "您不能在数据库名称 %s 中使用句点",
+ "MySQL username and/or password not valid" : "MySQL 数据库用户名和/或密码无效",
"You need to enter details of an existing account." : "您需要输入现有账号的详细信息。",
- "Oracle connection could not be established" : "不能建立甲骨文连接",
+ "Oracle connection could not be established" : "无法建立 Oracle 连接",
"Oracle username and/or password not valid" : "Oracle 数据库用户名和/或密码无效",
"PostgreSQL username and/or password not valid" : "PostgreSQL 数据库用户名和/或密码无效",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X 不被支持并且 %s 在这个平台上无法正常工作。请自行承担风险!",
"For the best results, please consider using a GNU/Linux server instead." : "为了达到最好的效果,请考虑使用 GNU/Linux 服务器。",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起来这个 %s 实例运行在32位PHP环境中并且已在php.ini中配置open_basedir。这将在文件超过4GB时出现问题,我们极力反对这样做。",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "请删除php.ini中的open_basedir设置或切换到64位PHP。",
"Set an admin username." : "请设置一个管理员用户名。",
"Set an admin password." : "请设置一个管理员密码。",
"Cannot create or write into the data directory %s" : "无法创建或写入数据文件夹 %s",
@@ -186,37 +194,56 @@
"Oct." : "十月",
"Nov." : "十一月",
"Dec." : "十二月",
- "The user limit has been reached and the user was not created." : "已达到用户上限,未创建该用户。",
- "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "在用户名中只允许使用以下字符:“a-z”,“A-Z”,“0-9”和\"_.@-'\"",
+ "A valid password must be provided" : "必须提供合法的密码",
+ "The username is already being used" : "用户名已被使用",
+ "Could not create user" : "无法创建用户",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "在用户名中只允许使用以下字符:“a-z”、“A-Z”、“0-9” 和 \"_.@-'\"",
"A valid username must be provided" : "必须提供合法的用户名",
"Username contains whitespace at the beginning or at the end" : "用户名在开头或结尾处包含空格",
"Username must not consist of dots only" : "用户名不能仅由点组成",
"Username is invalid because files already exist for this user" : "用户名无效,因为该用户已经存在文件",
- "A valid password must be provided" : "必须提供合法的密码",
- "The username is already being used" : "用户名已被使用",
- "Could not create user" : "无法创建用户",
"User disabled" : "用户已禁用",
"Login canceled by app" : "已通过应用取消登录",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "应用 \"%1$s\" 无法安装,因为不能满足以下依赖: %2$s",
"a safe home for all your data" : "给您所有数据一个安全的家",
"File is currently busy, please try again later" : "文件当前正忙,请稍后再试",
+ "Cannot download file" : "无法下载文件",
"Application is not enabled" : "应用程序未启用",
"Authentication error" : "认证出错",
"Token expired. Please reload page." : "Token 过期,请刷新页面。",
"No database drivers (sqlite, mysql, or postgresql) installed." : "没有安装数据库驱动(SQLite、MySQL 或 PostgreSQL)。",
+ "Cannot write into \"config\" directory." : "无法写入 \"config\" 目录。",
+ "This can usually be fixed by giving the web server write access to the config directory. See %s" : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复这个问题。查看 %s",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "或者,如果希望保持 config.php 文件的只读权限,请将 \"config_is_read_only\" 设置为 true。查看 %s",
+ "Cannot write into \"apps\" directory." : "无法写入 \"apps\" 目录。",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "通常可以为 Web 服务器授予对 apps 目录的写入权限来修复这个问题,或在设置文件中禁用应用商店。",
"Cannot create \"data\" directory." : "无法创建 “data” 目录",
+ "This can usually be fixed by giving the web server write access to the root directory. See %s" : "通常可以为 Web 服务器授予对根目录的写入权限来修复这个问题。查看:%s",
+ "Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "通常可以为 Web 服务器授予对根目录的写入权限来修复权限问题。查看:%s。",
+ "Your data directory is not writable." : "您的数据目录无法写入。",
+ "Setting locale to %s failed." : "设置语言为 %s 失败。",
+ "Please install one of these locales on your system and restart your web server." : "请在您的系统中安装下述一种语言并重启 Web 服务器。",
"PHP module %s not installed." : "PHP %s 模块未安装。",
- "Please ask your server administrator to install the module." : "请联系服务器管理员安装模块。",
+ "Please ask your server administrator to install the module." : "请联系您的服务器管理员安装模块。",
"PHP setting \"%s\" is not set to \"%s\"." : "PHP 选项 \"%s\" 未设置为 \"%s\"。",
"Adjusting this setting in php.ini will make Nextcloud run again" : "在 php.ini 中调整该设置将导致 Nextcloud 重新运行",
+ "<code>mbstring.func_overload</code> is set to <code>%s</code> instead of the expected value <code>0</code>." : "<code>mbstring.func_overload</code>被设置为<code>%s</code>,而不是预期的 <code>0</code>。",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini." : "为了修正该问题,请在您的 php.ini 中设置<code>mbstring.func_overload</code>为<code>0</code>。",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "至少需要 libxml2 2.7.0. 当前安装 %s。",
"To fix this issue update your libxml2 version and restart your web server." : "升级您的 libxml2 版本然后重启 Web 服务器以解决该问题。",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除内联块,这将导致多个核心应用无法访问。",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能由缓存/加速器导致的,例如 Zend OPcache 或 eAccelerator。",
"PHP modules have been installed, but they are still listed as missing?" : "PHP 模块已经安装,但仍然显示未安装?",
- "Please ask your server administrator to restart the web server." : "请联系服务器管理员重启 Web 服务器。",
+ "Please ask your server administrator to restart the web server." : "请联系您的服务器管理员重启 Web 服务器。",
+ "The required %s config variable is not configured in the config.php file." : "所需要的配置变量 %s 没有在 config.php 文件中配置。",
+ "Please ask your server administrator to check the Nextcloud configuration." : "请联系您的服务器管理员检查 Nextcloud 设置。",
+ "PostgreSQL >= 9 required." : "需要 PostgreSQL >= 9。",
+ "Please upgrade your database version." : "请升级您的数据库版本。",
+ "Your data directory is readable by other users." : "您的数据目录可被其他用户读取。",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "请更改权限为 0770 以避免其他用户查看目录。",
+ "Your data directory must be an absolute path." : "您的数据目录必须是绝对路径。",
+ "Check the value of \"datadirectory\" in your configuration." : "请检查配置文件中 \"datadirectory\" 的值。",
+ "Your data directory is invalid." : "您的数据目录无效。",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "请确定在根目录下有一个名为\".ocdata\"的文件。",
"Action \"%s\" not supported or implemented." : "操作 \"%s\" 不支持或未实现。",
"Authentication failed, wrong token or provider ID given" : "认证失败,提供了错误的token或提供者ID",
@@ -229,28 +256,32 @@
"Storage connection error. %s" : "存储连接错误。%s",
"Storage is temporarily not available" : "存储暂时不可用",
"Storage connection timeout. %s" : "存储连接超时。%s",
- "This can usually be fixed by giving the webserver write access to the config directory." : "通常可以通过授予 Web 服务器对 config 目录的写访问权限来解决此问题。",
+ "This can usually be fixed by giving the webserver write access to the config directory." : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复这个问题。",
"%s enter the database username and name." : "%s 输入数据库用户名和名称。",
"%s enter the database username." : "%s 输入数据库用户名。",
"%s enter the database name." : "%s 输入数据库名称。",
"%s you may not use dots in the database name" : "%s 您不能在数据库名称中使用英文句号。",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起来这个 %s 实例运行在32位 PHP 环境中并且已在 php.ini 中配置open_basedir。这将在文件超过4GB时出现问题,强烈不建议这样做。",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "请删除 php.ini 中的 open_basedir 设置或切换到64位PHP。",
+ "The user limit has been reached and the user was not created." : "已达到用户上限,未创建该用户。",
"Cannot read file" : "无法读取文件",
"Cannot write into \"config\" directory" : "无法写入“config”目录",
- "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "这个通常可以通过赋予写入权限到 config 目录来修复。查看:%s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复这个问题。查看:%s",
"Cannot write into \"apps\" directory" : "无法写入“apps”目录",
- "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "这通常可以通过给予 webserver 对应用目录的写入权限或在配置文件中禁用应用商店来解决。",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the App Store in the config file." : "通常可以为 Web 服务器授予对 apps 目录的写入权限来修复这个问题,或在设置文件中禁用应用商店。",
"Cannot create \"data\" directory" : "无法创建“data”目录 ",
- "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "这个通常可以通过赋予根目录写入权限来修复。查看:%s",
- "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "权限通常可以通过赋予根目录写入权限来修复。查看:%s。",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复这个问题。查看:%s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "通常可以为 Web 服务器授予对 config 目录的写入权限来修复权限问题。查看:%s。",
"Setting locale to %s failed" : "设置语言为 %s 失败",
"Please install one of these locales on your system and restart your webserver." : "请在您的系统中安装下述一种语言并重启 Web 服务器。",
"mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload 当前设置为 \"%s\",预期值为 \"0\"",
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "请在 php.ini 中设置 <code>mbstring.func_overload</code> 为 <code>0</code> 以解决该问题",
- "PostgreSQL >= 9 required" : "要求 PostgreSQL >= 9",
+ "PostgreSQL >= 9 required" : "需要 PostgreSQL >= 9",
"Please upgrade your database version" : "请升级您的数据库版本",
"Your data directory is readable by other users" : "您的数据目录可被其他用户读取",
"Your data directory must be an absolute path" : "您的数据目录必须是绝对路径",
"Check the value of \"datadirectory\" in your configuration" : "请检查配置文件中 \"datadirectory\" 的值",
- "Your data directory is invalid" : "您的数据目录无效"
+ "Your data directory is invalid" : "您的数据目录无效",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "已达到用户上限,未创建该用户。请检查您的通知以了解更多。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/lib/l10n/zh_HK.js b/lib/l10n/zh_HK.js
index 32df6d0a73b..2fad8ad64cf 100644
--- a/lib/l10n/zh_HK.js
+++ b/lib/l10n/zh_HK.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "應用程式 %1$s 中的檔案沒有被正確取代,請確認它的版本與伺服器相容。",
"Sample configuration detected" : "您目前正在使用範例設定",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "您似乎直接複製了範例設定來使用,這樣的安裝很可能會無法運作,請閱讀說明文件後對 config.php 進行適當的修改",
+ "404" : "404",
+ "The page could not be found on the server." : "無法在伺服器上找到此頁面。",
"%s email verification" : "%s 電郵地址驗證",
"Email verification" : "電郵地址驗證",
"Click the following button to confirm your email." : "單擊以下按鈕以確認您的電郵地址。",
@@ -53,7 +55,7 @@ OC.L10N.register(
"Authentication" : "認證",
"Unknown filetype" : "不詳的檔案類型",
"Invalid image" : "無效的圖片",
- "Avatar image is not square" : "頭像不是正方形",
+ "Avatar image is not square" : "虛擬化身圖像不是正方形",
"View profile" : "查看個人資料",
"today" : "今日",
"tomorrow" : "明日",
@@ -99,6 +101,8 @@ OC.L10N.register(
"Users" : "用戶",
"Email" : "電郵地址",
"Mail %s" : "郵件 %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "在 fediverse 上檢視 %s",
"Phone" : "電話號碼",
"Call %s" : "通話 %s",
"Twitter" : "Twitter",
@@ -125,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL 用戶名和/或密碼無效",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "不支援 Mac OS X 而且 %s 在這個平台上面無法正常運作,請自行衡量風險後使用!",
"For the best results, please consider using a GNU/Linux server instead." : "請考慮使用 GNU/Linux 伺服器以獲得最佳體驗",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起來 %s 是在 32 位元的 PHP 環境運行,並且 php.ini 中被設置了 open_basedir 參數,這將讓超過 4GB 的檔案操作發生問題,強烈建議您更改設定。",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "請移除 php.ini 中的 open_basedir 設定,或是改用 64 位元的 PHP",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "此 %s 站台似乎是使用 32 位元的 PHP 執行的。26 或更新版本必須使用 64 位元的版本。",
+ "Please switch to 64-bit PHP." : "請切換為 64 位元版本的 PHP",
"Set an admin username." : "設定管理員帳號",
"Set an admin password." : "設定管理員密碼",
"Cannot create or write into the data directory %s" : "無法建立或寫入資料目錄 %s",
@@ -150,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s 與您分享了 %2$s",
"Click the button below to open it." : "點下方連結開啟",
"The requested share does not exist anymore" : "該分享已經不存在",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "未創建用戶因為已達到用戶上限。請查看您的通知以了解更多信息。",
"Could not find category \"%s\"" : "找不到分類:\"%s\"",
"Sunday" : "星期日",
"Monday" : "星期一",
@@ -196,15 +201,14 @@ OC.L10N.register(
"Oct." : "十月",
"Nov." : "十一月",
"Dec." : "十二月",
- "The user limit has been reached and the user was not created." : "用戶數量已達上限,無法創建新用戶。",
+ "A valid password must be provided" : "須提供有效的密碼",
+ "The username is already being used" : "這個用戶名稱已經有人使用了",
+ "Could not create user" : "無法建立用戶",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "用戶名稱當中只能包含下列字元:\"a-z\", \"A-Z\", \"0-9\", 和 \"_.@-'\"",
"A valid username must be provided" : "必須提供一個有效的用戶名",
"Username contains whitespace at the beginning or at the end" : "用戶名的開頭或結尾有空白",
"Username must not consist of dots only" : "用戶名稱不能只包含小數點",
"Username is invalid because files already exist for this user" : "用戶名稱無效,因為用戶的檔案已經存在",
- "A valid password must be provided" : "須提供有效的密碼",
- "The username is already being used" : "這個用戶名稱已經有人使用了",
- "Could not create user" : "無法建立用戶",
"User disabled" : "用戶已停用",
"Login canceled by app" : "登入已被應用程式取消",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "應用程式 \"%1$s\" 無法被安裝,缺少下列所需元件: %2$s",
@@ -264,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "%s 輸入數據庫用戶名稱",
"%s enter the database name." : "%s 輸入數據庫名稱",
"%s you may not use dots in the database name" : "%s 數據庫名稱不能包含小數點",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起來 %s 是在 32 位元的 PHP 環境運行,並且 php.ini 中被設置了 open_basedir 參數,這將讓超過 4GB 的檔案操作發生問題,強烈建議您更改設定。",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "請移除 php.ini 中的 open_basedir 設定,或是改用 64 位元的 PHP",
+ "The user limit has been reached and the user was not created." : "用戶數量已達上限,無法創建新用戶。",
"Cannot read file" : "無法讀取檔案",
"Cannot write into \"config\" directory" : "無法寫入 config 目錄",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "允許網頁伺服器寫入 \"config\" 目錄通常可以解決這個問題,詳見 %s",
@@ -281,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "您的資料目錄可以被其他用戶讀取",
"Your data directory must be an absolute path" : "您的資料目錄必須為絕對路徑",
"Check the value of \"datadirectory\" in your configuration" : "請檢查您的設定檔中 \"datadirectory\" 的值",
- "Your data directory is invalid" : "您的資料目錄無效"
+ "Your data directory is invalid" : "您的資料目錄無效",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "用戶數量已達上限,無法創建新用戶。請查看您的通知以獲取更多資料。"
},
"nplurals=1; plural=0;");
diff --git a/lib/l10n/zh_HK.json b/lib/l10n/zh_HK.json
index 93c2cead91f..f5695aaaa5e 100644
--- a/lib/l10n/zh_HK.json
+++ b/lib/l10n/zh_HK.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "應用程式 %1$s 中的檔案沒有被正確取代,請確認它的版本與伺服器相容。",
"Sample configuration detected" : "您目前正在使用範例設定",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "您似乎直接複製了範例設定來使用,這樣的安裝很可能會無法運作,請閱讀說明文件後對 config.php 進行適當的修改",
+ "404" : "404",
+ "The page could not be found on the server." : "無法在伺服器上找到此頁面。",
"%s email verification" : "%s 電郵地址驗證",
"Email verification" : "電郵地址驗證",
"Click the following button to confirm your email." : "單擊以下按鈕以確認您的電郵地址。",
@@ -51,7 +53,7 @@
"Authentication" : "認證",
"Unknown filetype" : "不詳的檔案類型",
"Invalid image" : "無效的圖片",
- "Avatar image is not square" : "頭像不是正方形",
+ "Avatar image is not square" : "虛擬化身圖像不是正方形",
"View profile" : "查看個人資料",
"today" : "今日",
"tomorrow" : "明日",
@@ -97,6 +99,8 @@
"Users" : "用戶",
"Email" : "電郵地址",
"Mail %s" : "郵件 %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "在 fediverse 上檢視 %s",
"Phone" : "電話號碼",
"Call %s" : "通話 %s",
"Twitter" : "Twitter",
@@ -123,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL 用戶名和/或密碼無效",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "不支援 Mac OS X 而且 %s 在這個平台上面無法正常運作,請自行衡量風險後使用!",
"For the best results, please consider using a GNU/Linux server instead." : "請考慮使用 GNU/Linux 伺服器以獲得最佳體驗",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起來 %s 是在 32 位元的 PHP 環境運行,並且 php.ini 中被設置了 open_basedir 參數,這將讓超過 4GB 的檔案操作發生問題,強烈建議您更改設定。",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "請移除 php.ini 中的 open_basedir 設定,或是改用 64 位元的 PHP",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "此 %s 站台似乎是使用 32 位元的 PHP 執行的。26 或更新版本必須使用 64 位元的版本。",
+ "Please switch to 64-bit PHP." : "請切換為 64 位元版本的 PHP",
"Set an admin username." : "設定管理員帳號",
"Set an admin password." : "設定管理員密碼",
"Cannot create or write into the data directory %s" : "無法建立或寫入資料目錄 %s",
@@ -148,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s 與您分享了 %2$s",
"Click the button below to open it." : "點下方連結開啟",
"The requested share does not exist anymore" : "該分享已經不存在",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "未創建用戶因為已達到用戶上限。請查看您的通知以了解更多信息。",
"Could not find category \"%s\"" : "找不到分類:\"%s\"",
"Sunday" : "星期日",
"Monday" : "星期一",
@@ -194,15 +199,14 @@
"Oct." : "十月",
"Nov." : "十一月",
"Dec." : "十二月",
- "The user limit has been reached and the user was not created." : "用戶數量已達上限,無法創建新用戶。",
+ "A valid password must be provided" : "須提供有效的密碼",
+ "The username is already being used" : "這個用戶名稱已經有人使用了",
+ "Could not create user" : "無法建立用戶",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "用戶名稱當中只能包含下列字元:\"a-z\", \"A-Z\", \"0-9\", 和 \"_.@-'\"",
"A valid username must be provided" : "必須提供一個有效的用戶名",
"Username contains whitespace at the beginning or at the end" : "用戶名的開頭或結尾有空白",
"Username must not consist of dots only" : "用戶名稱不能只包含小數點",
"Username is invalid because files already exist for this user" : "用戶名稱無效,因為用戶的檔案已經存在",
- "A valid password must be provided" : "須提供有效的密碼",
- "The username is already being used" : "這個用戶名稱已經有人使用了",
- "Could not create user" : "無法建立用戶",
"User disabled" : "用戶已停用",
"Login canceled by app" : "登入已被應用程式取消",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "應用程式 \"%1$s\" 無法被安裝,缺少下列所需元件: %2$s",
@@ -262,6 +266,9 @@
"%s enter the database username." : "%s 輸入數據庫用戶名稱",
"%s enter the database name." : "%s 輸入數據庫名稱",
"%s you may not use dots in the database name" : "%s 數據庫名稱不能包含小數點",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起來 %s 是在 32 位元的 PHP 環境運行,並且 php.ini 中被設置了 open_basedir 參數,這將讓超過 4GB 的檔案操作發生問題,強烈建議您更改設定。",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "請移除 php.ini 中的 open_basedir 設定,或是改用 64 位元的 PHP",
+ "The user limit has been reached and the user was not created." : "用戶數量已達上限,無法創建新用戶。",
"Cannot read file" : "無法讀取檔案",
"Cannot write into \"config\" directory" : "無法寫入 config 目錄",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "允許網頁伺服器寫入 \"config\" 目錄通常可以解決這個問題,詳見 %s",
@@ -279,6 +286,7 @@
"Your data directory is readable by other users" : "您的資料目錄可以被其他用戶讀取",
"Your data directory must be an absolute path" : "您的資料目錄必須為絕對路徑",
"Check the value of \"datadirectory\" in your configuration" : "請檢查您的設定檔中 \"datadirectory\" 的值",
- "Your data directory is invalid" : "您的資料目錄無效"
+ "Your data directory is invalid" : "您的資料目錄無效",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "用戶數量已達上限,無法創建新用戶。請查看您的通知以獲取更多資料。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js
index 57595b46556..df3ac7891f4 100644
--- a/lib/l10n/zh_TW.js
+++ b/lib/l10n/zh_TW.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "應用程式 %1$s 中的檔案沒有被正確取代,請確認它的版本與伺服器相容。",
"Sample configuration detected" : "您目前正在使用範例設定",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "您似乎直接複製了範例設定來使用,這樣的安裝很可能會無法運作,請閱讀說明文件後對 config.php 進行適當的修改",
+ "404" : "404",
+ "The page could not be found on the server." : "無法在伺服器上找到此頁面。",
"%s email verification" : "%s 電子郵件驗證",
"Email verification" : "電子郵件驗證",
"Click the following button to confirm your email." : "點擊以下按鈕以確認您的電子郵件。",
@@ -99,6 +101,8 @@ OC.L10N.register(
"Users" : "使用者",
"Email" : "電子郵件",
"Mail %s" : "傳送郵件給 %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "在 fediverse 上檢視 %s",
"Phone" : "手機",
"Call %s" : "與 %s 通話",
"Twitter" : "Twitter",
@@ -114,6 +118,10 @@ OC.L10N.register(
"Role" : "角色",
"Unknown user" : "未知的使用者",
"Additional settings" : "其他設定",
+ "Enter the database username and name for %s" : "輸入 %s 的資料庫名稱及使用者名稱",
+ "Enter the database username for %s" : "輸入 %s 的資料庫使用者暱稱",
+ "Enter the database name for %s" : "輸入 %s 的資料庫名稱",
+ "You cannot use dots in the database name %s" : "資料庫名稱 %s 不能包含小數點",
"MySQL username and/or password not valid" : "MySQL 使用者名稱或密碼不正確",
"You need to enter details of an existing account." : "您必須輸入現有帳號的資訊",
"Oracle connection could not be established" : "無法建立 Oracle 資料庫連線",
@@ -121,8 +129,8 @@ OC.L10N.register(
"PostgreSQL username and/or password not valid" : "PostgreSQL 用戶名和/或密碼無效",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "不支援 Mac OS X 而且 %s 在這個平台上面無法正常運作,請自行衡量風險後使用!",
"For the best results, please consider using a GNU/Linux server instead." : "請考慮使用 GNU/Linux 伺服器以獲得最佳體驗",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起來 %s 是在 32 位元的 PHP 環境運行,並且 php.ini 中被設置了 open_basedir 參數,這將讓超過 4GB 的檔案操作發生問題,強烈建議您更改設定。",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "請移除 php.ini 中的 open_basedir 設定,或是改用 64 位元的 PHP",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "此 %s 站台似乎是使用 32 位元的 PHP 執行的。26 或更新版本必須使用 64 位元的版本。",
+ "Please switch to 64-bit PHP." : "請切換為 64 位元版本的 PHP",
"Set an admin username." : "設定管理員帳號",
"Set an admin password." : "設定管理員密碼",
"Cannot create or write into the data directory %s" : "無法建立或寫入資料目錄 %s",
@@ -146,6 +154,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you." : "%1$s 與您分享了 %2$s",
"Click the button below to open it." : "點下方連結開啟",
"The requested share does not exist anymore" : "該分享已經不存在",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "未建立使用者,因為已達使用者上限。請檢查您的通知以取得更多資訊。",
"Could not find category \"%s\"" : "找不到分類:\"%s\"",
"Sunday" : "週日",
"Monday" : "週一",
@@ -192,15 +201,14 @@ OC.L10N.register(
"Oct." : "十月",
"Nov." : "十一月",
"Dec." : "十二月",
- "The user limit has been reached and the user was not created." : "已達使用者限制,所以未建立使用者。",
+ "A valid password must be provided" : "須提供有效的密碼",
+ "The username is already being used" : "這個使用者名稱已經有人使用了",
+ "Could not create user" : "無法建立使用者",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "使用者名稱當中只能包含下列字元:\"a-z\", \"A-Z\", \"0-9\", 和 \"_.@-'\"",
"A valid username must be provided" : "必須提供一個有效的用戶名",
"Username contains whitespace at the beginning or at the end" : "用戶名的開頭或結尾有空白",
"Username must not consist of dots only" : "使用者名稱不能只包含小數點",
"Username is invalid because files already exist for this user" : "使用者名稱無效,因為使用者的檔案已經存在",
- "A valid password must be provided" : "須提供有效的密碼",
- "The username is already being used" : "這個使用者名稱已經有人使用了",
- "Could not create user" : "無法建立使用者",
"User disabled" : "使用者已停用",
"Login canceled by app" : "應用程式取消了登入",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "應用程式 \"%1$s\" 無法被安裝,缺少下列所需元件: %2$s",
@@ -260,6 +268,9 @@ OC.L10N.register(
"%s enter the database username." : "%s 輸入資料庫使用者名稱",
"%s enter the database name." : "%s 輸入資料庫名稱",
"%s you may not use dots in the database name" : "%s 資料庫名稱不能包含小數點",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起來 %s 是在 32 位元的 PHP 環境運行,並且 php.ini 中被設置了 open_basedir 參數,這將讓超過 4GB 的檔案操作發生問題,強烈建議您更改設定。",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "請移除 php.ini 中的 open_basedir 設定,或是改用 64 位元的 PHP",
+ "The user limit has been reached and the user was not created." : "已達使用者限制,所以未建立使用者。",
"Cannot read file" : "無法讀取檔案",
"Cannot write into \"config\" directory" : "無法寫入 config 目錄",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "允許網頁伺服器寫入 \"config\" 目錄通常可以解決這個問題,詳見 %s",
@@ -277,6 +288,7 @@ OC.L10N.register(
"Your data directory is readable by other users" : "您的資料目錄可以被其他使用者讀取",
"Your data directory must be an absolute path" : "您的資料目錄必須為絕對路徑",
"Check the value of \"datadirectory\" in your configuration" : "請檢查您的設定檔中 \"datadirectory\" 的值",
- "Your data directory is invalid" : "您的資料目錄無效"
+ "Your data directory is invalid" : "您的資料目錄無效",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "已達使用者限制,所以未建立使用者。請檢查您的通知以取得更多資訊。"
},
"nplurals=1; plural=0;");
diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json
index 20a8f86161b..31096d8ba6d 100644
--- a/lib/l10n/zh_TW.json
+++ b/lib/l10n/zh_TW.json
@@ -6,6 +6,8 @@
"The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server." : "應用程式 %1$s 中的檔案沒有被正確取代,請確認它的版本與伺服器相容。",
"Sample configuration detected" : "您目前正在使用範例設定",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "您似乎直接複製了範例設定來使用,這樣的安裝很可能會無法運作,請閱讀說明文件後對 config.php 進行適當的修改",
+ "404" : "404",
+ "The page could not be found on the server." : "無法在伺服器上找到此頁面。",
"%s email verification" : "%s 電子郵件驗證",
"Email verification" : "電子郵件驗證",
"Click the following button to confirm your email." : "點擊以下按鈕以確認您的電子郵件。",
@@ -97,6 +99,8 @@
"Users" : "使用者",
"Email" : "電子郵件",
"Mail %s" : "傳送郵件給 %s",
+ "Fediverse" : "Fediverse",
+ "View %s on the fediverse" : "在 fediverse 上檢視 %s",
"Phone" : "手機",
"Call %s" : "與 %s 通話",
"Twitter" : "Twitter",
@@ -112,6 +116,10 @@
"Role" : "角色",
"Unknown user" : "未知的使用者",
"Additional settings" : "其他設定",
+ "Enter the database username and name for %s" : "輸入 %s 的資料庫名稱及使用者名稱",
+ "Enter the database username for %s" : "輸入 %s 的資料庫使用者暱稱",
+ "Enter the database name for %s" : "輸入 %s 的資料庫名稱",
+ "You cannot use dots in the database name %s" : "資料庫名稱 %s 不能包含小數點",
"MySQL username and/or password not valid" : "MySQL 使用者名稱或密碼不正確",
"You need to enter details of an existing account." : "您必須輸入現有帳號的資訊",
"Oracle connection could not be established" : "無法建立 Oracle 資料庫連線",
@@ -119,8 +127,8 @@
"PostgreSQL username and/or password not valid" : "PostgreSQL 用戶名和/或密碼無效",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "不支援 Mac OS X 而且 %s 在這個平台上面無法正常運作,請自行衡量風險後使用!",
"For the best results, please consider using a GNU/Linux server instead." : "請考慮使用 GNU/Linux 伺服器以獲得最佳體驗",
- "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起來 %s 是在 32 位元的 PHP 環境運行,並且 php.ini 中被設置了 open_basedir 參數,這將讓超過 4GB 的檔案操作發生問題,強烈建議您更改設定。",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "請移除 php.ini 中的 open_basedir 設定,或是改用 64 位元的 PHP",
+ "It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher." : "此 %s 站台似乎是使用 32 位元的 PHP 執行的。26 或更新版本必須使用 64 位元的版本。",
+ "Please switch to 64-bit PHP." : "請切換為 64 位元版本的 PHP",
"Set an admin username." : "設定管理員帳號",
"Set an admin password." : "設定管理員密碼",
"Cannot create or write into the data directory %s" : "無法建立或寫入資料目錄 %s",
@@ -144,6 +152,7 @@
"%1$s shared »%2$s« with you." : "%1$s 與您分享了 %2$s",
"Click the button below to open it." : "點下方連結開啟",
"The requested share does not exist anymore" : "該分享已經不存在",
+ "The user was not created because the user limit has been reached. Check your notifications to learn more." : "未建立使用者,因為已達使用者上限。請檢查您的通知以取得更多資訊。",
"Could not find category \"%s\"" : "找不到分類:\"%s\"",
"Sunday" : "週日",
"Monday" : "週一",
@@ -190,15 +199,14 @@
"Oct." : "十月",
"Nov." : "十一月",
"Dec." : "十二月",
- "The user limit has been reached and the user was not created." : "已達使用者限制,所以未建立使用者。",
+ "A valid password must be provided" : "須提供有效的密碼",
+ "The username is already being used" : "這個使用者名稱已經有人使用了",
+ "Could not create user" : "無法建立使用者",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "使用者名稱當中只能包含下列字元:\"a-z\", \"A-Z\", \"0-9\", 和 \"_.@-'\"",
"A valid username must be provided" : "必須提供一個有效的用戶名",
"Username contains whitespace at the beginning or at the end" : "用戶名的開頭或結尾有空白",
"Username must not consist of dots only" : "使用者名稱不能只包含小數點",
"Username is invalid because files already exist for this user" : "使用者名稱無效,因為使用者的檔案已經存在",
- "A valid password must be provided" : "須提供有效的密碼",
- "The username is already being used" : "這個使用者名稱已經有人使用了",
- "Could not create user" : "無法建立使用者",
"User disabled" : "使用者已停用",
"Login canceled by app" : "應用程式取消了登入",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "應用程式 \"%1$s\" 無法被安裝,缺少下列所需元件: %2$s",
@@ -258,6 +266,9 @@
"%s enter the database username." : "%s 輸入資料庫使用者名稱",
"%s enter the database name." : "%s 輸入資料庫名稱",
"%s you may not use dots in the database name" : "%s 資料庫名稱不能包含小數點",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "看起來 %s 是在 32 位元的 PHP 環境運行,並且 php.ini 中被設置了 open_basedir 參數,這將讓超過 4GB 的檔案操作發生問題,強烈建議您更改設定。",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "請移除 php.ini 中的 open_basedir 設定,或是改用 64 位元的 PHP",
+ "The user limit has been reached and the user was not created." : "已達使用者限制,所以未建立使用者。",
"Cannot read file" : "無法讀取檔案",
"Cannot write into \"config\" directory" : "無法寫入 config 目錄",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "允許網頁伺服器寫入 \"config\" 目錄通常可以解決這個問題,詳見 %s",
@@ -275,6 +286,7 @@
"Your data directory is readable by other users" : "您的資料目錄可以被其他使用者讀取",
"Your data directory must be an absolute path" : "您的資料目錄必須為絕對路徑",
"Check the value of \"datadirectory\" in your configuration" : "請檢查您的設定檔中 \"datadirectory\" 的值",
- "Your data directory is invalid" : "您的資料目錄無效"
+ "Your data directory is invalid" : "您的資料目錄無效",
+ "The user limit has been reached and the user was not created. Check your notifications to learn more." : "已達使用者限制,所以未建立使用者。請檢查您的通知以取得更多資訊。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/lib/private/Accounts/AccountManager.php b/lib/private/Accounts/AccountManager.php
index 20e0add1ccb..8fc16d5ce1a 100644
--- a/lib/private/Accounts/AccountManager.php
+++ b/lib/private/Accounts/AccountManager.php
@@ -131,6 +131,7 @@ class AccountManager implements IAccountManager {
self::PROPERTY_AVATAR => self::SCOPE_FEDERATED,
self::PROPERTY_PHONE => self::SCOPE_LOCAL,
self::PROPERTY_TWITTER => self::SCOPE_LOCAL,
+ self::PROPERTY_FEDIVERSE => self::SCOPE_LOCAL,
self::PROPERTY_ORGANISATION => self::SCOPE_LOCAL,
self::PROPERTY_ROLE => self::SCOPE_LOCAL,
self::PROPERTY_HEADLINE => self::SCOPE_LOCAL,
@@ -525,6 +526,7 @@ class AccountManager implements IAccountManager {
protected function updateVerificationStatus(IAccount $updatedAccount, array $oldData): void {
static $propertiesVerifiableByLookupServer = [
self::PROPERTY_TWITTER,
+ self::PROPERTY_FEDIVERSE,
self::PROPERTY_WEBSITE,
self::PROPERTY_EMAIL,
];
@@ -724,6 +726,13 @@ class AccountManager implements IAccountManager {
],
[
+ 'name' => self::PROPERTY_FEDIVERSE,
+ 'value' => '',
+ 'scope' => $scopes[self::PROPERTY_FEDIVERSE],
+ 'verified' => self::NOT_VERIFIED,
+ ],
+
+ [
'name' => self::PROPERTY_ORGANISATION,
'value' => '',
'scope' => $scopes[self::PROPERTY_ORGANISATION],
diff --git a/lib/private/Accounts/Hooks.php b/lib/private/Accounts/Hooks.php
index 93918284180..b440bc394d6 100644
--- a/lib/private/Accounts/Hooks.php
+++ b/lib/private/Accounts/Hooks.php
@@ -32,6 +32,9 @@ use OCP\IUser;
use OCP\User\Events\UserChangedEvent;
use Psr\Log\LoggerInterface;
+/**
+ * @template-implements IEventListener<UserChangedEvent>
+ */
class Hooks implements IEventListener {
/** @var IAccountManager */
diff --git a/lib/private/App/AppStore/Bundles/BundleFetcher.php b/lib/private/App/AppStore/Bundles/BundleFetcher.php
index 7ffe1fa17d7..0d2bb61495f 100644
--- a/lib/private/App/AppStore/Bundles/BundleFetcher.php
+++ b/lib/private/App/AppStore/Bundles/BundleFetcher.php
@@ -27,12 +27,8 @@ namespace OC\App\AppStore\Bundles;
use OCP\IL10N;
class BundleFetcher {
- /** @var IL10N */
- private $l10n;
+ private IL10N $l10n;
- /**
- * @param IL10N $l10n
- */
public function __construct(IL10N $l10n) {
$this->l10n = $l10n;
}
@@ -40,7 +36,7 @@ class BundleFetcher {
/**
* @return Bundle[]
*/
- public function getBundles() {
+ public function getBundles(): array {
return [
new EnterpriseBundle($this->l10n),
new HubBundle($this->l10n),
@@ -51,30 +47,14 @@ class BundleFetcher {
}
/**
- * Bundles that should be installed by default after installation
- *
- * @return Bundle[]
- */
- public function getDefaultInstallationBundle() {
- return [
- new CoreBundle($this->l10n),
- ];
- }
-
- /**
* Get the bundle with the specified identifier
*
* @param string $identifier
* @return Bundle
* @throws \BadMethodCallException If the bundle does not exist
*/
- public function getBundleByIdentifier($identifier) {
- /** @var Bundle[] $bundles */
- $bundles = array_merge(
- $this->getBundles(),
- $this->getDefaultInstallationBundle()
- );
- foreach ($bundles as $bundle) {
+ public function getBundleByIdentifier(string $identifier): Bundle {
+ foreach ($this->getBundles() as $bundle) {
if ($bundle->getIdentifier() === $identifier) {
return $bundle;
}
diff --git a/lib/private/App/PlatformRepository.php b/lib/private/App/PlatformRepository.php
index 4166c2ead03..9b94c0b07bc 100644
--- a/lib/private/App/PlatformRepository.php
+++ b/lib/private/App/PlatformRepository.php
@@ -50,7 +50,11 @@ class PlatformRepository {
$ext = new \ReflectionExtension($name);
try {
$prettyVersion = $ext->getVersion();
- $prettyVersion = $this->normalizeVersion($prettyVersion);
+ /** @psalm-suppress TypeDoesNotContainNull
+ * @psalm-suppress RedundantCondition
+ * TODO Remove these annotations once psalm fixes the method signature ( https://github.com/vimeo/psalm/pull/8655 )
+ */
+ $prettyVersion = $this->normalizeVersion($prettyVersion ?? '0');
} catch (\UnexpectedValueException $e) {
$prettyVersion = '0';
$prettyVersion = $this->normalizeVersion($prettyVersion);
@@ -111,6 +115,9 @@ class PlatformRepository {
continue 2;
}
+ if ($prettyVersion === null) {
+ continue;
+ }
try {
$prettyVersion = $this->normalizeVersion($prettyVersion);
} catch (\UnexpectedValueException $e) {
diff --git a/lib/private/AppConfig.php b/lib/private/AppConfig.php
index 00e5dddc1f9..efaa2209eca 100644
--- a/lib/private/AppConfig.php
+++ b/lib/private/AppConfig.php
@@ -46,6 +46,7 @@ class AppConfig implements IAppConfig {
/** @var array[] */
protected $sensitiveValues = [
'circles' => [
+ '/^key_pairs$/',
'/^local_gskey$/',
],
'external' => [
@@ -109,9 +110,12 @@ class AppConfig implements IAppConfig {
'/^cookie$/',
],
'spreed' => [
- '/^bridge_bot_password/',
+ '/^bridge_bot_password$/',
+ '/^hosted-signaling-server-(.*)$/',
'/^signaling_servers$/',
'/^signaling_ticket_secret$/',
+ '/^signaling_token_privkey_(.*)$/',
+ '/^signaling_token_pubkey_(.*)$/',
'/^sip_bridge_dialin_info$/',
'/^sip_bridge_shared_secret$/',
'/^stun_servers$/',
@@ -132,6 +136,9 @@ class AppConfig implements IAppConfig {
'user_ldap' => [
'/^(s..)?ldap_agent_password$/',
],
+ 'user_saml' => [
+ '/^idp-x509cert$/',
+ ],
];
/** @var Connection */
diff --git a/lib/private/AppFramework/DependencyInjection/DIContainer.php b/lib/private/AppFramework/DependencyInjection/DIContainer.php
index e06d5226a28..462f9b978fd 100644
--- a/lib/private/AppFramework/DependencyInjection/DIContainer.php
+++ b/lib/private/AppFramework/DependencyInjection/DIContainer.php
@@ -79,6 +79,7 @@ use Psr\Log\LoggerInterface;
* @deprecated 20.0.0
*/
class DIContainer extends SimpleContainer implements IAppContainer {
+ private string $appName;
/**
* @var array
@@ -94,9 +95,10 @@ class DIContainer extends SimpleContainer implements IAppContainer {
* @param array $urlParams
* @param ServerContainer|null $server
*/
- public function __construct($appName, $urlParams = [], ServerContainer $server = null) {
+ public function __construct(string $appName, array $urlParams = [], ServerContainer $server = null) {
parent::__construct();
- $this['AppName'] = $appName;
+ $this->appName = $appName;
+ $this['appName'] = $appName;
$this['urlParams'] = $urlParams;
$this->registerAlias('Request', IRequest::class);
@@ -109,9 +111,12 @@ class DIContainer extends SimpleContainer implements IAppContainer {
$this->server->registerAppContainer($appName, $this);
// aliases
- $this->registerAlias('appName', 'AppName');
- $this->registerAlias('webRoot', 'WebRoot');
- $this->registerAlias('userId', 'UserId');
+ /** @deprecated inject $appName */
+ $this->registerAlias('AppName', 'appName');
+ /** @deprecated inject $webRoot*/
+ $this->registerAlias('WebRoot', 'webRoot');
+ /** @deprecated inject $userId */
+ $this->registerAlias('UserId', 'userId');
/**
* Core services
@@ -158,11 +163,11 @@ class DIContainer extends SimpleContainer implements IAppContainer {
$this->registerAlias(IAppContainer::class, ContainerInterface::class);
// commonly used attributes
- $this->registerService('UserId', function (ContainerInterface $c) {
+ $this->registerService('userId', function (ContainerInterface $c) {
return $c->get(IUserSession::class)->getSession()->get('user_id');
});
- $this->registerService('WebRoot', function (ContainerInterface $c) {
+ $this->registerService('webRoot', function (ContainerInterface $c) {
return $c->get(IServerContainer::class)->getWebRoot();
});
@@ -301,7 +306,8 @@ class DIContainer extends SimpleContainer implements IAppContainer {
new OC\AppFramework\Middleware\PublicShare\PublicShareMiddleware(
$c->get(IRequest::class),
$c->get(ISession::class),
- $c->get(\OCP\IConfig::class)
+ $c->get(\OCP\IConfig::class),
+ $c->get(OC\Security\Bruteforce\Throttler::class)
)
);
$dispatcher->registerMiddleware(
@@ -433,6 +439,15 @@ class DIContainer extends SimpleContainer implements IAppContainer {
}
public function query(string $name, bool $autoload = true) {
+ if ($name === 'AppName' || $name === 'appName') {
+ return $this->appName;
+ }
+
+ $isServerClass = str_starts_with($name, 'OCP\\') || str_starts_with($name, 'OC\\');
+ if ($isServerClass && !$this->has($name)) {
+ return $this->getServer()->query($name, $autoload);
+ }
+
try {
return $this->queryNoFallback($name);
} catch (QueryException $firstException) {
@@ -457,11 +472,11 @@ class DIContainer extends SimpleContainer implements IAppContainer {
if ($this->offsetExists($name)) {
return parent::query($name);
- } elseif ($this['AppName'] === 'settings' && strpos($name, 'OC\\Settings\\') === 0) {
+ } elseif ($this->appName === 'settings' && str_starts_with($name, 'OC\\Settings\\')) {
return parent::query($name);
- } elseif ($this['AppName'] === 'core' && strpos($name, 'OC\\Core\\') === 0) {
+ } elseif ($this->appName === 'core' && str_starts_with($name, 'OC\\Core\\')) {
return parent::query($name);
- } elseif (strpos($name, \OC\AppFramework\App::buildAppNamespace($this['AppName']) . '\\') === 0) {
+ } elseif (str_starts_with($name, \OC\AppFramework\App::buildAppNamespace($this->appName) . '\\')) {
return parent::query($name);
}
diff --git a/lib/private/AppFramework/Http/Dispatcher.php b/lib/private/AppFramework/Http/Dispatcher.php
index c1a203a7165..aaaf2ba6560 100644
--- a/lib/private/AppFramework/Http/Dispatcher.php
+++ b/lib/private/AppFramework/Http/Dispatcher.php
@@ -194,7 +194,7 @@ class Dispatcher {
$arguments = [];
// valid types that will be casted
- $types = ['int', 'integer', 'bool', 'boolean', 'float'];
+ $types = ['int', 'integer', 'bool', 'boolean', 'float', 'double'];
foreach ($this->reflector->getParameters() as $param => $default) {
diff --git a/lib/private/AppFramework/Http/Request.php b/lib/private/AppFramework/Http/Request.php
index 3764ce5c7f8..9f66fd1d3ec 100644
--- a/lib/private/AppFramework/Http/Request.php
+++ b/lib/private/AppFramework/Http/Request.php
@@ -432,13 +432,12 @@ class Request implements \ArrayAccess, \Countable, IRequest {
// 'application/json' and other JSON-related content types must be decoded manually.
if (preg_match(self::JSON_CONTENT_TYPE_REGEX, $this->getHeader('Content-Type')) === 1) {
$params = json_decode(file_get_contents($this->inputStream), true);
- if ($params !== null && \count($params) > 0) {
+ if (\is_array($params) && \count($params) > 0) {
$this->items['params'] = $params;
if ($this->method === 'POST') {
$this->items['post'] = $params;
}
}
-
// Handle application/x-www-form-urlencoded for methods other than GET
// or post correctly
} elseif ($this->method !== 'GET'
diff --git a/lib/private/AppFramework/Middleware/PublicShare/PublicShareMiddleware.php b/lib/private/AppFramework/Middleware/PublicShare/PublicShareMiddleware.php
index d3beb4fd3a8..d956ce58912 100644
--- a/lib/private/AppFramework/Middleware/PublicShare/PublicShareMiddleware.php
+++ b/lib/private/AppFramework/Middleware/PublicShare/PublicShareMiddleware.php
@@ -24,6 +24,7 @@
namespace OC\AppFramework\Middleware\PublicShare;
use OC\AppFramework\Middleware\PublicShare\Exceptions\NeedAuthenticationException;
+use OC\Security\Bruteforce\Throttler;
use OCP\AppFramework\AuthPublicShareController;
use OCP\AppFramework\Http\NotFoundResponse;
use OCP\AppFramework\Middleware;
@@ -34,6 +35,7 @@ use OCP\IRequest;
use OCP\ISession;
class PublicShareMiddleware extends Middleware {
+
/** @var IRequest */
private $request;
@@ -43,10 +45,14 @@ class PublicShareMiddleware extends Middleware {
/** @var IConfig */
private $config;
- public function __construct(IRequest $request, ISession $session, IConfig $config) {
+ /** @var Throttler */
+ private $throttler;
+
+ public function __construct(IRequest $request, ISession $session, IConfig $config, Throttler $throttler) {
$this->request = $request;
$this->session = $session;
$this->config = $config;
+ $this->throttler = $throttler;
}
public function beforeController($controller, $methodName) {
@@ -54,6 +60,11 @@ class PublicShareMiddleware extends Middleware {
return;
}
+ $controllerClassPath = explode('\\', get_class($controller));
+ $controllerShortClass = end($controllerClassPath);
+ $bruteforceProtectionAction = $controllerShortClass . '::' . $methodName;
+ $this->throttler->sleepDelayOrThrowOnMax($this->request->getRemoteAddress(), $bruteforceProtectionAction);
+
if (!$this->isLinkSharingEnabled()) {
throw new NotFoundException('Link sharing is disabled');
}
@@ -68,6 +79,8 @@ class PublicShareMiddleware extends Middleware {
$controller->setToken($token);
if (!$controller->isValidToken()) {
+ $this->throttle($bruteforceProtectionAction, $token);
+
$controller->shareNotFound();
throw new NotFoundException();
}
@@ -88,6 +101,7 @@ class PublicShareMiddleware extends Middleware {
throw new NeedAuthenticationException();
}
+ $this->throttle($bruteforceProtectionAction, $token);
throw new NotFoundException();
}
@@ -128,4 +142,10 @@ class PublicShareMiddleware extends Middleware {
return true;
}
+
+ private function throttle($bruteforceProtectionAction, $token): void {
+ $ip = $this->request->getRemoteAddress();
+ $this->throttler->sleepDelay($ip, $bruteforceProtectionAction);
+ $this->throttler->registerAttempt($bruteforceProtectionAction, $ip, ['token' => $token]);
+ }
}
diff --git a/lib/private/AppFramework/Middleware/Security/CORSMiddleware.php b/lib/private/AppFramework/Middleware/Security/CORSMiddleware.php
index 1490b69f534..dd964915006 100644
--- a/lib/private/AppFramework/Middleware/Security/CORSMiddleware.php
+++ b/lib/private/AppFramework/Middleware/Security/CORSMiddleware.php
@@ -87,6 +87,10 @@ class CORSMiddleware extends Middleware {
$user = array_key_exists('PHP_AUTH_USER', $this->request->server) ? $this->request->server['PHP_AUTH_USER'] : null;
$pass = array_key_exists('PHP_AUTH_PW', $this->request->server) ? $this->request->server['PHP_AUTH_PW'] : null;
+ // Allow to use the current session if a CSRF token is provided
+ if ($this->request->passesCSRFCheck()) {
+ return;
+ }
$this->session->logout();
try {
if ($user === null || $pass === null || !$this->session->logClientIn($user, $pass, $this->request, $this->throttler)) {
diff --git a/lib/private/AppFramework/Utility/SimpleContainer.php b/lib/private/AppFramework/Utility/SimpleContainer.php
index 429382aa223..925ef67de64 100644
--- a/lib/private/AppFramework/Utility/SimpleContainer.php
+++ b/lib/private/AppFramework/Utility/SimpleContainer.php
@@ -53,6 +53,15 @@ class SimpleContainer implements ArrayAccess, ContainerInterface, IContainer {
$this->container = new Container();
}
+ /**
+ * @template T
+ * @param class-string<T>|string $id
+ * @return T|mixed
+ * @psalm-template S as class-string<T>|string
+ * @psalm-param S $id
+ * @psalm-return (S is class-string<T> ? T : mixed)
+ * @throws QueryException
+ */
public function get(string $id) {
return $this->query($id);
}
@@ -99,7 +108,7 @@ class SimpleContainer implements ArrayAccess, ContainerInterface, IContainer {
return $this->query($resolveName);
} catch (QueryException $e2) {
// don't lose the error we got while trying to query by type
- throw new QueryException($e2->getMessage(), (int) $e2->getCode(), $e);
+ throw new QueryException($e->getMessage(), (int) $e->getCode(), $e);
}
}
diff --git a/lib/private/Authentication/Events/LoginFailed.php b/lib/private/Authentication/Events/LoginFailed.php
index 138e567139a..ef702e40a59 100644
--- a/lib/private/Authentication/Events/LoginFailed.php
+++ b/lib/private/Authentication/Events/LoginFailed.php
@@ -28,17 +28,21 @@ namespace OC\Authentication\Events;
use OCP\EventDispatcher\Event;
class LoginFailed extends Event {
+ private string $loginName;
+ private ?string $password;
- /** @var string */
- private $loginName;
-
- public function __construct(string $loginName) {
+ public function __construct(string $loginName, ?string $password) {
parent::__construct();
$this->loginName = $loginName;
+ $this->password = $password;
}
public function getLoginName(): string {
return $this->loginName;
}
+
+ public function getPassword(): ?string {
+ return $this->password;
+ }
}
diff --git a/lib/private/Authentication/Listeners/LoginFailedListener.php b/lib/private/Authentication/Listeners/LoginFailedListener.php
index 12d5dd4c17e..f75ee51b287 100644
--- a/lib/private/Authentication/Listeners/LoginFailedListener.php
+++ b/lib/private/Authentication/Listeners/LoginFailedListener.php
@@ -27,6 +27,7 @@ declare(strict_types=1);
namespace OC\Authentication\Listeners;
use OC\Authentication\Events\LoginFailed;
+use OCP\Authentication\Events\AnyLoginFailedEvent;
use OCP\Authentication\Events\LoginFailedEvent;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
@@ -55,6 +56,8 @@ class LoginFailedListener implements IEventListener {
return;
}
+ $this->dispatcher->dispatchTyped(new AnyLoginFailedEvent($event->getLoginName(), $event->getPassword()));
+
$uid = $event->getLoginName();
Util::emitHook(
'\OCA\Files_Sharing\API\Server2Server',
diff --git a/lib/private/Authentication/Login/EmailLoginCommand.php b/lib/private/Authentication/Login/EmailLoginCommand.php
index e2e55cc12c8..7145ab9e14f 100644
--- a/lib/private/Authentication/Login/EmailLoginCommand.php
+++ b/lib/private/Authentication/Login/EmailLoginCommand.php
@@ -38,9 +38,21 @@ class EmailLoginCommand extends ALoginCommand {
public function process(LoginData $loginData): LoginResult {
if ($loginData->getUser() === false) {
+ if (!filter_var($loginData->getUsername(), FILTER_VALIDATE_EMAIL)) {
+ return $this->processNextOrFinishSuccessfully($loginData);
+ }
+
$users = $this->userManager->getByEmail($loginData->getUsername());
// we only allow login by email if unique
if (count($users) === 1) {
+
+ // FIXME: This is a workaround to still stick to configured LDAP login filters
+ // this can be removed once the email login is properly implemented in the local user backend
+ // as described in https://github.com/nextcloud/server/issues/5221
+ if ($users[0]->getBackendClassName() === 'LDAP') {
+ return $this->processNextOrFinishSuccessfully($loginData);
+ }
+
$username = $users[0]->getUID();
if ($username !== $loginData->getUsername()) {
$user = $this->userManager->checkPassword(
diff --git a/lib/private/Authentication/Login/LoggedInCheckCommand.php b/lib/private/Authentication/Login/LoggedInCheckCommand.php
index 0efd84adbf5..9f80d47a3d4 100644
--- a/lib/private/Authentication/Login/LoggedInCheckCommand.php
+++ b/lib/private/Authentication/Login/LoggedInCheckCommand.php
@@ -48,11 +48,12 @@ class LoggedInCheckCommand extends ALoginCommand {
public function process(LoginData $loginData): LoginResult {
if ($loginData->getUser() === false) {
$loginName = $loginData->getUsername();
+ $password = $loginData->getPassword();
$ip = $loginData->getRequest()->getRemoteAddress();
$this->logger->warning("Login failed: $loginName (Remote IP: $ip)");
- $this->dispatcher->dispatchTyped(new LoginFailed($loginName));
+ $this->dispatcher->dispatchTyped(new LoginFailed($loginName, $password));
return LoginResult::failure($loginData, LoginController::LOGIN_MSG_INVALIDPASSWORD);
}
diff --git a/lib/private/Authentication/Token/PublicKeyTokenProvider.php b/lib/private/Authentication/Token/PublicKeyTokenProvider.php
index 0f1767e845b..c7e29568383 100644
--- a/lib/private/Authentication/Token/PublicKeyTokenProvider.php
+++ b/lib/private/Authentication/Token/PublicKeyTokenProvider.php
@@ -34,14 +34,18 @@ use OC\Authentication\Exceptions\InvalidTokenException;
use OC\Authentication\Exceptions\TokenPasswordExpiredException;
use OC\Authentication\Exceptions\PasswordlessTokenException;
use OC\Authentication\Exceptions\WipeTokenException;
+use OCP\AppFramework\Db\TTransactional;
use OCP\Cache\CappedMemoryCache;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
+use OCP\IDBConnection;
use OCP\Security\ICrypto;
use Psr\Log\LoggerInterface;
class PublicKeyTokenProvider implements IProvider {
+ use TTransactional;
+
/** @var PublicKeyTokenMapper */
private $mapper;
@@ -51,6 +55,8 @@ class PublicKeyTokenProvider implements IProvider {
/** @var IConfig */
private $config;
+ private IDBConnection $db;
+
/** @var LoggerInterface */
private $logger;
@@ -63,11 +69,13 @@ class PublicKeyTokenProvider implements IProvider {
public function __construct(PublicKeyTokenMapper $mapper,
ICrypto $crypto,
IConfig $config,
+ IDBConnection $db,
LoggerInterface $logger,
ITimeFactory $time) {
$this->mapper = $mapper;
$this->crypto = $crypto;
$this->config = $config;
+ $this->db = $db;
$this->logger = $logger;
$this->time = $time;
@@ -111,8 +119,14 @@ class PublicKeyTokenProvider implements IProvider {
$token = $this->mapper->getToken($this->hashToken($tokenId));
$this->cache[$token->getToken()] = $token;
} catch (DoesNotExistException $ex) {
- $this->cache[$tokenHash] = $ex;
- throw new InvalidTokenException("Token does not exist: " . $ex->getMessage(), 0, $ex);
+ try {
+ $token = $this->mapper->getToken($this->hashTokenWithEmptySecret($tokenId));
+ $this->cache[$token->getToken()] = $token;
+ $this->rotate($token, $tokenId, $tokenId);
+ } catch (DoesNotExistException $ex2) {
+ $this->cache[$tokenHash] = $ex2;
+ throw new InvalidTokenException("Token does not exist: " . $ex->getMessage(), 0, $ex);
+ }
}
}
@@ -158,37 +172,39 @@ class PublicKeyTokenProvider implements IProvider {
public function renewSessionToken(string $oldSessionId, string $sessionId): IToken {
$this->cache->clear();
- $token = $this->getToken($oldSessionId);
-
- if (!($token instanceof PublicKeyToken)) {
- throw new InvalidTokenException("Invalid token type");
- }
-
- $password = null;
- if (!is_null($token->getPassword())) {
- $privateKey = $this->decrypt($token->getPrivateKey(), $oldSessionId);
- $password = $this->decryptPassword($token->getPassword(), $privateKey);
- }
-
- $newToken = $this->generateToken(
- $sessionId,
- $token->getUID(),
- $token->getLoginName(),
- $password,
- $token->getName(),
- IToken::TEMPORARY_TOKEN,
- $token->getRemember()
- );
+ return $this->atomic(function () use ($oldSessionId, $sessionId) {
+ $token = $this->getToken($oldSessionId);
- $this->mapper->delete($token);
+ if (!($token instanceof PublicKeyToken)) {
+ throw new InvalidTokenException("Invalid token type");
+ }
- return $newToken;
+ $password = null;
+ if (!is_null($token->getPassword())) {
+ $privateKey = $this->decrypt($token->getPrivateKey(), $oldSessionId);
+ $password = $this->decryptPassword($token->getPassword(), $privateKey);
+ }
+ $newToken = $this->generateToken(
+ $sessionId,
+ $token->getUID(),
+ $token->getLoginName(),
+ $password,
+ $token->getName(),
+ IToken::TEMPORARY_TOKEN,
+ $token->getRemember()
+ );
+
+ $this->mapper->delete($token);
+
+ return $newToken;
+ }, $this->db);
}
public function invalidateToken(string $token) {
$this->cache->clear();
$this->mapper->invalidate($this->hashToken($token));
+ $this->mapper->invalidate($this->hashTokenWithEmptySecret($token));
}
public function invalidateTokenById(string $uid, int $id) {
@@ -305,9 +321,14 @@ class PublicKeyTokenProvider implements IProvider {
try {
return $this->crypto->decrypt($cipherText, $token . $secret);
} catch (\Exception $ex) {
- // Delete the invalid token
- $this->invalidateToken($token);
- throw new InvalidTokenException("Could not decrypt token password: " . $ex->getMessage(), 0, $ex);
+ // Retry with empty secret as a fallback for instances where the secret might not have been set by accident
+ try {
+ return $this->crypto->decrypt($cipherText, $token);
+ } catch (\Exception $ex2) {
+ // Delete the invalid token
+ $this->invalidateToken($token);
+ throw new InvalidTokenException("Could not decrypt token password: " . $ex->getMessage(), 0, $ex2);
+ }
}
}
@@ -331,6 +352,13 @@ class PublicKeyTokenProvider implements IProvider {
}
/**
+ * @deprecated Fallback for instances where the secret might not have been set by accident
+ */
+ private function hashTokenWithEmptySecret(string $token): string {
+ return hash('sha512', $token);
+ }
+
+ /**
* @throws \RuntimeException when OpenSSL reports a problem
*/
private function newToken(string $token,
diff --git a/lib/private/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDao.php b/lib/private/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDao.php
index e9aa15e11b6..19d80218562 100644
--- a/lib/private/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDao.php
+++ b/lib/private/Authentication/TwoFactorAuth/Db/ProviderUserAssignmentDao.php
@@ -47,7 +47,7 @@ class ProviderUserAssignmentDao {
/**
* Get all assigned provider IDs for the given user ID
*
- * @return string[] where the array key is the provider ID (string) and the
+ * @return array<string, bool> where the array key is the provider ID (string) and the
* value is the enabled state (bool)
*/
public function getState(string $uid): array {
@@ -59,7 +59,7 @@ class ProviderUserAssignmentDao {
$result = $query->execute();
$providers = [];
foreach ($result->fetchAll() as $row) {
- $providers[$row['provider_id']] = 1 === (int)$row['enabled'];
+ $providers[(string)$row['provider_id']] = 1 === (int)$row['enabled'];
}
$result->closeCursor();
diff --git a/lib/private/Authentication/TwoFactorAuth/Manager.php b/lib/private/Authentication/TwoFactorAuth/Manager.php
index 66e7c090e42..37a9f03d073 100644
--- a/lib/private/Authentication/TwoFactorAuth/Manager.php
+++ b/lib/private/Authentication/TwoFactorAuth/Manager.php
@@ -170,10 +170,10 @@ class Manager {
*
* @todo remove in Nextcloud 17 as by then all providers should have been updated
*
- * @param string[] $providerStates
+ * @param array<string, bool> $providerStates
* @param IProvider[] $providers
* @param IUser $user
- * @return string[] the updated $providerStates variable
+ * @return array<string, bool> the updated $providerStates variable
*/
private function fixMissingProviderStates(array $providerStates,
array $providers, IUser $user): array {
diff --git a/lib/private/Authentication/WebAuthn/Manager.php b/lib/private/Authentication/WebAuthn/Manager.php
index 1edfb6a85ed..de22fd6d450 100644
--- a/lib/private/Authentication/WebAuthn/Manager.php
+++ b/lib/private/Authentication/WebAuthn/Manager.php
@@ -145,6 +145,7 @@ class Manager {
$tokenBindingHandler,
$extensionOutputCheckerHandler
);
+ $authenticatorAttestationResponseValidator->setLogger($this->logger);
try {
// Load the data
@@ -212,7 +213,9 @@ class Manager {
$this->repository,
$tokenBindingHandler,
$extensionOutputCheckerHandler,
- $algorithmManager
+ $algorithmManager,
+ null,
+ $this->logger,
);
try {
diff --git a/lib/private/Calendar/Manager.php b/lib/private/Calendar/Manager.php
index 550ba36dd6b..e85c2d2e377 100644
--- a/lib/private/Calendar/Manager.php
+++ b/lib/private/Calendar/Manager.php
@@ -7,6 +7,7 @@ declare(strict_types=1);
*
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
* @author Georg Ehrke <oc.list@georgehrke.com>
+ * @author Anna Larch <anna.larch@gmx.net>
*
* @license GNU AGPL version 3 or any later version
*
@@ -33,6 +34,7 @@ use OCP\Calendar\ICalendar;
use OCP\Calendar\ICalendarProvider;
use OCP\Calendar\ICalendarQuery;
use OCP\Calendar\ICreateFromString;
+use OCP\Calendar\IHandleImipMessage;
use OCP\Calendar\IManager;
use Psr\Container\ContainerInterface;
use Psr\Log\LoggerInterface;
@@ -280,7 +282,7 @@ class Manager implements IManager {
// Drawback: attendees that have been deleted will still be able to update their partstat
foreach ($calendars as $calendar) {
// We should not search in writable calendars
- if ($calendar instanceof ICreateFromString) {
+ if ($calendar instanceof IHandleImipMessage) {
$o = $calendar->search($sender, ['ATTENDEE'], ['uid' => $vEvent->{'UID'}->getValue()]);
if (!empty($o)) {
$found = $calendar;
@@ -358,7 +360,7 @@ class Manager implements IManager {
// Drawback: attendees that have been deleted will still be able to update their partstat
foreach ($calendars as $calendar) {
// We should not search in writable calendars
- if ($calendar instanceof ICreateFromString) {
+ if ($calendar instanceof IHandleImipMessage) {
$o = $calendar->search($recipient, ['ATTENDEE'], ['uid' => $vEvent->{'UID'}->getValue()]);
if (!empty($o)) {
$found = $calendar;
diff --git a/lib/private/Collaboration/Collaborators/MailPlugin.php b/lib/private/Collaboration/Collaborators/MailPlugin.php
index 8c2efce6f0d..aa317ec1720 100644
--- a/lib/private/Collaboration/Collaborators/MailPlugin.php
+++ b/lib/private/Collaboration/Collaborators/MailPlugin.php
@@ -101,6 +101,12 @@ class MailPlugin implements ISearchPlugin {
return false;
}
+ // Extract the email address from "Foo Bar <foo.bar@example.tld>" and then search with "foo.bar@example.tld" instead
+ $result = preg_match('/<([^@]+@.+)>$/', $search, $matches);
+ if ($result && filter_var($matches[1], FILTER_VALIDATE_EMAIL)) {
+ return $this->search($matches[1], $limit, $offset, $searchResult);
+ }
+
$currentUserId = $this->userSession->getUser()->getUID();
$result = $userResults = ['wide' => [], 'exact' => []];
@@ -165,8 +171,8 @@ class MailPlugin implements ISearchPlugin {
if (!$this->isCurrentUser($cloud) && !$searchResult->hasResult($userType, $cloud->getUser())) {
$singleResult = [[
'label' => $displayName,
- 'uuid' => $contact['UID'],
- 'name' => $contact['FN'],
+ 'uuid' => $contact['UID'] ?? $emailAddress,
+ 'name' => $contact['FN'] ?? $displayName,
'value' => [
'shareType' => IShare::TYPE_USER,
'shareWith' => $cloud->getUser(),
@@ -205,8 +211,8 @@ class MailPlugin implements ISearchPlugin {
if ($addToWide && !$this->isCurrentUser($cloud) && !$searchResult->hasResult($userType, $cloud->getUser())) {
$userResults['wide'][] = [
'label' => $displayName,
- 'uuid' => $contact['UID'],
- 'name' => $contact['FN'],
+ 'uuid' => $contact['UID'] ?? $emailAddress,
+ 'name' => $contact['FN'] ?? $displayName,
'value' => [
'shareType' => IShare::TYPE_USER,
'shareWith' => $cloud->getUser(),
@@ -226,8 +232,8 @@ class MailPlugin implements ISearchPlugin {
}
$result['exact'][] = [
'label' => $displayName,
- 'uuid' => $contact['UID'],
- 'name' => $contact['FN'],
+ 'uuid' => $contact['UID'] ?? $emailAddress,
+ 'name' => $contact['FN'] ?? $displayName,
'type' => $emailAddressType ?? '',
'value' => [
'shareType' => IShare::TYPE_EMAIL,
@@ -237,8 +243,8 @@ class MailPlugin implements ISearchPlugin {
} else {
$result['wide'][] = [
'label' => $displayName,
- 'uuid' => $contact['UID'],
- 'name' => $contact['FN'],
+ 'uuid' => $contact['UID'] ?? $emailAddress,
+ 'name' => $contact['FN'] ?? $displayName,
'type' => $emailAddressType ?? '',
'value' => [
'shareType' => IShare::TYPE_EMAIL,
diff --git a/lib/private/Collaboration/Reference/File/FileReferenceProvider.php b/lib/private/Collaboration/Reference/File/FileReferenceProvider.php
index 39cdb62b09a..4e6c7ea623f 100644
--- a/lib/private/Collaboration/Reference/File/FileReferenceProvider.php
+++ b/lib/private/Collaboration/Reference/File/FileReferenceProvider.php
@@ -24,10 +24,11 @@ declare(strict_types=1);
namespace OC\Collaboration\Reference\File;
-use OC\Collaboration\Reference\Reference;
use OC\User\NoUserException;
use OCP\Collaboration\Reference\IReference;
use OCP\Collaboration\Reference\IReferenceProvider;
+use OCP\Collaboration\Reference\Reference;
+use OCP\Files\IMimeTypeDetector;
use OCP\Files\InvalidPathException;
use OCP\Files\IRootFolder;
use OCP\Files\Node;
@@ -42,12 +43,18 @@ class FileReferenceProvider implements IReferenceProvider {
private IRootFolder $rootFolder;
private ?string $userId;
private IPreview $previewManager;
+ private IMimeTypeDetector $mimeTypeDetector;
- public function __construct(IURLGenerator $urlGenerator, IRootFolder $rootFolder, IUserSession $userSession, IPreview $previewManager) {
+ public function __construct(IURLGenerator $urlGenerator,
+ IRootFolder $rootFolder,
+ IUserSession $userSession,
+ IMimeTypeDetector $mimeTypeDetector,
+ IPreview $previewManager) {
$this->urlGenerator = $urlGenerator;
$this->rootFolder = $rootFolder;
$this->userId = $userSession->getUser() ? $userSession->getUser()->getUID() : null;
$this->previewManager = $previewManager;
+ $this->mimeTypeDetector = $mimeTypeDetector;
}
public function matchReference(string $referenceText): bool {
@@ -127,7 +134,12 @@ class FileReferenceProvider implements IReferenceProvider {
$reference->setTitle($file->getName());
$reference->setDescription($file->getMimetype());
$reference->setUrl($this->urlGenerator->getAbsoluteURL('/index.php/f/' . $fileId));
- $reference->setImageUrl($this->urlGenerator->linkToRouteAbsolute('core.Preview.getPreviewByFileId', ['x' => 1600, 'y' => 630, 'fileId' => $fileId]));
+ if ($this->previewManager->isMimeSupported($file->getMimeType())) {
+ $reference->setImageUrl($this->urlGenerator->linkToRouteAbsolute('core.Preview.getPreviewByFileId', ['x' => 1600, 'y' => 630, 'fileId' => $fileId]));
+ } else {
+ $fileTypeIconUrl = $this->mimeTypeDetector->mimeTypeIcon($file->getMimeType());
+ $reference->setImageUrl($fileTypeIconUrl);
+ }
$reference->setRichObject('file', [
'id' => $file->getId(),
diff --git a/lib/private/Collaboration/Reference/LinkReferenceProvider.php b/lib/private/Collaboration/Reference/LinkReferenceProvider.php
index 36fbdd0b168..5597df1ca97 100644
--- a/lib/private/Collaboration/Reference/LinkReferenceProvider.php
+++ b/lib/private/Collaboration/Reference/LinkReferenceProvider.php
@@ -32,6 +32,7 @@ use OC\Security\RateLimiting\Limiter;
use OC\SystemConfig;
use OCP\Collaboration\Reference\IReference;
use OCP\Collaboration\Reference\IReferenceProvider;
+use OCP\Collaboration\Reference\Reference;
use OCP\Files\AppData\IAppDataFactory;
use OCP\Files\NotFoundException;
use OCP\Http\Client\IClientService;
diff --git a/lib/private/Collaboration/Reference/ReferenceManager.php b/lib/private/Collaboration/Reference/ReferenceManager.php
index 304d693804f..a11d92fe2a9 100644
--- a/lib/private/Collaboration/Reference/ReferenceManager.php
+++ b/lib/private/Collaboration/Reference/ReferenceManager.php
@@ -29,6 +29,7 @@ use OC\Collaboration\Reference\File\FileReferenceProvider;
use OCP\Collaboration\Reference\IReference;
use OCP\Collaboration\Reference\IReferenceManager;
use OCP\Collaboration\Reference\IReferenceProvider;
+use OCP\Collaboration\Reference\Reference;
use OCP\ICache;
use OCP\ICacheFactory;
use OCP\IURLGenerator;
diff --git a/lib/private/Comments/Manager.php b/lib/private/Comments/Manager.php
index 53603e51e56..3eb9aab6817 100644
--- a/lib/private/Comments/Manager.php
+++ b/lib/private/Comments/Manager.php
@@ -605,7 +605,7 @@ class Manager implements ICommentsManager {
public function search(string $search, string $objectType, string $objectId, string $verb, int $offset, int $limit = 50): array {
$objectIds = [];
if ($objectId) {
- $objectIds[] = $objectIds;
+ $objectIds[] = $objectId;
}
return $this->searchForObjects($search, $objectType, $objectIds, $verb, $offset, $limit);
}
diff --git a/lib/private/Config.php b/lib/private/Config.php
index e338d3f2332..ba3b8c6fe4d 100644
--- a/lib/private/Config.php
+++ b/lib/private/Config.php
@@ -224,6 +224,11 @@ class Config {
continue;
}
+ // Try to acquire a file lock
+ if (!flock($filePointer, LOCK_SH)) {
+ throw new \Exception(sprintf('Could not acquire a shared lock on the config file %s', $file));
+ }
+
unset($CONFIG);
include $file;
if (!defined('PHPUNIT_RUN') && headers_sent()) {
@@ -239,6 +244,7 @@ class Config {
}
// Close the file pointer and release the lock
+ flock($filePointer, LOCK_UN);
fclose($filePointer);
}
@@ -250,7 +256,8 @@ class Config {
*
* Saves the config to the config file.
*
- * @throws HintException If the config file cannot be written to, etc
+ * @throws HintException If the config file cannot be written to
+ * @throws \Exception If no file lock can be acquired
*/
private function writeData() {
$this->checkReadOnly();
@@ -265,41 +272,30 @@ class Config {
$content .= var_export($this->cache, true);
$content .= ";\n";
- // tmpfile must be in the same filesystem for the rename() to be atomic
- $tmpfile = tempnam(dirname($this->configFilePath), 'config.php.tmp.');
- // dirname check is for PHP's fallback quirk
- if (!$tmpfile || dirname($tmpfile) != dirname($this->configFilePath)) {
- if ($tmpfile) {
- unlink($tmpfile);
- }
- throw new HintException(
- "Can't create temporary file in config directory!",
- 'This can usually be fixed by giving the webserver write access to the config directory.');
- }
+ touch($this->configFilePath);
+ $filePointer = fopen($this->configFilePath, 'r+');
- chmod($tmpfile, 0640);
- $filePointer = fopen($tmpfile, 'w');
+ // Prevent others not to read the config
+ chmod($this->configFilePath, 0640);
+
+ // File does not exist, this can happen when doing a fresh install
if (!is_resource($filePointer)) {
throw new HintException(
- "Failed to open temporary file in config directory for writing",
- 'Please report this to Nextcloud developers.');
+ "Can't write into config directory!",
+ 'This can usually be fixed by giving the webserver write access to the config directory.');
}
- $write_ok = fwrite($filePointer, $content);
- $close_ok = fclose($filePointer);
- if (!$write_ok || !$close_ok) {
- unlink($tmpfile);
- throw new HintException(
- "Failed to save temporary file in config directory",
- 'Please report this to Nextcloud developers.');
+ // Try to acquire a file lock
+ if (!flock($filePointer, LOCK_EX)) {
+ throw new \Exception(sprintf('Could not acquire an exclusive lock on the config file %s', $this->configFilePath));
}
- if (!rename($tmpfile, $this->configFilePath)) {
- unlink($tmpfile);
- throw new HintException(
- "Failed to replace the config file with the new copy",
- 'Please report this to Nextcloud developers.');
- }
+ // Write the config and release the lock
+ ftruncate($filePointer, 0);
+ fwrite($filePointer, $content);
+ fflush($filePointer);
+ flock($filePointer, LOCK_UN);
+ fclose($filePointer);
if (function_exists('opcache_invalidate')) {
@opcache_invalidate($this->configFilePath, true);
diff --git a/lib/private/Contacts/ContactsMenu/ContactsStore.php b/lib/private/Contacts/ContactsMenu/ContactsStore.php
index dd4bd973fa9..a0a14cd9cbd 100644
--- a/lib/private/Contacts/ContactsMenu/ContactsStore.php
+++ b/lib/private/Contacts/ContactsMenu/ContactsStore.php
@@ -284,8 +284,11 @@ class ContactsStore implements IContactsStore {
private function contactArrayToEntry(array $contact): Entry {
$entry = new Entry();
- if (isset($contact['id'])) {
- $entry->setId($contact['id']);
+ if (isset($contact['UID'])) {
+ $uid = $contact['UID'];
+ $entry->setId($uid);
+ $avatar = $this->urlGenerator->linkToRouteAbsolute('core.avatar.getAvatar', ['userId' => $uid, 'size' => 64]);
+ $entry->setAvatar($avatar);
}
if (isset($contact['FN'])) {
diff --git a/lib/private/ContactsManager.php b/lib/private/ContactsManager.php
index 68783e3f79b..9853701a2eb 100644
--- a/lib/private/ContactsManager.php
+++ b/lib/private/ContactsManager.php
@@ -148,24 +148,6 @@ class ContactsManager implements IManager {
}
/**
- * Return a list of the user's addressbooks display names
- * ! The addressBook displayName are not unique, please use getUserAddressBooks
- *
- * @return IAddressBook[]
- * @since 6.0.0
- * @deprecated 16.0.0 - Use `$this->getUserAddressBooks()` instead
- */
- public function getAddressBooks() {
- $this->loadAddressBooks();
- $result = [];
- foreach ($this->addressBooks as $addressBook) {
- $result[$addressBook->getKey()] = $addressBook->getDisplayName();
- }
-
- return $result;
- }
-
- /**
* Return a list of the user's addressbooks
*
* @return IAddressBook[]
diff --git a/lib/private/DB/Connection.php b/lib/private/DB/Connection.php
index 73e0f4b4ac2..ceaffbcfa9a 100644
--- a/lib/private/DB/Connection.php
+++ b/lib/private/DB/Connection.php
@@ -50,12 +50,13 @@ use Doctrine\DBAL\Result;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\DBAL\Statement;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\Diagnostics\IEventLogger;
use OCP\IRequestId;
use OCP\PreConditionNotMetException;
+use OCP\Profiler\IProfiler;
use OC\DB\QueryBuilder\QueryBuilder;
use OC\SystemConfig;
use Psr\Log\LoggerInterface;
-use OCP\Profiler\IProfiler;
class Connection extends \Doctrine\DBAL\Connection {
/** @var string */
@@ -124,12 +125,14 @@ class Connection extends \Doctrine\DBAL\Connection {
public function connect() {
try {
if ($this->_conn) {
+ /** @psalm-suppress InternalMethod */
return parent::connect();
}
// Only trigger the event logger for the initial connect call
- $eventLogger = \OC::$server->getEventLogger();
+ $eventLogger = \OC::$server->get(IEventLogger::class);
$eventLogger->start('connect:db', 'db connection opened');
+ /** @psalm-suppress InternalMethod */
$status = parent::connect();
$eventLogger->end('connect:db');
@@ -291,7 +294,7 @@ class Connection extends \Doctrine\DBAL\Connection {
$sql = $this->adapter->fixupStatement($sql);
$this->queriesExecuted++;
$this->logQueryToFile($sql);
- return parent::executeStatement($sql, $params, $types);
+ return (int)parent::executeStatement($sql, $params, $types);
}
protected function logQueryToFile(string $sql): void {
@@ -390,7 +393,7 @@ class Connection extends \Doctrine\DBAL\Connection {
return $insertQb->createNamedParameter($value, $this->getType($value));
}, array_merge($keys, $values))
);
- return $insertQb->execute();
+ return $insertQb->executeStatement();
} catch (NotNullConstraintViolationException $e) {
throw $e;
} catch (ConstraintViolationException $e) {
@@ -416,7 +419,7 @@ class Connection extends \Doctrine\DBAL\Connection {
}
}
$updateQb->where($where);
- $affected = $updateQb->execute();
+ $affected = $updateQb->executeStatement();
if ($affected === 0 && !empty($updatePreconditionValues)) {
throw new PreConditionNotMetException();
diff --git a/lib/private/DB/ConnectionFactory.php b/lib/private/DB/ConnectionFactory.php
index 95f3185bcdb..1b0ac436364 100644
--- a/lib/private/DB/ConnectionFactory.php
+++ b/lib/private/DB/ConnectionFactory.php
@@ -233,6 +233,10 @@ class ConnectionFactory {
];
}
+ if ($this->config->getValue('dbpersistent', false)) {
+ $connectionParams['persistent'] = true;
+ }
+
return $connectionParams;
}
diff --git a/lib/private/DB/MigrationService.php b/lib/private/DB/MigrationService.php
index 4b7e4d3a040..7993730b230 100644
--- a/lib/private/DB/MigrationService.php
+++ b/lib/private/DB/MigrationService.php
@@ -40,6 +40,7 @@ use OC\IntegrityCheck\Helpers\AppLocator;
use OC\Migration\SimpleOutput;
use OCP\AppFramework\App;
use OCP\AppFramework\QueryException;
+use OCP\DB\ISchemaWrapper;
use OCP\Migration\IMigrationStep;
use OCP\Migration\IOutput;
use Psr\Log\LoggerInterface;
@@ -440,7 +441,7 @@ class MigrationService {
foreach ($toBeExecuted as $version) {
$instance = $this->createInstance($version);
- $toSchema = $instance->changeSchema($this->output, function () use ($toSchema) {
+ $toSchema = $instance->changeSchema($this->output, function () use ($toSchema): ISchemaWrapper {
return $toSchema ?: new SchemaWrapper($this->connection);
}, ['tablePrefix' => $this->connection->getPrefix()]) ?: $toSchema;
}
@@ -513,12 +514,12 @@ class MigrationService {
$instance = $this->createInstance($version);
if (!$schemaOnly) {
- $instance->preSchemaChange($this->output, function () {
+ $instance->preSchemaChange($this->output, function (): ISchemaWrapper {
return new SchemaWrapper($this->connection);
}, ['tablePrefix' => $this->connection->getPrefix()]);
}
- $toSchema = $instance->changeSchema($this->output, function () {
+ $toSchema = $instance->changeSchema($this->output, function (): ISchemaWrapper {
return new SchemaWrapper($this->connection);
}, ['tablePrefix' => $this->connection->getPrefix()]);
@@ -533,7 +534,7 @@ class MigrationService {
}
if (!$schemaOnly) {
- $instance->postSchemaChange($this->output, function () {
+ $instance->postSchemaChange($this->output, function (): ISchemaWrapper {
return new SchemaWrapper($this->connection);
}, ['tablePrefix' => $this->connection->getPrefix()]);
}
diff --git a/lib/private/DB/Migrator.php b/lib/private/DB/Migrator.php
index 5dc07be1d2b..97d91e1c100 100644
--- a/lib/private/DB/Migrator.php
+++ b/lib/private/DB/Migrator.php
@@ -41,7 +41,6 @@ use function preg_match;
use OCP\EventDispatcher\IEventDispatcher;
class Migrator {
-
/** @var Connection */
protected $connection;
@@ -138,6 +137,7 @@ class Migrator {
}
}
+ /** @psalm-suppress InternalMethod */
$comparator = new Comparator();
return $comparator->compare($sourceSchema, $targetSchema);
}
diff --git a/lib/private/Dashboard/Manager.php b/lib/private/Dashboard/Manager.php
index 2aeedf3174e..ba34219a615 100644
--- a/lib/private/Dashboard/Manager.php
+++ b/lib/private/Dashboard/Manager.php
@@ -28,6 +28,7 @@ namespace OC\Dashboard;
use InvalidArgumentException;
use OCP\App\IAppManager;
+use OCP\Dashboard\IConditionalWidget;
use OCP\Dashboard\IManager;
use OCP\Dashboard\IWidget;
use Psr\Container\ContainerExceptionInterface;
@@ -82,15 +83,20 @@ class Manager implements IManager {
* we can not inject it. Thus the static call.
*/
\OC::$server->get(LoggerInterface::class)->critical(
- 'Could not load lazy dashboard widget: ' . $e->getMessage(),
- ['excepiton' => $e]
+ 'Could not load lazy dashboard widget: ' . $service['class'],
+ ['exception' => $e]
);
+ continue;
}
/**
* Try to register the loaded reporter. Theoretically it could be of a wrong
* type, so we might get a TypeError here that we should catch.
*/
try {
+ if ($widget instanceof IConditionalWidget && !$widget->isEnabled()) {
+ continue;
+ }
+
$this->registerWidget($widget);
} catch (Throwable $e) {
/*
@@ -98,9 +104,10 @@ class Manager implements IManager {
* we can not inject it. Thus the static call.
*/
\OC::$server->get(LoggerInterface::class)->critical(
- 'Could not register lazy dashboard widget: ' . $e->getMessage(),
+ 'Could not register lazy dashboard widget: ' . $service['class'],
['exception' => $e]
);
+ continue;
}
try {
@@ -119,9 +126,10 @@ class Manager implements IManager {
}
} catch (Throwable $e) {
\OC::$server->get(LoggerInterface::class)->critical(
- 'Error during dashboard widget loading: ' . $e->getMessage(),
+ 'Error during dashboard widget loading: ' . $service['class'],
['exception' => $e]
);
+ continue;
}
}
$this->lazyWidgets = [];
diff --git a/lib/private/Federation/CloudIdManager.php b/lib/private/Federation/CloudIdManager.php
index e4e42cb1293..85aae8e5ec5 100644
--- a/lib/private/Federation/CloudIdManager.php
+++ b/lib/private/Federation/CloudIdManager.php
@@ -125,6 +125,9 @@ class CloudIdManager implements ICloudIdManager {
if ($lastValidAtPos !== false) {
$user = substr($id, 0, $lastValidAtPos);
$remote = substr($id, $lastValidAtPos + 1);
+
+ $this->userManager->validateUserId($user);
+
if (!empty($user) && !empty($remote)) {
return new CloudId($id, $user, $remote, $this->getDisplayNameFromContact($id));
}
diff --git a/lib/private/Files/Cache/CacheEntry.php b/lib/private/Files/Cache/CacheEntry.php
index 8ac76acf6d1..3c93296ff62 100644
--- a/lib/private/Files/Cache/CacheEntry.php
+++ b/lib/private/Files/Cache/CacheEntry.php
@@ -137,7 +137,7 @@ class CacheEntry implements ICacheEntry {
if (isset($this->data['unencrypted_size']) && $this->data['unencrypted_size'] > 0) {
return $this->data['unencrypted_size'];
} else {
- return $this->data['size'];
+ return $this->data['size'] ?? 0;
}
}
}
diff --git a/lib/private/Files/Cache/Propagator.php b/lib/private/Files/Cache/Propagator.php
index 2909e998bf9..4bf88a60843 100644
--- a/lib/private/Files/Cache/Propagator.php
+++ b/lib/private/Files/Cache/Propagator.php
@@ -24,16 +24,19 @@
namespace OC\Files\Cache;
+use Doctrine\DBAL\Exception\RetryableException;
use OC\Files\Storage\Wrapper\Encryption;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\Files\Cache\IPropagator;
use OCP\Files\Storage\IReliableEtagStorage;
use OCP\IDBConnection;
+use Psr\Log\LoggerInterface;
/**
* Propagate etags and mtimes within the storage
*/
class Propagator implements IPropagator {
+ public const MAX_RETRIES = 3;
private $inBatch = false;
private $batch = [];
@@ -100,35 +103,44 @@ class Propagator implements IPropagator {
$builder->set('etag', $builder->createNamedParameter($etag, IQueryBuilder::PARAM_STR));
}
- $builder->execute();
-
if ($sizeDifference !== 0) {
- // we need to do size separably so we can ignore entries with uncalculated size
- $builder = $this->connection->getQueryBuilder();
- $builder->update('filecache')
- ->set('size', $builder->func()->greatest(
- $builder->func()->add('size', $builder->createNamedParameter($sizeDifference)),
- $builder->createNamedParameter(-1, IQueryBuilder::PARAM_INT)
- ))
- ->where($builder->expr()->eq('storage', $builder->createNamedParameter($storageId, IQueryBuilder::PARAM_INT)))
- ->andWhere($builder->expr()->in('path_hash', $hashParams))
- ->andWhere($builder->expr()->gt('size', $builder->expr()->literal(-1, IQueryBuilder::PARAM_INT)));
+ $hasCalculatedSize = $builder->expr()->gt('size', $builder->expr()->literal(-1, IQUeryBuilder::PARAM_INT));
+ $sizeColumn = $builder->getColumnName('size');
+ $newSize = $builder->func()->greatest(
+ $builder->func()->add('size', $builder->createNamedParameter($sizeDifference)),
+ $builder->createNamedParameter(-1, IQueryBuilder::PARAM_INT)
+ );
+
+ // Only update if row had a previously calculated size
+ $builder->set('size', $builder->createFunction("CASE WHEN $hasCalculatedSize THEN $newSize ELSE $sizeColumn END"));
if ($this->storage->instanceOfStorage(Encryption::class)) {
// in case of encryption being enabled after some files are already uploaded, some entries will have an unencrypted_size of 0 and a non-zero size
- $eq = $builder->expr()->eq('unencrypted_size', $builder->expr()->literal(0, IQueryBuilder::PARAM_INT));
+ $hasUnencryptedSize = $builder->expr()->neq('unencrypted_size', $builder->expr()->literal(0, IQueryBuilder::PARAM_INT));
$sizeColumn = $builder->getColumnName('size');
$unencryptedSizeColumn = $builder->getColumnName('unencrypted_size');
- $builder->set('unencrypted_size', $builder->func()->greatest(
+ $newUnencryptedSize = $builder->func()->greatest(
$builder->func()->add(
- $builder->createFunction("CASE WHEN $eq THEN $unencryptedSizeColumn ELSE $sizeColumn END"),
+ $builder->createFunction("CASE WHEN $hasUnencryptedSize THEN $unencryptedSizeColumn ELSE $sizeColumn END"),
$builder->createNamedParameter($sizeDifference)
),
$builder->createNamedParameter(-1, IQueryBuilder::PARAM_INT)
- ));
+ );
+
+ // Only update if row had a previously calculated size
+ $builder->set('unencrypted_size', $builder->createFunction("CASE WHEN $hasCalculatedSize THEN $newUnencryptedSize ELSE $unencryptedSizeColumn END"));
}
+ }
- $builder->execute();
+ for ($i = 0; $i < self::MAX_RETRIES; $i++) {
+ try {
+ $builder->executeStatement();
+ break;
+ } catch (RetryableException $e) {
+ /** @var LoggerInterface $loggerInterface */
+ $loggerInterface = \OCP\Server::get(LoggerInterface::class);
+ $loggerInterface->warning('Retrying propagation query after retryable exception.', [ 'exception' => $e ]);
+ }
}
}
diff --git a/lib/private/Files/Cache/Storage.php b/lib/private/Files/Cache/Storage.php
index f77c9b71dd7..01fc638cef8 100644
--- a/lib/private/Files/Cache/Storage.php
+++ b/lib/private/Files/Cache/Storage.php
@@ -239,7 +239,7 @@ class Storage {
$query = $db->getQueryBuilder();
$query->delete('storages')
- ->where($query->expr()->eq('numeric_id', $query->createNamedParameter($storageIds, IQueryBuilder::PARAM_INT_ARRAY)));
+ ->where($query->expr()->in('numeric_id', $query->createNamedParameter($storageIds, IQueryBuilder::PARAM_INT_ARRAY)));
$query->executeStatement();
$query = $db->getQueryBuilder();
diff --git a/lib/private/Files/Cache/Wrapper/CacheJail.php b/lib/private/Files/Cache/Wrapper/CacheJail.php
index 996f0c02603..628ca3ee0e0 100644
--- a/lib/private/Files/Cache/Wrapper/CacheJail.php
+++ b/lib/private/Files/Cache/Wrapper/CacheJail.php
@@ -46,7 +46,7 @@ class CacheJail extends CacheWrapper {
protected $unjailedRoot;
/**
- * @param \OCP\Files\Cache\ICache $cache
+ * @param ?\OCP\Files\Cache\ICache $cache
* @param string $root
*/
public function __construct($cache, $root) {
@@ -317,7 +317,7 @@ class CacheJail extends CacheWrapper {
new SearchBinaryOperator(ISearchBinaryOperator::OPERATOR_OR,
[
new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'path', $this->getGetUnjailedRoot()),
- new SearchComparison(ISearchComparison::COMPARE_LIKE_CASE_SENSITIVE, 'path', $this->getGetUnjailedRoot() . '/%'),
+ new SearchComparison(ISearchComparison::COMPARE_LIKE_CASE_SENSITIVE, 'path', SearchComparison::escapeLikeParameter($this->getGetUnjailedRoot()) . '/%'),
],
)
]
diff --git a/lib/private/Files/Filesystem.php b/lib/private/Files/Filesystem.php
index 9542666b03c..6c763540847 100644
--- a/lib/private/Files/Filesystem.php
+++ b/lib/private/Files/Filesystem.php
@@ -489,25 +489,6 @@ class Filesystem {
}
/**
- * checks if a file is blacklisted for storage in the filesystem
- * Listens to write and rename hooks
- *
- * @param array $data from hook
- */
- public static function isBlacklisted($data) {
- if (isset($data['path'])) {
- $path = $data['path'];
- } elseif (isset($data['newpath'])) {
- $path = $data['newpath'];
- }
- if (isset($path)) {
- if (self::isFileBlacklisted($path)) {
- $data['run'] = false;
- }
- }
- }
-
- /**
* @param string $filename
* @return bool
*/
@@ -618,12 +599,12 @@ class Filesystem {
return self::$defaultInstance->unlink($path);
}
- public static function rename($path1, $path2) {
- return self::$defaultInstance->rename($path1, $path2);
+ public static function rename($source, $target) {
+ return self::$defaultInstance->rename($source, $target);
}
- public static function copy($path1, $path2) {
- return self::$defaultInstance->copy($path1, $path2);
+ public static function copy($source, $target) {
+ return self::$defaultInstance->copy($source, $target);
}
public static function fopen($path, $mode) {
diff --git a/lib/private/Files/Node/Folder.php b/lib/private/Files/Node/Folder.php
index 268c1d8dd06..bf9ae3c148d 100644
--- a/lib/private/Files/Node/Folder.php
+++ b/lib/private/Files/Node/Folder.php
@@ -66,10 +66,11 @@ class Folder extends Node implements \OCP\Files\Folder {
* @throws \OCP\Files\NotPermittedException
*/
public function getFullPath($path) {
+ $path = $this->normalizePath($path);
if (!$this->isValidPath($path)) {
throw new NotPermittedException('Invalid path');
}
- return $this->path . $this->normalizePath($path);
+ return $this->path . $path;
}
/**
@@ -371,12 +372,12 @@ class Folder extends Node implements \OCP\Files\Folder {
return [$this->root->createNode(
$absolutePath, new \OC\Files\FileInfo(
- $absolutePath,
- $mount->getStorage(),
- $cacheEntry->getPath(),
- $cacheEntry,
- $mount
- ))];
+ $absolutePath,
+ $mount->getStorage(),
+ $cacheEntry->getPath(),
+ $cacheEntry,
+ $mount
+ ))];
}
public function getFreeSpace() {
diff --git a/lib/private/Files/Node/Node.php b/lib/private/Files/Node/Node.php
index bfa4d6861ea..8a752ff281d 100644
--- a/lib/private/Files/Node/Node.php
+++ b/lib/private/Files/Node/Node.php
@@ -99,10 +99,10 @@ class Node implements \OCP\Files\Node {
* @throws NotFoundException
*/
public function getFileInfo() {
- if (!Filesystem::isValidPath($this->path)) {
- throw new InvalidPathException();
- }
if (!$this->fileInfo) {
+ if (!Filesystem::isValidPath($this->path)) {
+ throw new InvalidPathException();
+ }
$fileInfo = $this->view->getFileInfo($this->path);
if ($fileInfo instanceof FileInfo) {
$this->fileInfo = $fileInfo;
diff --git a/lib/private/Files/ObjectStore/ObjectStoreStorage.php b/lib/private/Files/ObjectStore/ObjectStoreStorage.php
index 898f64d97c2..02b65bf37f7 100644
--- a/lib/private/Files/ObjectStore/ObjectStoreStorage.php
+++ b/lib/private/Files/ObjectStore/ObjectStoreStorage.php
@@ -61,6 +61,9 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common {
private $logger;
+ /** @var bool */
+ protected $validateWrites = true;
+
public function __construct($params) {
if (isset($params['objectstore']) && $params['objectstore'] instanceof IObjectStore) {
$this->objectStore = $params['objectstore'];
@@ -75,6 +78,9 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common {
if (isset($params['objectPrefix'])) {
$this->objectPrefix = $params['objectPrefix'];
}
+ if (isset($params['validateWrites'])) {
+ $this->validateWrites = (bool)$params['validateWrites'];
+ }
//initialize cache with root directory in cache
if (!$this->is_dir('/')) {
$this->mkdir('/');
@@ -303,13 +309,23 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common {
case 'rb':
$stat = $this->stat($path);
if (is_array($stat)) {
+ $filesize = $stat['size'] ?? 0;
// Reading 0 sized files is a waste of time
- if (isset($stat['size']) && $stat['size'] === 0) {
+ if ($filesize === 0) {
return fopen('php://memory', $mode);
}
try {
- return $this->objectStore->readObject($this->getURN($stat['fileid']));
+ $handle = $this->objectStore->readObject($this->getURN($stat['fileid']));
+ if ($handle === false) {
+ return false; // keep backward compatibility
+ }
+ $streamStat = fstat($handle);
+ $actualSize = $streamStat['size'] ?? -1;
+ if ($actualSize > -1 && $actualSize !== $filesize) {
+ $this->getCache()->update((int)$stat['fileid'], ['size' => $actualSize]);
+ }
+ return $handle;
} catch (NotFoundException $e) {
$this->logger->logException($e, [
'app' => 'objectstore',
@@ -522,7 +538,7 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common {
if ($exists) {
$this->getCache()->update($fileId, $stat);
} else {
- if ($this->objectStore->objectExists($urn)) {
+ if (!$this->validateWrites || $this->objectStore->objectExists($urn)) {
$this->getCache()->move($uploadPath, $path);
} else {
$this->getCache()->remove($uploadPath);
@@ -558,17 +574,17 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common {
return parent::copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath);
}
- public function copy($path1, $path2) {
- $path1 = $this->normalizePath($path1);
- $path2 = $this->normalizePath($path2);
+ public function copy($source, $target) {
+ $source = $this->normalizePath($source);
+ $target = $this->normalizePath($target);
$cache = $this->getCache();
- $sourceEntry = $cache->get($path1);
+ $sourceEntry = $cache->get($source);
if (!$sourceEntry) {
throw new NotFoundException('Source object not found');
}
- $this->copyInner($sourceEntry, $path2);
+ $this->copyInner($sourceEntry, $target);
return true;
}
diff --git a/lib/private/Files/ObjectStore/S3ObjectTrait.php b/lib/private/Files/ObjectStore/S3ObjectTrait.php
index 9d692e01a23..e6a2cf21cd0 100644
--- a/lib/private/Files/ObjectStore/S3ObjectTrait.php
+++ b/lib/private/Files/ObjectStore/S3ObjectTrait.php
@@ -29,9 +29,9 @@ namespace OC\Files\ObjectStore;
use Aws\S3\Exception\S3MultipartUploadException;
use Aws\S3\MultipartUploader;
use Aws\S3\S3Client;
+use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\Utils;
use OC\Files\Stream\SeekableHttpStream;
-use GuzzleHttp\Psr7;
use Psr\Http\Message\StreamInterface;
trait S3ObjectTrait {
@@ -47,6 +47,7 @@ trait S3ObjectTrait {
/**
* @param string $urn the unified resource name used to identify the object
+ *
* @return resource stream with the read data
* @throws \Exception when something goes wrong, message will be logged
* @since 7.0.0
@@ -88,6 +89,7 @@ trait S3ObjectTrait {
});
}
+
/**
* Single object put helper
*
@@ -152,7 +154,7 @@ trait S3ObjectTrait {
// ($psrStream->isSeekable() && $psrStream->getSize() !== null) evaluates to true for a On-Seekable stream
// so the optimisation does not apply
$buffer = new Psr7\Stream(fopen("php://memory", 'rwb+'));
- Utils::copyToStream($psrStream, $buffer, $this->uploadPartSize);
+ Utils::copyToStream($psrStream, $buffer, $this->putSizeLimit);
$buffer->seek(0);
if ($buffer->getSize() < $this->putSizeLimit) {
// buffer is fully seekable, so use it directly for the small upload
diff --git a/lib/private/Files/Search/QueryOptimizer/PathPrefixOptimizer.php b/lib/private/Files/Search/QueryOptimizer/PathPrefixOptimizer.php
index eea4b430578..62182303ffd 100644
--- a/lib/private/Files/Search/QueryOptimizer/PathPrefixOptimizer.php
+++ b/lib/private/Files/Search/QueryOptimizer/PathPrefixOptimizer.php
@@ -23,15 +23,12 @@ declare(strict_types=1);
namespace OC\Files\Search\QueryOptimizer;
+use OC\Files\Search\SearchComparison;
use OCP\Files\Search\ISearchBinaryOperator;
use OCP\Files\Search\ISearchComparison;
use OCP\Files\Search\ISearchOperator;
class PathPrefixOptimizer extends QueryOptimizerStep {
- public function escapeLikeParameter(string $param): string {
- return addcslashes($param, '\\_%');
- }
-
public function processOperator(ISearchOperator &$operator) {
// normally the `path = "$prefix"` search query part of the prefix filter would be generated as an `path_hash = md5($prefix)` sql query
// since the `path_hash` sql column usually provides much faster querying that selecting on the `path` sql column
@@ -43,11 +40,11 @@ class PathPrefixOptimizer extends QueryOptimizerStep {
$b = $operator->getArguments()[1];
if ($a instanceof ISearchComparison && $b instanceof ISearchComparison && $a->getField() === 'path' && $b->getField() === 'path') {
if ($a->getType() === ISearchComparison::COMPARE_LIKE_CASE_SENSITIVE && $b->getType() === ISearchComparison::COMPARE_EQUAL
- && $a->getValue() === $this->escapeLikeParameter($b->getValue()) . '/%') {
+ && $a->getValue() === SearchComparison::escapeLikeParameter($b->getValue()) . '/%') {
$b->setQueryHint(ISearchComparison::HINT_PATH_EQ_HASH, false);
}
if ($b->getType() === ISearchComparison::COMPARE_LIKE_CASE_SENSITIVE && $a->getType() === ISearchComparison::COMPARE_EQUAL
- && $b->getValue() === $this->escapeLikeParameter($a->getValue()) . '/%') {
+ && $b->getValue() === SearchComparison::escapeLikeParameter($a->getValue()) . '/%') {
$a->setQueryHint(ISearchComparison::HINT_PATH_EQ_HASH, false);
}
}
diff --git a/lib/private/Files/Search/SearchComparison.php b/lib/private/Files/Search/SearchComparison.php
index ab5a4d0ed73..122a1f730b4 100644
--- a/lib/private/Files/Search/SearchComparison.php
+++ b/lib/private/Files/Search/SearchComparison.php
@@ -74,4 +74,8 @@ class SearchComparison implements ISearchComparison {
public function setQueryHint(string $name, $value): void {
$this->hints[$name] = $value;
}
+
+ public static function escapeLikeParameter(string $param): string {
+ return addcslashes($param, '\\_%');
+ }
}
diff --git a/lib/private/Files/SetupManager.php b/lib/private/Files/SetupManager.php
index d52a291cd99..ec5cd59d960 100644
--- a/lib/private/Files/SetupManager.php
+++ b/lib/private/Files/SetupManager.php
@@ -40,6 +40,7 @@ use OC_Util;
use OCP\Constants;
use OCP\Diagnostics\IEventLogger;
use OCP\EventDispatcher\IEventDispatcher;
+use OCP\Files\Config\ICachedMountInfo;
use OCP\Files\Config\IHomeMountProvider;
use OCP\Files\Config\IMountProvider;
use OCP\Files\Config\IUserMountCache;
@@ -414,9 +415,9 @@ class SetupManager {
$mounts = [];
if (!in_array($cachedMount->getMountProvider(), $setupProviders)) {
- $setupProviders[] = $cachedMount->getMountProvider();
$currentProviders[] = $cachedMount->getMountProvider();
if ($cachedMount->getMountProvider()) {
+ $setupProviders[] = $cachedMount->getMountProvider();
$mounts = $this->mountProviderCollection->getUserMountsForProviderClasses($user, [$cachedMount->getMountProvider()]);
} else {
$this->logger->debug("mount at " . $cachedMount->getMountPoint() . " has no provider set, performing full setup");
@@ -427,16 +428,21 @@ class SetupManager {
if ($includeChildren) {
$subCachedMounts = $this->userMountCache->getMountsInPath($user, $path);
- foreach ($subCachedMounts as $cachedMount) {
- if (!in_array($cachedMount->getMountProvider(), $setupProviders)) {
- $setupProviders[] = $cachedMount->getMountProvider();
- $currentProviders[] = $cachedMount->getMountProvider();
- if ($cachedMount->getMountProvider()) {
+
+ $needsFullSetup = array_reduce($subCachedMounts, function (bool $needsFullSetup, ICachedMountInfo $cachedMountInfo) {
+ return $needsFullSetup || $cachedMountInfo->getMountProvider() === '';
+ }, false);
+
+ if ($needsFullSetup) {
+ $this->logger->debug("mount has no provider set, performing full setup");
+ $this->setupForUser($user);
+ return;
+ } else {
+ foreach ($subCachedMounts as $cachedMount) {
+ if (!in_array($cachedMount->getMountProvider(), $setupProviders)) {
+ $currentProviders[] = $cachedMount->getMountProvider();
+ $setupProviders[] = $cachedMount->getMountProvider();
$mounts = array_merge($mounts, $this->mountProviderCollection->getUserMountsForProviderClasses($user, [$cachedMount->getMountProvider()]));
- } else {
- $this->logger->debug("mount at " . $cachedMount->getMountPoint() . " has no provider set, performing full setup");
- $this->setupForUser($user);
- return;
}
}
}
diff --git a/lib/private/Files/SimpleFS/NewSimpleFile.php b/lib/private/Files/SimpleFS/NewSimpleFile.php
index b2a183b7d29..e2d1ae274b1 100644
--- a/lib/private/Files/SimpleFS/NewSimpleFile.php
+++ b/lib/private/Files/SimpleFS/NewSimpleFile.php
@@ -136,6 +136,10 @@ class NewSimpleFile implements ISimpleFile {
* @throws NotFoundException
*/
private function checkFile(): void {
+ if (!$this->file) {
+ throw new NotFoundException('File not set');
+ }
+
$cur = $this->file;
while ($cur->stat() === false) {
diff --git a/lib/private/Files/SimpleFS/SimpleFolder.php b/lib/private/Files/SimpleFS/SimpleFolder.php
index 263c25a8873..1f267119871 100644
--- a/lib/private/Files/SimpleFS/SimpleFolder.php
+++ b/lib/private/Files/SimpleFS/SimpleFolder.php
@@ -91,4 +91,19 @@ class SimpleFolder implements ISimpleFolder {
return new SimpleFile($file);
}
}
+
+ public function getFolder(string $name): ISimpleFolder {
+ $folder = $this->folder->get($name);
+
+ if (!($folder instanceof Folder)) {
+ throw new NotFoundException();
+ }
+
+ return new SimpleFolder($folder);
+ }
+
+ public function newFolder(string $path): ISimpleFolder {
+ $folder = $this->folder->newFolder($path);
+ return new SimpleFolder($folder);
+ }
}
diff --git a/lib/private/Files/Storage/Common.php b/lib/private/Files/Storage/Common.php
index a7bc44e10e2..a53ed5d1957 100644
--- a/lib/private/Files/Storage/Common.php
+++ b/lib/private/Files/Storage/Common.php
@@ -213,21 +213,21 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage {
return $count;
}
- public function rename($path1, $path2) {
- $this->remove($path2);
+ public function rename($source, $target) {
+ $this->remove($target);
- $this->removeCachedFile($path1);
- return $this->copy($path1, $path2) and $this->remove($path1);
+ $this->removeCachedFile($source);
+ return $this->copy($source, $target) and $this->remove($source);
}
- public function copy($path1, $path2) {
- if ($this->is_dir($path1)) {
- $this->remove($path2);
- $dir = $this->opendir($path1);
- $this->mkdir($path2);
+ public function copy($source, $target) {
+ if ($this->is_dir($source)) {
+ $this->remove($target);
+ $dir = $this->opendir($source);
+ $this->mkdir($target);
while ($file = readdir($dir)) {
if (!Filesystem::isIgnoredDir($file)) {
- if (!$this->copy($path1 . '/' . $file, $path2 . '/' . $file)) {
+ if (!$this->copy($source . '/' . $file, $target . '/' . $file)) {
closedir($dir);
return false;
}
@@ -236,13 +236,13 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage {
closedir($dir);
return true;
} else {
- $source = $this->fopen($path1, 'r');
- $target = $this->fopen($path2, 'w');
- [, $result] = \OC_Helper::streamCopy($source, $target);
+ $sourceStream = $this->fopen($source, 'r');
+ $targetStream = $this->fopen($target, 'w');
+ [, $result] = \OC_Helper::streamCopy($sourceStream, $targetStream);
if (!$result) {
- \OC::$server->get(LoggerInterface::class)->warning("Failed to write data while copying $path1 to $path2");
+ \OCP\Server::get(LoggerInterface::class)->warning("Failed to write data while copying $source to $target");
}
- $this->removeCachedFile($path2);
+ $this->removeCachedFile($target);
return $result;
}
}
diff --git a/lib/private/Files/Storage/DAV.php b/lib/private/Files/Storage/DAV.php
index 132e3d257aa..fcb07cb9748 100644
--- a/lib/private/Files/Storage/DAV.php
+++ b/lib/private/Files/Storage/DAV.php
@@ -518,30 +518,30 @@ class DAV extends Common {
}
/** {@inheritdoc} */
- public function rename($path1, $path2) {
+ public function rename($source, $target) {
$this->init();
- $path1 = $this->cleanPath($path1);
- $path2 = $this->cleanPath($path2);
+ $source = $this->cleanPath($source);
+ $target = $this->cleanPath($target);
try {
// overwrite directory ?
- if ($this->is_dir($path2)) {
+ if ($this->is_dir($target)) {
// needs trailing slash in destination
- $path2 = rtrim($path2, '/') . '/';
+ $target = rtrim($target, '/') . '/';
}
$this->client->request(
'MOVE',
- $this->encodePath($path1),
+ $this->encodePath($source),
null,
[
- 'Destination' => $this->createBaseUri() . $this->encodePath($path2),
+ 'Destination' => $this->createBaseUri() . $this->encodePath($target),
]
);
- $this->statCache->clear($path1 . '/');
- $this->statCache->clear($path2 . '/');
- $this->statCache->set($path1, false);
- $this->statCache->set($path2, true);
- $this->removeCachedFile($path1);
- $this->removeCachedFile($path2);
+ $this->statCache->clear($source . '/');
+ $this->statCache->clear($target . '/');
+ $this->statCache->set($source, false);
+ $this->statCache->set($target, true);
+ $this->removeCachedFile($source);
+ $this->removeCachedFile($target);
return true;
} catch (\Exception $e) {
$this->convertException($e);
@@ -550,27 +550,27 @@ class DAV extends Common {
}
/** {@inheritdoc} */
- public function copy($path1, $path2) {
+ public function copy($source, $target) {
$this->init();
- $path1 = $this->cleanPath($path1);
- $path2 = $this->cleanPath($path2);
+ $source = $this->cleanPath($source);
+ $target = $this->cleanPath($target);
try {
// overwrite directory ?
- if ($this->is_dir($path2)) {
+ if ($this->is_dir($target)) {
// needs trailing slash in destination
- $path2 = rtrim($path2, '/') . '/';
+ $target = rtrim($target, '/') . '/';
}
$this->client->request(
'COPY',
- $this->encodePath($path1),
+ $this->encodePath($source),
null,
[
- 'Destination' => $this->createBaseUri() . $this->encodePath($path2),
+ 'Destination' => $this->createBaseUri() . $this->encodePath($target),
]
);
- $this->statCache->clear($path2 . '/');
- $this->statCache->set($path2, true);
- $this->removeCachedFile($path2);
+ $this->statCache->clear($target . '/');
+ $this->statCache->set($target, true);
+ $this->removeCachedFile($target);
return true;
} catch (\Exception $e) {
$this->convertException($e);
diff --git a/lib/private/Files/Storage/FailedStorage.php b/lib/private/Files/Storage/FailedStorage.php
index 18a2c9c2bb5..482cdc453af 100644
--- a/lib/private/Files/Storage/FailedStorage.php
+++ b/lib/private/Files/Storage/FailedStorage.php
@@ -129,11 +129,11 @@ class FailedStorage extends Common {
throw new StorageNotAvailableException($this->e->getMessage(), $this->e->getCode(), $this->e);
}
- public function rename($path1, $path2) {
+ public function rename($source, $target) {
throw new StorageNotAvailableException($this->e->getMessage(), $this->e->getCode(), $this->e);
}
- public function copy($path1, $path2) {
+ public function copy($source, $target) {
throw new StorageNotAvailableException($this->e->getMessage(), $this->e->getCode(), $this->e);
}
diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php
index 2a7e30cada6..9daa3517825 100644
--- a/lib/private/Files/Storage/Local.php
+++ b/lib/private/Files/Storage/Local.php
@@ -166,12 +166,10 @@ class Local extends \OC\Files\Storage\Common {
public function stat($path) {
$fullPath = $this->getSourcePath($path);
clearstatcache(true, $fullPath);
- $statResult = @stat($fullPath);
- if (PHP_INT_SIZE === 4 && $statResult && !$this->is_dir($path)) {
- $filesize = $this->filesize($path);
- $statResult['size'] = $filesize;
- $statResult[7] = $filesize;
+ if (!file_exists($fullPath)) {
+ return false;
}
+ $statResult = @stat($fullPath);
if (is_array($statResult)) {
$statResult['full_path'] = $fullPath;
}
@@ -243,10 +241,6 @@ class Local extends \OC\Files\Storage\Common {
return 0;
}
$fullPath = $this->getSourcePath($path);
- if (PHP_INT_SIZE === 4) {
- $helper = new \OC\LargeFileHelper;
- return $helper->getFileSize($fullPath);
- }
return filesize($fullPath);
}
@@ -268,10 +262,6 @@ class Local extends \OC\Files\Storage\Common {
if (!$this->file_exists($path)) {
return false;
}
- if (PHP_INT_SIZE === 4) {
- $helper = new \OC\LargeFileHelper();
- return $helper->getFileMtime($fullPath);
- }
return filemtime($fullPath);
}
@@ -330,9 +320,9 @@ class Local extends \OC\Files\Storage\Common {
}
}
- public function rename($path1, $path2) {
- $srcParent = dirname($path1);
- $dstParent = dirname($path2);
+ public function rename($source, $target) {
+ $srcParent = dirname($source);
+ $dstParent = dirname($target);
if (!$this->isUpdatable($srcParent)) {
\OC::$server->get(LoggerInterface::class)->error('unable to rename, source directory is not writable : ' . $srcParent, ['app' => 'core']);
@@ -344,55 +334,59 @@ class Local extends \OC\Files\Storage\Common {
return false;
}
- if (!$this->file_exists($path1)) {
- \OC::$server->get(LoggerInterface::class)->error('unable to rename, file does not exists : ' . $path1, ['app' => 'core']);
+ if (!$this->file_exists($source)) {
+ \OC::$server->get(LoggerInterface::class)->error('unable to rename, file does not exists : ' . $source, ['app' => 'core']);
return false;
}
- if ($this->is_dir($path2)) {
- $this->rmdir($path2);
- } elseif ($this->is_file($path2)) {
- $this->unlink($path2);
+ if ($this->is_dir($target)) {
+ $this->rmdir($target);
+ } elseif ($this->is_file($target)) {
+ $this->unlink($target);
}
- if ($this->is_dir($path1)) {
+ if ($this->is_dir($source)) {
// we can't move folders across devices, use copy instead
- $stat1 = stat(dirname($this->getSourcePath($path1)));
- $stat2 = stat(dirname($this->getSourcePath($path2)));
+ $stat1 = stat(dirname($this->getSourcePath($source)));
+ $stat2 = stat(dirname($this->getSourcePath($target)));
if ($stat1['dev'] !== $stat2['dev']) {
- $result = $this->copy($path1, $path2);
+ $result = $this->copy($source, $target);
if ($result) {
- $result &= $this->rmdir($path1);
+ $result &= $this->rmdir($source);
}
return $result;
}
- $this->checkTreeForForbiddenItems($this->getSourcePath($path1));
+ $this->checkTreeForForbiddenItems($this->getSourcePath($source));
}
- return rename($this->getSourcePath($path1), $this->getSourcePath($path2));
+ return rename($this->getSourcePath($source), $this->getSourcePath($target));
}
- public function copy($path1, $path2) {
- if ($this->is_dir($path1)) {
- return parent::copy($path1, $path2);
+ public function copy($source, $target) {
+ if ($this->is_dir($source)) {
+ return parent::copy($source, $target);
} else {
$oldMask = umask($this->defUMask);
if ($this->unlinkOnTruncate) {
- $this->unlink($path2);
+ $this->unlink($target);
}
- $result = copy($this->getSourcePath($path1), $this->getSourcePath($path2));
+ $result = copy($this->getSourcePath($source), $this->getSourcePath($target));
umask($oldMask);
return $result;
}
}
public function fopen($path, $mode) {
+ $sourcePath = $this->getSourcePath($path);
+ if (!file_exists($sourcePath) && $mode === 'r') {
+ return false;
+ }
$oldMask = umask($this->defUMask);
if (($mode === 'w' || $mode === 'w+') && $this->unlinkOnTruncate) {
$this->unlink($path);
}
- $result = fopen($this->getSourcePath($path), $mode);
+ $result = @fopen($sourcePath, $mode);
umask($oldMask);
return $result;
}
@@ -414,7 +408,7 @@ class Local extends \OC\Files\Storage\Common {
if ($space === false || is_null($space)) {
return \OCP\Files\FileInfo::SPACE_UNKNOWN;
}
- return $space;
+ return (int)$space;
}
public function search($query) {
diff --git a/lib/private/Files/Storage/PolyFill/CopyDirectory.php b/lib/private/Files/Storage/PolyFill/CopyDirectory.php
index 7fd418f6dca..ff05eecb134 100644
--- a/lib/private/Files/Storage/PolyFill/CopyDirectory.php
+++ b/lib/private/Files/Storage/PolyFill/CopyDirectory.php
@@ -64,15 +64,15 @@ trait CopyDirectory {
*/
abstract public function mkdir($path);
- public function copy($path1, $path2) {
- if ($this->is_dir($path1)) {
- if ($this->file_exists($path2)) {
- $this->unlink($path2);
+ public function copy($source, $target) {
+ if ($this->is_dir($source)) {
+ if ($this->file_exists($target)) {
+ $this->unlink($target);
}
- $this->mkdir($path2);
- return $this->copyRecursive($path1, $path2);
+ $this->mkdir($target);
+ return $this->copyRecursive($source, $target);
} else {
- return parent::copy($path1, $path2);
+ return parent::copy($source, $target);
}
}
diff --git a/lib/private/Files/Storage/Wrapper/Availability.php b/lib/private/Files/Storage/Wrapper/Availability.php
index 910ea369757..a4a6fa0bd16 100644
--- a/lib/private/Files/Storage/Wrapper/Availability.php
+++ b/lib/private/Files/Storage/Wrapper/Availability.php
@@ -288,20 +288,20 @@ class Availability extends Wrapper {
}
/** {@inheritdoc} */
- public function rename($path1, $path2) {
+ public function rename($source, $target) {
$this->checkAvailability();
try {
- return parent::rename($path1, $path2);
+ return parent::rename($source, $target);
} catch (StorageNotAvailableException $e) {
$this->setUnavailable($e);
}
}
/** {@inheritdoc} */
- public function copy($path1, $path2) {
+ public function copy($source, $target) {
$this->checkAvailability();
try {
- return parent::copy($path1, $path2);
+ return parent::copy($source, $target);
} catch (StorageNotAvailableException $e) {
$this->setUnavailable($e);
}
diff --git a/lib/private/Files/Storage/Wrapper/Encoding.php b/lib/private/Files/Storage/Wrapper/Encoding.php
index ac9cc248ce6..cb82e00845c 100644
--- a/lib/private/Files/Storage/Wrapper/Encoding.php
+++ b/lib/private/Files/Storage/Wrapper/Encoding.php
@@ -338,24 +338,24 @@ class Encoding extends Wrapper {
/**
* see https://www.php.net/manual/en/function.rename.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $source
+ * @param string $target
* @return bool
*/
- public function rename($path1, $path2) {
+ public function rename($source, $target) {
// second name always NFC
- return $this->storage->rename($this->findPathToUse($path1), $this->findPathToUse($path2));
+ return $this->storage->rename($this->findPathToUse($source), $this->findPathToUse($target));
}
/**
* see https://www.php.net/manual/en/function.copy.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $source
+ * @param string $target
* @return bool
*/
- public function copy($path1, $path2) {
- return $this->storage->copy($this->findPathToUse($path1), $this->findPathToUse($path2));
+ public function copy($source, $target) {
+ return $this->storage->copy($this->findPathToUse($source), $this->findPathToUse($target));
}
/**
diff --git a/lib/private/Files/Storage/Wrapper/Encryption.php b/lib/private/Files/Storage/Wrapper/Encryption.php
index d5bf929101f..21db6b7bf9d 100644
--- a/lib/private/Files/Storage/Wrapper/Encryption.php
+++ b/lib/private/Files/Storage/Wrapper/Encryption.php
@@ -270,28 +270,28 @@ class Encryption extends Wrapper {
/**
* see https://www.php.net/manual/en/function.rename.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $source
+ * @param string $target
* @return bool
*/
- public function rename($path1, $path2) {
- $result = $this->storage->rename($path1, $path2);
+ public function rename($source, $target) {
+ $result = $this->storage->rename($source, $target);
if ($result &&
// versions always use the keys from the original file, so we can skip
// this step for versions
- $this->isVersion($path2) === false &&
+ $this->isVersion($target) === false &&
$this->encryptionManager->isEnabled()) {
- $source = $this->getFullPath($path1);
- if (!$this->util->isExcluded($source)) {
- $target = $this->getFullPath($path2);
- if (isset($this->unencryptedSize[$source])) {
- $this->unencryptedSize[$target] = $this->unencryptedSize[$source];
+ $sourcePath = $this->getFullPath($source);
+ if (!$this->util->isExcluded($sourcePath)) {
+ $targetPath = $this->getFullPath($target);
+ if (isset($this->unencryptedSize[$sourcePath])) {
+ $this->unencryptedSize[$targetPath] = $this->unencryptedSize[$sourcePath];
}
- $this->keyStorage->renameKeys($source, $target);
- $module = $this->getEncryptionModule($path2);
+ $this->keyStorage->renameKeys($sourcePath, $targetPath);
+ $module = $this->getEncryptionModule($target);
if ($module) {
- $module->update($target, $this->uid, []);
+ $module->update($targetPath, $this->uid, []);
}
}
}
@@ -344,21 +344,20 @@ class Encryption extends Wrapper {
/**
* see https://www.php.net/manual/en/function.copy.php
*
- * @param string $path1
- * @param string $path2
- * @return bool
+ * @param string $source
+ * @param string $target
*/
- public function copy($path1, $path2) {
- $source = $this->getFullPath($path1);
+ public function copy($source, $target): bool {
+ $sourcePath = $this->getFullPath($source);
- if ($this->util->isExcluded($source)) {
- return $this->storage->copy($path1, $path2);
+ if ($this->util->isExcluded($sourcePath)) {
+ return $this->storage->copy($source, $target);
}
// need to stream copy file by file in case we copy between a encrypted
// and a unencrypted storage
- $this->unlink($path2);
- return $this->copyFromStorage($this, $path1, $path2);
+ $this->unlink($target);
+ return $this->copyFromStorage($this, $source, $target);
}
/**
diff --git a/lib/private/Files/Storage/Wrapper/Jail.php b/lib/private/Files/Storage/Wrapper/Jail.php
index 65ee6f1181a..9834ae5a954 100644
--- a/lib/private/Files/Storage/Wrapper/Jail.php
+++ b/lib/private/Files/Storage/Wrapper/Jail.php
@@ -281,23 +281,23 @@ class Jail extends Wrapper {
/**
* see https://www.php.net/manual/en/function.rename.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $source
+ * @param string $target
* @return bool
*/
- public function rename($path1, $path2) {
- return $this->getWrapperStorage()->rename($this->getUnjailedPath($path1), $this->getUnjailedPath($path2));
+ public function rename($source, $target) {
+ return $this->getWrapperStorage()->rename($this->getUnjailedPath($source), $this->getUnjailedPath($target));
}
/**
* see https://www.php.net/manual/en/function.copy.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $source
+ * @param string $target
* @return bool
*/
- public function copy($path1, $path2) {
- return $this->getWrapperStorage()->copy($this->getUnjailedPath($path1), $this->getUnjailedPath($path2));
+ public function copy($source, $target) {
+ return $this->getWrapperStorage()->copy($this->getUnjailedPath($source), $this->getUnjailedPath($target));
}
/**
diff --git a/lib/private/Files/Storage/Wrapper/PermissionsMask.php b/lib/private/Files/Storage/Wrapper/PermissionsMask.php
index e54d3bb721a..0d140e0a39d 100644
--- a/lib/private/Files/Storage/Wrapper/PermissionsMask.php
+++ b/lib/private/Files/Storage/Wrapper/PermissionsMask.php
@@ -78,16 +78,16 @@ class PermissionsMask extends Wrapper {
return $this->storage->getPermissions($path) & $this->mask;
}
- public function rename($path1, $path2) {
+ public function rename($source, $target) {
//This is a rename of the transfer file to the original file
- if (dirname($path1) === dirname($path2) && strpos($path1, '.ocTransferId') > 0) {
- return $this->checkMask(Constants::PERMISSION_CREATE) and parent::rename($path1, $path2);
+ if (dirname($source) === dirname($target) && strpos($source, '.ocTransferId') > 0) {
+ return $this->checkMask(Constants::PERMISSION_CREATE) and parent::rename($source, $target);
}
- return $this->checkMask(Constants::PERMISSION_UPDATE) and parent::rename($path1, $path2);
+ return $this->checkMask(Constants::PERMISSION_UPDATE) and parent::rename($source, $target);
}
- public function copy($path1, $path2) {
- return $this->checkMask(Constants::PERMISSION_CREATE) and parent::copy($path1, $path2);
+ public function copy($source, $target) {
+ return $this->checkMask(Constants::PERMISSION_CREATE) and parent::copy($source, $target);
}
public function touch($path, $mtime = null) {
diff --git a/lib/private/Files/Storage/Wrapper/Wrapper.php b/lib/private/Files/Storage/Wrapper/Wrapper.php
index 6bc66bf9c89..ed7e137fd88 100644
--- a/lib/private/Files/Storage/Wrapper/Wrapper.php
+++ b/lib/private/Files/Storage/Wrapper/Wrapper.php
@@ -271,23 +271,23 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
/**
* see https://www.php.net/manual/en/function.rename.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $source
+ * @param string $target
* @return bool
*/
- public function rename($path1, $path2) {
- return $this->getWrapperStorage()->rename($path1, $path2);
+ public function rename($source, $target) {
+ return $this->getWrapperStorage()->rename($source, $target);
}
/**
* see https://www.php.net/manual/en/function.copy.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $source
+ * @param string $target
* @return bool
*/
- public function copy($path1, $path2) {
- return $this->getWrapperStorage()->copy($path1, $path2);
+ public function copy($source, $target) {
+ return $this->getWrapperStorage()->copy($source, $target);
}
/**
diff --git a/lib/private/Files/Stream/Encryption.php b/lib/private/Files/Stream/Encryption.php
index 0f1838c97c8..9cc8b238ee1 100644
--- a/lib/private/Files/Stream/Encryption.php
+++ b/lib/private/Files/Stream/Encryption.php
@@ -465,7 +465,7 @@ class Encryption extends Wrapper {
$cacheEntry = $cache->get($this->internalPath);
if ($cacheEntry) {
$version = $cacheEntry['encryptedVersion'] + 1;
- $cache->update($cacheEntry->getId(), ['encrypted' => $version, 'encryptedVersion' => $version]);
+ $cache->update($cacheEntry->getId(), ['encrypted' => $version, 'encryptedVersion' => $version, 'unencrypted_size' => $this->unencryptedSize]);
}
}
@@ -528,6 +528,7 @@ class Encryption extends Wrapper {
*/
protected function writeHeader() {
$header = $this->util->createHeader($this->newHeader, $this->encryptionModule);
+ $this->fileUpdated = true;
return parent::stream_write($header);
}
diff --git a/lib/private/Files/Stream/SeekableHttpStream.php b/lib/private/Files/Stream/SeekableHttpStream.php
index df37fd29f42..51ccaeba998 100644
--- a/lib/private/Files/Stream/SeekableHttpStream.php
+++ b/lib/private/Files/Stream/SeekableHttpStream.php
@@ -75,8 +75,12 @@ class SeekableHttpStream implements File {
/** @var ?resource|closed-resource */
private $current;
+ /** @var int $offset offset of the current chunk */
private int $offset = 0;
+ /** @var int $length length of the current chunk */
private int $length = 0;
+ /** @var int $totalSize size of the full stream */
+ private int $totalSize = 0;
private bool $needReconnect = false;
private function reconnect(int $start): bool {
@@ -128,6 +132,9 @@ class SeekableHttpStream implements File {
$this->offset = $begin;
$this->length = $length;
+ if ($start === 0) {
+ $this->totalSize = $length;
+ }
return true;
}
@@ -211,7 +218,9 @@ class SeekableHttpStream implements File {
public function stream_stat() {
if ($this->getCurrent()) {
- return fstat($this->getCurrent());
+ $stat = fstat($this->getCurrent());
+ $stat['size'] = $this->totalSize;
+ return $stat;
} else {
return false;
}
diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php
index e5394e72ffe..16a9381768b 100644
--- a/lib/private/Files/View.php
+++ b/lib/private/Files/View.php
@@ -50,6 +50,8 @@ use Icewind\Streams\CallbackWrapper;
use OC\Files\Mount\MoveableMount;
use OC\Files\Storage\Storage;
use OC\User\LazyUser;
+use OC\Share\Share;
+use OC\User\User;
use OCA\Files_Sharing\SharedMount;
use OCP\Constants;
use OCP\Files\Cache\ICacheEntry;
@@ -747,65 +749,65 @@ class View {
/**
* Rename/move a file or folder from the source path to target path.
*
- * @param string $path1 source path
- * @param string $path2 target path
+ * @param string $source source path
+ * @param string $target target path
*
* @return bool|mixed
* @throws LockedException
*/
- public function rename($path1, $path2) {
- $absolutePath1 = Filesystem::normalizePath($this->getAbsolutePath($path1));
- $absolutePath2 = Filesystem::normalizePath($this->getAbsolutePath($path2));
+ public function rename($source, $target) {
+ $absolutePath1 = Filesystem::normalizePath($this->getAbsolutePath($source));
+ $absolutePath2 = Filesystem::normalizePath($this->getAbsolutePath($target));
$result = false;
if (
- Filesystem::isValidPath($path2)
- and Filesystem::isValidPath($path1)
- and !Filesystem::isFileBlacklisted($path2)
+ Filesystem::isValidPath($target)
+ and Filesystem::isValidPath($source)
+ and !Filesystem::isFileBlacklisted($target)
) {
- $path1 = $this->getRelativePath($absolutePath1);
- $path2 = $this->getRelativePath($absolutePath2);
- $exists = $this->file_exists($path2);
+ $source = $this->getRelativePath($absolutePath1);
+ $target = $this->getRelativePath($absolutePath2);
+ $exists = $this->file_exists($target);
- if ($path1 == null or $path2 == null) {
+ if ($source == null or $target == null) {
return false;
}
- $this->lockFile($path1, ILockingProvider::LOCK_SHARED, true);
+ $this->lockFile($source, ILockingProvider::LOCK_SHARED, true);
try {
- $this->lockFile($path2, ILockingProvider::LOCK_SHARED, true);
+ $this->lockFile($target, ILockingProvider::LOCK_SHARED, true);
$run = true;
- if ($this->shouldEmitHooks($path1) && (Cache\Scanner::isPartialFile($path1) && !Cache\Scanner::isPartialFile($path2))) {
+ if ($this->shouldEmitHooks($source) && (Cache\Scanner::isPartialFile($source) && !Cache\Scanner::isPartialFile($target))) {
// if it was a rename from a part file to a regular file it was a write and not a rename operation
- $this->emit_file_hooks_pre($exists, $path2, $run);
- } elseif ($this->shouldEmitHooks($path1)) {
+ $this->emit_file_hooks_pre($exists, $target, $run);
+ } elseif ($this->shouldEmitHooks($source)) {
\OC_Hook::emit(
Filesystem::CLASSNAME, Filesystem::signal_rename,
[
- Filesystem::signal_param_oldpath => $this->getHookPath($path1),
- Filesystem::signal_param_newpath => $this->getHookPath($path2),
+ Filesystem::signal_param_oldpath => $this->getHookPath($source),
+ Filesystem::signal_param_newpath => $this->getHookPath($target),
Filesystem::signal_param_run => &$run
]
);
}
if ($run) {
- $this->verifyPath(dirname($path2), basename($path2));
+ $this->verifyPath(dirname($target), basename($target));
$manager = Filesystem::getMountManager();
- $mount1 = $this->getMount($path1);
- $mount2 = $this->getMount($path2);
+ $mount1 = $this->getMount($source);
+ $mount2 = $this->getMount($target);
$storage1 = $mount1->getStorage();
$storage2 = $mount2->getStorage();
$internalPath1 = $mount1->getInternalPath($absolutePath1);
$internalPath2 = $mount2->getInternalPath($absolutePath2);
- $this->changeLock($path1, ILockingProvider::LOCK_EXCLUSIVE, true);
+ $this->changeLock($source, ILockingProvider::LOCK_EXCLUSIVE, true);
try {
- $this->changeLock($path2, ILockingProvider::LOCK_EXCLUSIVE, true);
+ $this->changeLock($target, ILockingProvider::LOCK_EXCLUSIVE, true);
if ($internalPath1 === '') {
if ($mount1 instanceof MoveableMount) {
- $sourceParentMount = $this->getMount(dirname($path1));
+ $sourceParentMount = $this->getMount(dirname($source));
if ($sourceParentMount === $mount2 && $this->targetIsNotShared($storage2, $internalPath2)) {
/**
* @var \OC\Files\Mount\MountPoint | \OC\Files\Mount\MoveableMount $mount1
@@ -831,7 +833,7 @@ class View {
$result = $storage2->moveFromStorage($storage1, $internalPath1, $internalPath2);
}
- if ((Cache\Scanner::isPartialFile($path1) && !Cache\Scanner::isPartialFile($path2)) && $result !== false) {
+ if ((Cache\Scanner::isPartialFile($source) && !Cache\Scanner::isPartialFile($target)) && $result !== false) {
// if it was a rename from a part file to a regular file it was a write and not a rename operation
$this->writeUpdate($storage2, $internalPath2);
} elseif ($result) {
@@ -842,22 +844,22 @@ class View {
} catch (\Exception $e) {
throw $e;
} finally {
- $this->changeLock($path1, ILockingProvider::LOCK_SHARED, true);
- $this->changeLock($path2, ILockingProvider::LOCK_SHARED, true);
+ $this->changeLock($source, ILockingProvider::LOCK_SHARED, true);
+ $this->changeLock($target, ILockingProvider::LOCK_SHARED, true);
}
- if ((Cache\Scanner::isPartialFile($path1) && !Cache\Scanner::isPartialFile($path2)) && $result !== false) {
+ if ((Cache\Scanner::isPartialFile($source) && !Cache\Scanner::isPartialFile($target)) && $result !== false) {
if ($this->shouldEmitHooks()) {
- $this->emit_file_hooks_post($exists, $path2);
+ $this->emit_file_hooks_post($exists, $target);
}
} elseif ($result) {
- if ($this->shouldEmitHooks($path1) and $this->shouldEmitHooks($path2)) {
+ if ($this->shouldEmitHooks($source) and $this->shouldEmitHooks($target)) {
\OC_Hook::emit(
Filesystem::CLASSNAME,
Filesystem::signal_post_rename,
[
- Filesystem::signal_param_oldpath => $this->getHookPath($path1),
- Filesystem::signal_param_newpath => $this->getHookPath($path2)
+ Filesystem::signal_param_oldpath => $this->getHookPath($source),
+ Filesystem::signal_param_newpath => $this->getHookPath($target)
]
);
}
@@ -866,8 +868,8 @@ class View {
} catch (\Exception $e) {
throw $e;
} finally {
- $this->unlockFile($path1, ILockingProvider::LOCK_SHARED, true);
- $this->unlockFile($path2, ILockingProvider::LOCK_SHARED, true);
+ $this->unlockFile($source, ILockingProvider::LOCK_SHARED, true);
+ $this->unlockFile($target, ILockingProvider::LOCK_SHARED, true);
}
}
return $result;
@@ -876,57 +878,57 @@ class View {
/**
* Copy a file/folder from the source path to target path
*
- * @param string $path1 source path
- * @param string $path2 target path
+ * @param string $source source path
+ * @param string $target target path
* @param bool $preserveMtime whether to preserve mtime on the copy
*
* @return bool|mixed
*/
- public function copy($path1, $path2, $preserveMtime = false) {
- $absolutePath1 = Filesystem::normalizePath($this->getAbsolutePath($path1));
- $absolutePath2 = Filesystem::normalizePath($this->getAbsolutePath($path2));
+ public function copy($source, $target, $preserveMtime = false) {
+ $absolutePath1 = Filesystem::normalizePath($this->getAbsolutePath($source));
+ $absolutePath2 = Filesystem::normalizePath($this->getAbsolutePath($target));
$result = false;
if (
- Filesystem::isValidPath($path2)
- and Filesystem::isValidPath($path1)
- and !Filesystem::isFileBlacklisted($path2)
+ Filesystem::isValidPath($target)
+ and Filesystem::isValidPath($source)
+ and !Filesystem::isFileBlacklisted($target)
) {
- $path1 = $this->getRelativePath($absolutePath1);
- $path2 = $this->getRelativePath($absolutePath2);
+ $source = $this->getRelativePath($absolutePath1);
+ $target = $this->getRelativePath($absolutePath2);
- if ($path1 == null or $path2 == null) {
+ if ($source == null or $target == null) {
return false;
}
$run = true;
- $this->lockFile($path2, ILockingProvider::LOCK_SHARED);
- $this->lockFile($path1, ILockingProvider::LOCK_SHARED);
+ $this->lockFile($target, ILockingProvider::LOCK_SHARED);
+ $this->lockFile($source, ILockingProvider::LOCK_SHARED);
$lockTypePath1 = ILockingProvider::LOCK_SHARED;
$lockTypePath2 = ILockingProvider::LOCK_SHARED;
try {
- $exists = $this->file_exists($path2);
+ $exists = $this->file_exists($target);
if ($this->shouldEmitHooks()) {
\OC_Hook::emit(
Filesystem::CLASSNAME,
Filesystem::signal_copy,
[
- Filesystem::signal_param_oldpath => $this->getHookPath($path1),
- Filesystem::signal_param_newpath => $this->getHookPath($path2),
+ Filesystem::signal_param_oldpath => $this->getHookPath($source),
+ Filesystem::signal_param_newpath => $this->getHookPath($target),
Filesystem::signal_param_run => &$run
]
);
- $this->emit_file_hooks_pre($exists, $path2, $run);
+ $this->emit_file_hooks_pre($exists, $target, $run);
}
if ($run) {
- $mount1 = $this->getMount($path1);
- $mount2 = $this->getMount($path2);
+ $mount1 = $this->getMount($source);
+ $mount2 = $this->getMount($target);
$storage1 = $mount1->getStorage();
$internalPath1 = $mount1->getInternalPath($absolutePath1);
$storage2 = $mount2->getStorage();
$internalPath2 = $mount2->getInternalPath($absolutePath2);
- $this->changeLock($path2, ILockingProvider::LOCK_EXCLUSIVE);
+ $this->changeLock($target, ILockingProvider::LOCK_EXCLUSIVE);
$lockTypePath2 = ILockingProvider::LOCK_EXCLUSIVE;
if ($mount1->getMountPoint() == $mount2->getMountPoint()) {
@@ -941,7 +943,7 @@ class View {
$this->writeUpdate($storage2, $internalPath2);
- $this->changeLock($path2, ILockingProvider::LOCK_SHARED);
+ $this->changeLock($target, ILockingProvider::LOCK_SHARED);
$lockTypePath2 = ILockingProvider::LOCK_SHARED;
if ($this->shouldEmitHooks() && $result !== false) {
@@ -949,21 +951,21 @@ class View {
Filesystem::CLASSNAME,
Filesystem::signal_post_copy,
[
- Filesystem::signal_param_oldpath => $this->getHookPath($path1),
- Filesystem::signal_param_newpath => $this->getHookPath($path2)
+ Filesystem::signal_param_oldpath => $this->getHookPath($source),
+ Filesystem::signal_param_newpath => $this->getHookPath($target)
]
);
- $this->emit_file_hooks_post($exists, $path2);
+ $this->emit_file_hooks_post($exists, $target);
}
}
} catch (\Exception $e) {
- $this->unlockFile($path2, $lockTypePath2);
- $this->unlockFile($path1, $lockTypePath1);
+ $this->unlockFile($target, $lockTypePath2);
+ $this->unlockFile($source, $lockTypePath1);
throw $e;
}
- $this->unlockFile($path2, $lockTypePath2);
- $this->unlockFile($path1, $lockTypePath1);
+ $this->unlockFile($target, $lockTypePath2);
+ $this->unlockFile($source, $lockTypePath1);
}
return $result;
}
@@ -1001,7 +1003,17 @@ class View {
$this->logger->info('Trying to open a file with a mode other than "r" or "w" can cause severe performance issues with some backends', ['app' => 'core']);
}
- return $this->basicOperation('fopen', $path, $hooks, $mode);
+ $handle = $this->basicOperation('fopen', $path, $hooks, $mode);
+ if (!is_resource($handle) && $mode === 'r') {
+ // trying to read a file that isn't on disk, check if the cache is out of sync and rescan if needed
+ $mount = $this->getMount($path);
+ $internalPath = $mount->getInternalPath($this->getAbsolutePath($path));
+ $storage = $mount->getStorage();
+ if ($storage->getCache()->inCache($internalPath) && !$storage->file_exists($path)) {
+ $this->writeUpdate($storage, $internalPath);
+ }
+ }
+ return $handle;
}
/**
@@ -1179,13 +1191,13 @@ class View {
throw $e;
}
- if ($result && in_array('delete', $hooks)) {
+ if ($result !== false && in_array('delete', $hooks)) {
$this->removeUpdate($storage, $internalPath);
}
- if ($result && in_array('write', $hooks, true) && $operation !== 'fopen' && $operation !== 'touch') {
+ if ($result !== false && in_array('write', $hooks, true) && $operation !== 'fopen' && $operation !== 'touch') {
$this->writeUpdate($storage, $internalPath);
}
- if ($result && in_array('touch', $hooks)) {
+ if ($result !== false && in_array('touch', $hooks)) {
$this->writeUpdate($storage, $internalPath, $extraParam);
}
@@ -1800,10 +1812,10 @@ class View {
}
// check if any of the parents were shared by the current owner (include collections)
- $shares = \OCP\Share::getItemShared(
+ $shares = Share::getItemShared(
'folder',
$fileId,
- \OCP\Share::FORMAT_NONE,
+ \OC\Share\Constants::FORMAT_NONE,
null,
true
);
diff --git a/lib/private/Group/DisplayNameCache.php b/lib/private/Group/DisplayNameCache.php
new file mode 100644
index 00000000000..d724b6caf0e
--- /dev/null
+++ b/lib/private/Group/DisplayNameCache.php
@@ -0,0 +1,87 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2022 Anna Larch <anna.larch@gmx.net>
+ * @author Anna Larch <anna.larch@gmx.net>
+ *
+ * @license AGPL-3.0-or-later
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+
+namespace OC\Group;
+
+use OCP\Cache\CappedMemoryCache;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
+use OCP\Group\Events\GroupChangedEvent;
+use OCP\ICache;
+use OCP\ICacheFactory;
+use OCP\IGroupManager;
+
+/**
+ * Class that cache the relation Group ID -> Display name
+ *
+ * This saves fetching the group from the backend for "just" the display name
+ */
+class DisplayNameCache implements IEventListener {
+ private CappedMemoryCache $cache;
+ private ICache $memCache;
+ private IGroupManager $groupManager;
+
+ public function __construct(ICacheFactory $cacheFactory, IGroupManager $groupManager) {
+ $this->cache = new CappedMemoryCache();
+ $this->memCache = $cacheFactory->createDistributed('groupDisplayNameMappingCache');
+ $this->groupManager = $groupManager;
+ }
+
+ public function getDisplayName(string $groupId): ?string {
+ if (isset($this->cache[$groupId])) {
+ return $this->cache[$groupId];
+ }
+ $displayName = $this->memCache->get($groupId);
+ if ($displayName) {
+ $this->cache[$groupId] = $displayName;
+ return $displayName;
+ }
+
+ $group = $this->groupManager->get($groupId);
+ if ($group) {
+ $displayName = $group->getDisplayName();
+ } else {
+ $displayName = null;
+ }
+ $this->cache[$groupId] = $displayName;
+ $this->memCache->set($groupId, $displayName, 60 * 10); // 10 minutes
+
+ return $displayName;
+ }
+
+ public function clear(): void {
+ $this->cache = new CappedMemoryCache();
+ $this->memCache->clear();
+ }
+
+ public function handle(Event $event): void {
+ if ($event instanceof GroupChangedEvent && $event->getFeature() === 'displayName') {
+ $groupId = $event->getGroup()->getGID();
+ $newDisplayName = $event->getValue();
+ $this->cache[$groupId] = $newDisplayName;
+ $this->memCache->set($groupId, $newDisplayName, 60 * 10); // 10 minutes
+ }
+ }
+}
diff --git a/lib/private/Group/Group.php b/lib/private/Group/Group.php
index 2ef4d2ee23f..ae70a611e4e 100644
--- a/lib/private/Group/Group.php
+++ b/lib/private/Group/Group.php
@@ -38,6 +38,7 @@ use OCP\Group\Backend\IGetDisplayNameBackend;
use OCP\Group\Backend\IHideFromCollaborationBackend;
use OCP\Group\Backend\INamedBackend;
use OCP\Group\Backend\ISetDisplayNameBackend;
+use OCP\Group\Events\GroupChangedEvent;
use OCP\GroupInterface;
use OCP\IGroup;
use OCP\IUser;
@@ -112,6 +113,7 @@ class Group implements IGroup {
if (($backend instanceof ISetDisplayNameBackend)
&& $backend->setDisplayName($this->gid, $displayName)) {
$this->displayName = $displayName;
+ $this->dispatcher->dispatch(new GroupChangedEvent($this, 'displayName', $displayName, ''));
return true;
}
}
diff --git a/lib/private/Group/Manager.php b/lib/private/Group/Manager.php
index 28f7a400b41..b718afa5168 100644
--- a/lib/private/Group/Manager.php
+++ b/lib/private/Group/Manager.php
@@ -42,6 +42,7 @@ namespace OC\Group;
use OC\Hooks\PublicEmitter;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\GroupInterface;
+use OCP\ICacheFactory;
use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IUser;
@@ -82,12 +83,16 @@ class Manager extends PublicEmitter implements IGroupManager {
/** @var \OC\SubAdmin */
private $subAdmin = null;
+ private DisplayNameCache $displayNameCache;
+
public function __construct(\OC\User\Manager $userManager,
EventDispatcherInterface $dispatcher,
- LoggerInterface $logger) {
+ LoggerInterface $logger,
+ ICacheFactory $cacheFactory) {
$this->userManager = $userManager;
$this->dispatcher = $dispatcher;
$this->logger = $logger;
+ $this->displayNameCache = new DisplayNameCache($cacheFactory, $this);
$cachedGroups = &$this->cachedGroups;
$cachedUserGroups = &$this->cachedUserGroups;
@@ -339,6 +344,14 @@ class Manager extends PublicEmitter implements IGroupManager {
}
/**
+ * @param string $groupId
+ * @return ?string
+ */
+ public function getDisplayName(string $groupId): ?string {
+ return $this->displayNameCache->getDisplayName($groupId);
+ }
+
+ /**
* get an array of groupid and displayName for a user
*
* @param IUser $user
@@ -346,7 +359,7 @@ class Manager extends PublicEmitter implements IGroupManager {
*/
public function getUserGroupNames(IUser $user) {
return array_map(function ($group) {
- return ['displayName' => $group->getDisplayName()];
+ return ['displayName' => $this->displayNameCache->getDisplayName($group->getGID())];
}, $this->getUserGroups($user));
}
diff --git a/lib/private/Http/Client/Client.php b/lib/private/Http/Client/Client.php
index 4bf7fd02400..2e370395132 100644
--- a/lib/private/Http/Client/Client.php
+++ b/lib/private/Http/Client/Client.php
@@ -37,8 +37,11 @@ use GuzzleHttp\Client as GuzzleClient;
use GuzzleHttp\RequestOptions;
use OCP\Http\Client\IClient;
use OCP\Http\Client\IResponse;
+use OCP\Http\Client\LocalServerException;
use OCP\ICertificateManager;
use OCP\IConfig;
+use OCP\Security\IRemoteHostValidator;
+use function parse_url;
/**
* Class Client
@@ -52,19 +55,18 @@ class Client implements IClient {
private $config;
/** @var ICertificateManager */
private $certificateManager;
- /** @var LocalAddressChecker */
- private $localAddressChecker;
+ private IRemoteHostValidator $remoteHostValidator;
public function __construct(
IConfig $config,
ICertificateManager $certificateManager,
GuzzleClient $client,
- LocalAddressChecker $localAddressChecker
+ IRemoteHostValidator $remoteHostValidator
) {
$this->config = $config;
$this->client = $client;
$this->certificateManager = $certificateManager;
- $this->localAddressChecker = $localAddressChecker;
+ $this->remoteHostValidator = $remoteHostValidator;
}
private function buildRequestOptions(array $options): array {
@@ -181,7 +183,13 @@ class Client implements IClient {
return;
}
- $this->localAddressChecker->ThrowIfLocalAddress($uri);
+ $host = parse_url($uri, PHP_URL_HOST);
+ if ($host === false || $host === null) {
+ throw new LocalServerException('Could not detect any host');
+ }
+ if (!$this->remoteHostValidator->isValid($host)) {
+ throw new LocalServerException('Host violates local access rules');
+ }
}
/**
diff --git a/lib/private/Http/Client/ClientService.php b/lib/private/Http/Client/ClientService.php
index e868d4af7a5..bbc2330176f 100644
--- a/lib/private/Http/Client/ClientService.php
+++ b/lib/private/Http/Client/ClientService.php
@@ -33,6 +33,7 @@ use OCP\Http\Client\IClient;
use OCP\Http\Client\IClientService;
use OCP\ICertificateManager;
use OCP\IConfig;
+use OCP\Security\IRemoteHostValidator;
/**
* Class ClientService
@@ -46,17 +47,16 @@ class ClientService implements IClientService {
private $certificateManager;
/** @var DnsPinMiddleware */
private $dnsPinMiddleware;
- /** @var LocalAddressChecker */
- private $localAddressChecker;
+ private IRemoteHostValidator $remoteHostValidator;
public function __construct(IConfig $config,
ICertificateManager $certificateManager,
DnsPinMiddleware $dnsPinMiddleware,
- LocalAddressChecker $localAddressChecker) {
+ IRemoteHostValidator $remoteHostValidator) {
$this->config = $config;
$this->certificateManager = $certificateManager;
$this->dnsPinMiddleware = $dnsPinMiddleware;
- $this->localAddressChecker = $localAddressChecker;
+ $this->remoteHostValidator = $remoteHostValidator;
}
/**
@@ -73,7 +73,7 @@ class ClientService implements IClientService {
$this->config,
$this->certificateManager,
$client,
- $this->localAddressChecker
+ $this->remoteHostValidator,
);
}
}
diff --git a/lib/private/Http/Client/DnsPinMiddleware.php b/lib/private/Http/Client/DnsPinMiddleware.php
index ee0ea053dcf..c6a58972fdd 100644
--- a/lib/private/Http/Client/DnsPinMiddleware.php
+++ b/lib/private/Http/Client/DnsPinMiddleware.php
@@ -25,20 +25,21 @@ declare(strict_types=1);
*/
namespace OC\Http\Client;
+use OC\Net\IpAddressClassifier;
+use OCP\Http\Client\LocalServerException;
use Psr\Http\Message\RequestInterface;
class DnsPinMiddleware {
/** @var NegativeDnsCache */
private $negativeDnsCache;
- /** @var LocalAddressChecker */
- private $localAddressChecker;
+ private IpAddressClassifier $ipAddressClassifier;
public function __construct(
NegativeDnsCache $negativeDnsCache,
- LocalAddressChecker $localAddressChecker
+ IpAddressClassifier $ipAddressClassifier
) {
$this->negativeDnsCache = $negativeDnsCache;
- $this->localAddressChecker = $localAddressChecker;
+ $this->ipAddressClassifier = $ipAddressClassifier;
}
/**
@@ -125,7 +126,7 @@ class DnsPinMiddleware {
$ports[] = (string)$port;
}
- $targetIps = $this->dnsResolve($hostName, 0);
+ $targetIps = $this->dnsResolve(idn_to_utf8($hostName), 0);
$curlResolves = [];
@@ -133,7 +134,10 @@ class DnsPinMiddleware {
$curlResolves["$hostName:$port"] = [];
foreach ($targetIps as $ip) {
- $this->localAddressChecker->ThrowIfLocalIp($ip);
+ if ($this->ipAddressClassifier->isLocalAddress($ip)) {
+ // TODO: continue with all non-local IPs?
+ throw new LocalServerException('Host violates local access rules');
+ }
$curlResolves["$hostName:$port"][] = $ip;
}
}
diff --git a/lib/private/Http/Client/LocalAddressChecker.php b/lib/private/Http/Client/LocalAddressChecker.php
deleted file mode 100644
index f4fea503ab9..00000000000
--- a/lib/private/Http/Client/LocalAddressChecker.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-/**
- * @copyright Copyright (c) 2021, Lukas Reschke <lukas@statuscode.ch>
- *
- * @author Lukas Reschke <lukas@statuscode.ch>
- *
- * @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/>.
- *
- */
-namespace OC\Http\Client;
-
-use OCP\Http\Client\LocalServerException;
-use Psr\Log\LoggerInterface;
-use Symfony\Component\HttpFoundation\IpUtils;
-
-class LocalAddressChecker {
- private LoggerInterface $logger;
-
- public function __construct(LoggerInterface $logger) {
- $this->logger = $logger;
- }
-
- public function ThrowIfLocalIp(string $ip) : void {
- $localRanges = [
- '100.64.0.0/10', // See RFC 6598
- '192.0.0.0/24', // See RFC 6890
- ];
- if (
- (bool)filter_var($ip, FILTER_VALIDATE_IP) &&
- (
- !filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) ||
- IpUtils::checkIp($ip, $localRanges)
- )) {
- $this->logger->warning("Host $ip was not connected to because it violates local access rules");
- throw new LocalServerException('Host violates local access rules');
- }
-
- // Also check for IPv6 IPv4 nesting, because that's not covered by filter_var
- if ((bool)filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) && substr_count($ip, '.') > 0) {
- $delimiter = strrpos($ip, ':'); // Get last colon
- $ipv4Address = substr($ip, $delimiter + 1);
-
- if (
- !filter_var($ipv4Address, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) ||
- IpUtils::checkIp($ip, $localRanges)) {
- $this->logger->warning("Host $ip was not connected to because it violates local access rules");
- throw new LocalServerException('Host violates local access rules');
- }
- }
- }
-
- public function ThrowIfLocalAddress(string $uri) : void {
- $host = parse_url($uri, PHP_URL_HOST);
- if ($host === false || $host === null) {
- $this->logger->warning("Could not detect any host in $uri");
- throw new LocalServerException('Could not detect any host');
- }
-
- $host = strtolower($host);
- // Remove brackets from IPv6 addresses
- if (strpos($host, '[') === 0 && substr($host, -1) === ']') {
- $host = substr($host, 1, -1);
- }
-
- // Disallow local network top-level domains from RFC 6762
- $localTopLevelDomains = ['local','localhost','intranet','internal','private','corp','home','lan'];
- $topLevelDomain = substr((strrchr($host, '.') ?: ''), 1);
- if (in_array($topLevelDomain, $localTopLevelDomains)) {
- $this->logger->warning("Host $host was not connected to because it violates local access rules");
- throw new LocalServerException('Host violates local access rules');
- }
-
- // Disallow hostname only
- if (substr_count($host, '.') === 0 && !(bool)filter_var($host, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
- $this->logger->warning("Host $host was not connected to because it violates local access rules");
- throw new LocalServerException('Host violates local access rules');
- }
-
- $this->ThrowIfLocalIp($host);
- }
-}
diff --git a/lib/private/L10N/Factory.php b/lib/private/L10N/Factory.php
index 7fcfab37fa6..71910873db7 100644
--- a/lib/private/L10N/Factory.php
+++ b/lib/private/L10N/Factory.php
@@ -40,6 +40,8 @@ declare(strict_types=1);
namespace OC\L10N;
+use OCP\ICache;
+use OCP\ICacheFactory;
use OCP\IConfig;
use OCP\IRequest;
use OCP\IUser;
@@ -94,7 +96,9 @@ class Factory implements IFactory {
protected $request;
/** @var IUserSession */
- protected $userSession;
+ protected IUserSession $userSession;
+
+ private ICache $cache;
/** @var string */
protected $serverRoot;
@@ -109,11 +113,13 @@ class Factory implements IFactory {
IConfig $config,
IRequest $request,
IUserSession $userSession,
+ ICacheFactory $cacheFactory,
$serverRoot
) {
$this->config = $config;
$this->request = $request;
$this->userSession = $userSession;
+ $this->cache = $cacheFactory->createLocal('L10NFactory');
$this->serverRoot = $serverRoot;
}
@@ -338,6 +344,10 @@ class Factory implements IFactory {
$key = 'null';
}
+ if ($availableLanguages = $this->cache->get($key)) {
+ $this->availableLanguages[$key] = $availableLanguages;
+ }
+
// also works with null as key
if (!empty($this->availableLanguages[$key])) {
return $this->availableLanguages[$key];
@@ -374,6 +384,7 @@ class Factory implements IFactory {
}
$this->availableLanguages[$key] = $available;
+ $this->cache->set($key, $available, 60);
return $available;
}
diff --git a/lib/private/Lockdown/Filesystem/NullStorage.php b/lib/private/Lockdown/Filesystem/NullStorage.php
index ac8c30418bd..8427a4658d4 100644
--- a/lib/private/Lockdown/Filesystem/NullStorage.php
+++ b/lib/private/Lockdown/Filesystem/NullStorage.php
@@ -113,11 +113,11 @@ class NullStorage extends Common {
throw new \OC\ForbiddenException('This request is not allowed to access the filesystem');
}
- public function rename($path1, $path2) {
+ public function rename($source, $target) {
throw new \OC\ForbiddenException('This request is not allowed to access the filesystem');
}
- public function copy($path1, $path2) {
+ public function copy($source, $target) {
throw new \OC\ForbiddenException('This request is not allowed to access the filesystem');
}
diff --git a/lib/private/Log/ErrorHandler.php b/lib/private/Log/ErrorHandler.php
index d56fecb1ecb..c4b9631e75a 100644
--- a/lib/private/Log/ErrorHandler.php
+++ b/lib/private/Log/ErrorHandler.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
@@ -27,84 +30,75 @@
*/
namespace OC\Log;
+use Error;
use OCP\ILogger;
+use Psr\Log\LoggerInterface;
+use Throwable;
class ErrorHandler {
- /** @var ILogger */
- private static $logger;
+ private LoggerInterface $logger;
+
+ public function __construct(LoggerInterface $logger) {
+ $this->logger = $logger;
+ }
/**
- * remove password in URLs
- * @param string $msg
- * @return string
+ * Remove password in URLs
*/
- protected static function removePassword($msg) {
+ private static function removePassword(string $msg): string {
return preg_replace('#//(.*):(.*)@#', '//xxx:xxx@', $msg);
}
- public static function register($debug = false) {
- $handler = new ErrorHandler();
-
- if ($debug) {
- set_error_handler([$handler, 'onAll'], E_ALL);
- if (\OC::$CLI) {
- set_exception_handler(['OC_Template', 'printExceptionErrorPage']);
- }
- } else {
- set_error_handler([$handler, 'onError']);
- }
- register_shutdown_function([$handler, 'onShutdown']);
- set_exception_handler([$handler, 'onException']);
- }
-
- public static function setLogger(ILogger $logger) {
- self::$logger = $logger;
- }
-
- //Fatal errors handler
- public static function onShutdown() {
+ /**
+ * Fatal errors handler
+ */
+ public function onShutdown(): void {
$error = error_get_last();
- if ($error && self::$logger) {
- //ob_end_clean();
+ if ($error) {
$msg = $error['message'] . ' at ' . $error['file'] . '#' . $error['line'];
- self::$logger->critical(self::removePassword($msg), ['app' => 'PHP']);
+ $this->logger->critical(self::removePassword($msg), ['app' => 'PHP']);
}
}
/**
- * Uncaught exception handler
- *
- * @param \Exception $exception
+ * Uncaught exception handler
*/
- public static function onException($exception) {
+ public function onException(Throwable $exception): void {
$class = get_class($exception);
$msg = $exception->getMessage();
$msg = "$class: $msg at " . $exception->getFile() . '#' . $exception->getLine();
- self::$logger->critical(self::removePassword($msg), ['app' => 'PHP']);
+ $this->logger->critical(self::removePassword($msg), ['app' => 'PHP']);
}
- //Recoverable errors handler
- public static function onError($number, $message, $file, $line) {
+ /**
+ * Recoverable errors handler
+ */
+ public function onError(int $number, string $message, string $file, int $line): bool {
if (!(error_reporting() & $number)) {
- return;
+ return true;
}
$msg = $message . ' at ' . $file . '#' . $line;
- $e = new \Error(self::removePassword($msg));
- self::$logger->logException($e, ['app' => 'PHP', 'level' => self::errnoToLogLevel($number)]);
+ $e = new Error(self::removePassword($msg));
+ $this->logger->log(self::errnoToLogLevel($number), $e->getMessage(), ['app' => 'PHP']);
+ return true;
}
- //Recoverable handler which catch all errors, warnings and notices
- public static function onAll($number, $message, $file, $line) {
+ /**
+ * Recoverable handler which catch all errors, warnings and notices
+ */
+ public function onAll(int $number, string $message, string $file, int $line): bool {
$msg = $message . ' at ' . $file . '#' . $line;
- $e = new \Error(self::removePassword($msg));
- self::$logger->logException($e, ['app' => 'PHP', 'level' => self::errnoToLogLevel($number)]);
+ $e = new Error(self::removePassword($msg));
+ $this->logger->log(self::errnoToLogLevel($number), $e->getMessage(), ['app' => 'PHP']);
+ return true;
}
- public static function errnoToLogLevel(int $errno): int {
+ private static function errnoToLogLevel(int $errno): int {
switch ($errno) {
case E_USER_WARNING:
return ILogger::WARN;
+ case E_DEPRECATED:
case E_USER_DEPRECATED:
return ILogger::DEBUG;
diff --git a/lib/private/Log/Errorlog.php b/lib/private/Log/Errorlog.php
index d27759d7050..7fca04d8b34 100644
--- a/lib/private/Log/Errorlog.php
+++ b/lib/private/Log/Errorlog.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* The MIT License (MIT)
*
@@ -32,7 +35,7 @@ class Errorlog implements IWriter {
/** @var string */
protected $tag;
- public function __construct(string $tag = 'owncloud') {
+ public function __construct(string $tag = 'nextcloud') {
$this->tag = $tag;
}
diff --git a/lib/private/Mail/Message.php b/lib/private/Mail/Message.php
index c1b08b4e231..8b94f44ddba 100644
--- a/lib/private/Mail/Message.php
+++ b/lib/private/Mail/Message.php
@@ -78,14 +78,18 @@ class Message implements IMessage {
$convertedAddresses = [];
foreach ($addresses as $email => $readableName) {
- if (!is_numeric($email)) {
- [$name, $domain] = explode('@', $email, 2);
- $domain = idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46);
- $convertedAddresses[$name.'@'.$domain] = $readableName;
+ $parsableEmail = is_numeric($email) ? $readableName : $email;
+ if (strpos($parsableEmail, '@') === false) {
+ $convertedAddresses[$parsableEmail] = $readableName;
+ continue;
+ }
+
+ [$name, $domain] = explode('@', $parsableEmail, 2);
+ $domain = idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46);
+ if (is_numeric($email)) {
+ $convertedAddresses[] = $name . '@' . $domain;
} else {
- [$name, $domain] = explode('@', $readableName, 2);
- $domain = idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46);
- $convertedAddresses[$email] = $name.'@'.$domain;
+ $convertedAddresses[$name . '@' . $domain] = $readableName;
}
}
diff --git a/lib/private/Memcache/Redis.php b/lib/private/Memcache/Redis.php
index 9b07da2d99c..f4094e0bef6 100644
--- a/lib/private/Memcache/Redis.php
+++ b/lib/private/Memcache/Redis.php
@@ -33,20 +33,28 @@ use OCP\IMemcacheTTL;
class Redis extends Cache implements IMemcacheTTL {
/**
- * @var \Redis $cache
+ * @var \Redis|\RedisCluster $cache
*/
private static $cache = null;
public function __construct($prefix = '', string $logFile = '') {
parent::__construct($prefix);
+ }
+
+ /**
+ * @return \Redis|\RedisCluster|null
+ * @throws \Exception
+ */
+ public function getCache() {
if (is_null(self::$cache)) {
self::$cache = \OC::$server->getGetRedisFactory()->getInstance();
}
+ return self::$cache;
}
public function get($key) {
- $result = self::$cache->get($this->getPrefix() . $key);
- if ($result === false && !self::$cache->exists($this->getPrefix() . $key)) {
+ $result = $this->getCache()->get($this->getPrefix() . $key);
+ if ($result === false && !$this->getCache()->exists($this->getPrefix() . $key)) {
return null;
} else {
return json_decode($result, true);
@@ -55,18 +63,18 @@ class Redis extends Cache implements IMemcacheTTL {
public function set($key, $value, $ttl = 0) {
if ($ttl > 0) {
- return self::$cache->setex($this->getPrefix() . $key, $ttl, json_encode($value));
+ return $this->getCache()->setex($this->getPrefix() . $key, $ttl, json_encode($value));
} else {
- return self::$cache->set($this->getPrefix() . $key, json_encode($value));
+ return $this->getCache()->set($this->getPrefix() . $key, json_encode($value));
}
}
public function hasKey($key) {
- return (bool)self::$cache->exists($this->getPrefix() . $key);
+ return (bool)$this->getCache()->exists($this->getPrefix() . $key);
}
public function remove($key) {
- if (self::$cache->del($this->getPrefix() . $key)) {
+ if ($this->getCache()->del($this->getPrefix() . $key)) {
return true;
} else {
return false;
@@ -75,10 +83,10 @@ class Redis extends Cache implements IMemcacheTTL {
public function clear($prefix = '') {
$prefix = $this->getPrefix() . $prefix . '*';
- $keys = self::$cache->keys($prefix);
- $deleted = self::$cache->del($keys);
+ $keys = $this->getCache()->keys($prefix);
+ $deleted = $this->getCache()->del($keys);
- return count($keys) === $deleted;
+ return (is_array($keys) && (count($keys) === $deleted));
}
/**
@@ -100,7 +108,7 @@ class Redis extends Cache implements IMemcacheTTL {
$args['ex'] = $ttl;
}
- return self::$cache->set($this->getPrefix() . $key, $value, $args);
+ return $this->getCache()->set($this->getPrefix() . $key, (string)$value, $args);
}
/**
@@ -111,7 +119,7 @@ class Redis extends Cache implements IMemcacheTTL {
* @return int | bool
*/
public function inc($key, $step = 1) {
- return self::$cache->incrBy($this->getPrefix() . $key, $step);
+ return $this->getCache()->incrBy($this->getPrefix() . $key, $step);
}
/**
@@ -125,7 +133,7 @@ class Redis extends Cache implements IMemcacheTTL {
if (!$this->hasKey($key)) {
return false;
}
- return self::$cache->decrBy($this->getPrefix() . $key, $step);
+ return $this->getCache()->decrBy($this->getPrefix() . $key, $step);
}
/**
@@ -140,14 +148,14 @@ class Redis extends Cache implements IMemcacheTTL {
if (!is_int($new)) {
$new = json_encode($new);
}
- self::$cache->watch($this->getPrefix() . $key);
+ $this->getCache()->watch($this->getPrefix() . $key);
if ($this->get($key) === $old) {
- $result = self::$cache->multi()
+ $result = $this->getCache()->multi()
->set($this->getPrefix() . $key, $new)
->exec();
return $result !== false;
}
- self::$cache->unwatch();
+ $this->getCache()->unwatch();
return false;
}
@@ -159,19 +167,19 @@ class Redis extends Cache implements IMemcacheTTL {
* @return bool
*/
public function cad($key, $old) {
- self::$cache->watch($this->getPrefix() . $key);
+ $this->getCache()->watch($this->getPrefix() . $key);
if ($this->get($key) === $old) {
- $result = self::$cache->multi()
+ $result = $this->getCache()->multi()
->del($this->getPrefix() . $key)
->exec();
return $result !== false;
}
- self::$cache->unwatch();
+ $this->getCache()->unwatch();
return false;
}
public function setTTL($key, $ttl) {
- self::$cache->expire($this->getPrefix() . $key, $ttl);
+ $this->getCache()->expire($this->getPrefix() . $key, $ttl);
}
public static function isAvailable(): bool {
diff --git a/lib/private/Metadata/FileEventListener.php b/lib/private/Metadata/FileEventListener.php
index 6d41ccdef30..162e85ff3aa 100644
--- a/lib/private/Metadata/FileEventListener.php
+++ b/lib/private/Metadata/FileEventListener.php
@@ -33,6 +33,11 @@ use OCP\Files\NotFoundException;
use OCP\Files\FileInfo;
use Psr\Log\LoggerInterface;
+/**
+ * @template-implements IEventListener<NodeRemovedFromCache>
+ * @template-implements IEventListener<NodeDeletedEvent>
+ * @template-implements IEventListener<NodeWrittenEvent>
+ */
class FileEventListener implements IEventListener {
private IMetadataManager $manager;
private LoggerInterface $logger;
diff --git a/lib/private/Metadata/FileMetadata.php b/lib/private/Metadata/FileMetadata.php
index 7d1db21cf39..9ad0f9d35c6 100644
--- a/lib/private/Metadata/FileMetadata.php
+++ b/lib/private/Metadata/FileMetadata.php
@@ -28,7 +28,7 @@ use OCP\DB\Types;
/**
* @method string getGroupName()
* @method void setGroupName(string $groupName)
- * @method string getMetadata()
+ * @method array getMetadata()
* @method void setMetadata(array $metadata)
* @see \OC\Core\Migrations\Version240000Date20220404230027
*/
diff --git a/lib/private/Metadata/FileMetadataMapper.php b/lib/private/Metadata/FileMetadataMapper.php
index 53f750ae540..f8f8df4bf3b 100644
--- a/lib/private/Metadata/FileMetadataMapper.php
+++ b/lib/private/Metadata/FileMetadataMapper.php
@@ -3,6 +3,7 @@
declare(strict_types=1);
/**
* @copyright Copyright 2022 Carl Schwan <carl@carlschwan.eu>
+ * @copyright Copyright 2022 Louis Chmn <louis@chmn.me>
* @license AGPL-3.0-or-later
*
* This code is free software: you can redistribute it and/or modify
@@ -24,6 +25,7 @@ namespace OC\Metadata;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\AppFramework\Db\QBMapper;
+use OCP\AppFramework\Db\Entity;
use OCP\DB\Exception;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
@@ -102,4 +104,45 @@ class FileMetadataMapper extends QBMapper {
$qb->executeStatement();
}
+
+ /**
+ * Updates an entry in the db from an entity
+ *
+ * @param Entity $entity the entity that should be created
+ * @return Entity the saved entity with the set id
+ * @throws Exception
+ * @throws \InvalidArgumentException if entity has no id
+ */
+ public function update(Entity $entity): Entity {
+ if (!($entity instanceof FileMetadata)) {
+ throw new \Exception("Entity should be a FileMetadata entity");
+ }
+
+ // entity needs an id
+ $id = $entity->getId();
+ if ($id === null) {
+ throw new \InvalidArgumentException('Entity which should be updated has no id');
+ }
+
+ // entity needs an group_name
+ $groupName = $entity->getGroupName();
+ if ($groupName === null) {
+ throw new \InvalidArgumentException('Entity which should be updated has no group_name');
+ }
+
+ $idType = $this->getParameterTypeForProperty($entity, 'id');
+ $groupNameType = $this->getParameterTypeForProperty($entity, 'groupName');
+ $metadataValue = $entity->getMetadata();
+ $metadataType = $this->getParameterTypeForProperty($entity, 'metadata');
+
+ $qb = $this->db->getQueryBuilder();
+
+ $qb->update($this->tableName)
+ ->set('metadata', $qb->createNamedParameter($metadataValue, $metadataType))
+ ->where($qb->expr()->eq('id', $qb->createNamedParameter($id, $idType)))
+ ->andWhere($qb->expr()->eq('group_name', $qb->createNamedParameter($groupName, $groupNameType)))
+ ->executeStatement();
+
+ return $entity;
+ }
}
diff --git a/lib/private/Metadata/MetadataManager.php b/lib/private/Metadata/MetadataManager.php
index d1cb896febf..77407a2f529 100644
--- a/lib/private/Metadata/MetadataManager.php
+++ b/lib/private/Metadata/MetadataManager.php
@@ -21,27 +21,19 @@ namespace OC\Metadata;
use OC\Metadata\Provider\ExifProvider;
use OCP\Files\File;
-use OCP\IConfig;
-use Psr\Log\LoggerInterface;
class MetadataManager implements IMetadataManager {
/** @var array<string, IMetadataProvider> */
private array $providers;
private array $providerClasses;
private FileMetadataMapper $fileMetadataMapper;
- private IConfig $config;
- private LoggerInterface $logger;
public function __construct(
- FileMetadataMapper $fileMetadataMapper,
- IConfig $config,
- LoggerInterface $logger
+ FileMetadataMapper $fileMetadataMapper
) {
$this->providers = [];
$this->providerClasses = [];
$this->fileMetadataMapper = $fileMetadataMapper;
- $this->config = $config;
- $this->logger = $logger;
// TODO move to another place, where?
$this->registerProvider(ExifProvider::class);
diff --git a/lib/private/Metadata/Provider/ExifProvider.php b/lib/private/Metadata/Provider/ExifProvider.php
index 892671556b3..02024bd3877 100644
--- a/lib/private/Metadata/Provider/ExifProvider.php
+++ b/lib/private/Metadata/Provider/ExifProvider.php
@@ -1,23 +1,66 @@
<?php
+declare(strict_types=1);
+/**
+ * @copyright Copyright 2022 Carl Schwan <carl@carlschwan.eu>
+ * @copyright Copyright 2022 Louis Chmn <louis@chmn.me>
+ * @license AGPL-3.0-or-later
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
namespace OC\Metadata\Provider;
use OC\Metadata\FileMetadata;
use OC\Metadata\IMetadataProvider;
use OCP\Files\File;
+use Psr\Log\LoggerInterface;
class ExifProvider implements IMetadataProvider {
+ private LoggerInterface $logger;
+
+ public function __construct(
+ LoggerInterface $logger
+ ) {
+ $this->logger = $logger;
+ }
+
public static function groupsProvided(): array {
- return ['size'];
+ return ['size', 'gps'];
}
public static function isAvailable(): bool {
return extension_loaded('exif');
}
+ /** @return array{'gps': FileMetadata, 'size': FileMetadata} */
public function execute(File $file): array {
+ $exifData = [];
$fileDescriptor = $file->fopen('rb');
- $data = exif_read_data($fileDescriptor, 'COMPUTED', true);
+
+ $data = null;
+ try {
+ // Needed to make reading exif data reliable.
+ // This is to trigger this condition: https://github.com/php/php-src/blob/d64aa6f646a7b5e58359dc79479860164239580a/main/streams/streams.c#L710
+ // But I don't understand why 1 as a special meaning.
+ // Revert right after reading the exif data.
+ $oldBufferSize = stream_set_chunk_size($fileDescriptor, 1);
+ $data = exif_read_data($fileDescriptor, 'ANY_TAG', true);
+ stream_set_chunk_size($fileDescriptor, $oldBufferSize);
+ } catch (\Exception $ex) {
+ $this->logger->warning("Couldn't extract metadata for ".$file->getId(), ['exception' => $ex]);
+ }
$size = new FileMetadata();
$size->setGroupName('size');
@@ -31,29 +74,65 @@ class ExifProvider implements IMetadataProvider {
'width' => $sizeResult[0],
'height' => $sizeResult[1],
]);
+
+ $exifData['size'] = $size;
}
+ } elseif (array_key_exists('COMPUTED', $data)) {
+ if (array_key_exists('Width', $data['COMPUTED']) && array_key_exists('Height', $data['COMPUTED'])) {
+ $size->setMetadata([
+ 'width' => $data['COMPUTED']['Width'],
+ 'height' => $data['COMPUTED']['Height'],
+ ]);
- return [
- 'size' => $size,
- ];
+ $exifData['size'] = $size;
+ }
}
- if (array_key_exists('COMPUTED', $data)
- && array_key_exists('Width', $data['COMPUTED'])
- && array_key_exists('Height', $data['COMPUTED'])
+ if ($data && array_key_exists('GPS', $data)
+ && array_key_exists('GPSLatitude', $data['GPS']) && array_key_exists('GPSLatitudeRef', $data['GPS'])
+ && array_key_exists('GPSLongitude', $data['GPS']) && array_key_exists('GPSLongitudeRef', $data['GPS'])
) {
- $size->setMetadata([
- 'width' => $data['COMPUTED']['Width'],
- 'height' => $data['COMPUTED']['Height'],
+ $gps = new FileMetadata();
+ $gps->setGroupName('gps');
+ $gps->setId($file->getId());
+ $gps->setMetadata([
+ 'latitude' => $this->gpsDegreesToDecimal($data['GPS']['GPSLatitude'], $data['GPS']['GPSLatitudeRef']),
+ 'longitude' => $this->gpsDegreesToDecimal($data['GPS']['GPSLongitude'], $data['GPS']['GPSLongitudeRef']),
]);
+
+ $exifData['gps'] = $gps;
}
- return [
- 'size' => $size,
- ];
+ return $exifData;
}
public static function getMimetypesSupported(): string {
return '/image\/.*/';
}
+
+ /**
+ * @param array|string $coordinates
+ */
+ private static function gpsDegreesToDecimal($coordinates, ?string $hemisphere): float {
+ if (is_string($coordinates)) {
+ $coordinates = array_map("trim", explode(",", $coordinates));
+ }
+
+ if (count($coordinates) !== 3) {
+ throw new \Exception('Invalid coordinate format: ' . json_encode($coordinates));
+ }
+
+ [$degrees, $minutes, $seconds] = array_map(function (string $rawDegree) {
+ $parts = explode('/', $rawDegree);
+
+ if ($parts[1] === '0') {
+ return 0;
+ }
+
+ return floatval($parts[0]) / floatval($parts[1] ?? 1);
+ }, $coordinates);
+
+ $sign = ($hemisphere === 'W' || $hemisphere === 'S') ? -1 : 1;
+ return $sign * ($degrees + $minutes / 60 + $seconds / 3600);
+ }
}
diff --git a/lib/private/NavigationManager.php b/lib/private/NavigationManager.php
index 7e162e65a5d..b78d9fa1ed8 100644
--- a/lib/private/NavigationManager.php
+++ b/lib/private/NavigationManager.php
@@ -193,7 +193,7 @@ class NavigationManager implements INavigationManager {
$this->add([
'type' => 'settings',
'id' => 'help',
- 'order' => 6,
+ 'order' => 99998,
'href' => $this->urlGenerator->linkToRoute('settings.Help.help'),
'name' => $l->t('Help'),
'icon' => $this->urlGenerator->imagePath('settings', 'help.svg'),
diff --git a/lib/private/Net/HostnameClassifier.php b/lib/private/Net/HostnameClassifier.php
new file mode 100644
index 00000000000..626aa47083e
--- /dev/null
+++ b/lib/private/Net/HostnameClassifier.php
@@ -0,0 +1,74 @@
+<?php
+
+declare(strict_types=1);
+
+/*
+ * @copyright 2022 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @author 2022 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @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/>.
+ */
+
+namespace OC\Net;
+
+use function filter_var;
+use function in_array;
+use function strrchr;
+use function substr;
+use function substr_count;
+
+/**
+ * Classifier for network hostnames
+ *
+ * @internal
+ */
+class HostnameClassifier {
+ private const LOCAL_TOPLEVEL_DOMAINS = [
+ 'local',
+ 'localhost',
+ 'intranet',
+ 'internal',
+ 'private',
+ 'corp',
+ 'home',
+ 'lan',
+ ];
+
+ /**
+ * Check host identifier for local hostname
+ *
+ * IP addresses are not considered local. Use the IpAddressClassifier for those.
+ *
+ * @param string $hostname
+ *
+ * @return bool
+ */
+ public function isLocalHostname(string $hostname): bool {
+ // Disallow local network top-level domains from RFC 6762
+ $topLevelDomain = substr((strrchr($hostname, '.') ?: ''), 1);
+ if (in_array($topLevelDomain, self::LOCAL_TOPLEVEL_DOMAINS)) {
+ return true;
+ }
+
+ // Disallow hostname only
+ if (substr_count($hostname, '.') === 0 && !filter_var($hostname, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
+ return true;
+ }
+
+ return false;
+ }
+}
diff --git a/lib/private/Net/IpAddressClassifier.php b/lib/private/Net/IpAddressClassifier.php
new file mode 100644
index 00000000000..d4698864ec8
--- /dev/null
+++ b/lib/private/Net/IpAddressClassifier.php
@@ -0,0 +1,81 @@
+<?php
+
+declare(strict_types=1);
+
+/*
+ * @copyright 2022 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @author 2022 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @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/>.
+ */
+
+namespace OC\Net;
+
+use IPLib\Address\IPv6;
+use IPLib\Factory;
+use IPLib\ParseStringFlag;
+use Symfony\Component\HttpFoundation\IpUtils;
+use function filter_var;
+
+/**
+ * Classifier for IP addresses
+ *
+ * @internal
+ */
+class IpAddressClassifier {
+ private const LOCAL_ADDRESS_RANGES = [
+ '100.64.0.0/10', // See RFC 6598
+ '192.0.0.0/24', // See RFC 6890
+ ];
+
+ /**
+ * Check host identifier for local IPv4 and IPv6 address ranges
+ *
+ * Hostnames are not considered local. Use the HostnameClassifier for those.
+ *
+ * @param string $ip
+ *
+ * @return bool
+ */
+ public function isLocalAddress(string $ip): bool {
+ $parsedIp = Factory::parseAddressString(
+ $ip,
+ ParseStringFlag::IPV4_MAYBE_NON_DECIMAL | ParseStringFlag::IPV4ADDRESS_MAYBE_NON_QUAD_DOTTED
+ );
+ if ($parsedIp === null) {
+ /* Not an IP */
+ return false;
+ }
+ /* Replace by normalized form */
+ if ($parsedIp instanceof IPv6) {
+ $ip = (string)($parsedIp->toIPv4() ?? $parsedIp);
+ } else {
+ $ip = (string)$parsedIp;
+ }
+
+ if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
+ /* Range address */
+ return true;
+ }
+ if (IpUtils::checkIp($ip, self::LOCAL_ADDRESS_RANGES)) {
+ /* Within local range */
+ return true;
+ }
+
+ return false;
+ }
+}
diff --git a/lib/private/Notification/Manager.php b/lib/private/Notification/Manager.php
index d758cae428f..3d77f643d93 100644
--- a/lib/private/Notification/Manager.php
+++ b/lib/private/Notification/Manager.php
@@ -305,7 +305,7 @@ class Manager implements IManager {
* users overload our infrastructure. For this reason we have to rate-limit the
* use of push notifications. If you need this feature, consider using Nextcloud Enterprise.
*/
- $isFairUse = $this->subscription->delegateHasValidSubscription() || $this->userManager->countSeenUsers() < 500;
+ $isFairUse = $this->subscription->delegateHasValidSubscription() || $this->userManager->countSeenUsers() < 1000;
$pushAllowed = $isFairUse ? 'yes' : 'no';
$this->cache->set('push_fair_use', $pushAllowed, 3600);
}
diff --git a/lib/private/OCS/CoreCapabilities.php b/lib/private/OCS/CoreCapabilities.php
index ab06b04cc91..578152ff108 100644
--- a/lib/private/OCS/CoreCapabilities.php
+++ b/lib/private/OCS/CoreCapabilities.php
@@ -24,6 +24,7 @@ namespace OC\OCS;
use OCP\Capabilities\ICapability;
use OCP\IConfig;
+use OCP\IURLGenerator;
/**
* Class Capabilities
@@ -52,7 +53,9 @@ class CoreCapabilities implements ICapability {
'core' => [
'pollinterval' => $this->config->getSystemValue('pollinterval', 60),
'webdav-root' => $this->config->getSystemValue('webdav-root', 'remote.php/webdav'),
- ]
+ 'reference-api' => true,
+ 'reference-regex' => IURLGenerator::URL_REGEX_NO_MODIFIERS,
+ ],
];
}
}
diff --git a/lib/private/Preview/BackgroundCleanupJob.php b/lib/private/Preview/BackgroundCleanupJob.php
index ab40aeaaa79..9a493384f11 100644
--- a/lib/private/Preview/BackgroundCleanupJob.php
+++ b/lib/private/Preview/BackgroundCleanupJob.php
@@ -25,8 +25,9 @@ declare(strict_types=1);
*/
namespace OC\Preview;
-use OC\BackgroundJob\TimedJob;
use OC\Preview\Storage\Root;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\Files\IMimeTypeLoader;
use OCP\Files\NotFoundException;
@@ -34,7 +35,6 @@ use OCP\Files\NotPermittedException;
use OCP\IDBConnection;
class BackgroundCleanupJob extends TimedJob {
-
/** @var IDBConnection */
private $connection;
@@ -47,10 +47,12 @@ class BackgroundCleanupJob extends TimedJob {
/** @var IMimeTypeLoader */
private $mimeTypeLoader;
- public function __construct(IDBConnection $connection,
+ public function __construct(ITimeFactory $timeFactory,
+ IDBConnection $connection,
Root $previewFolder,
IMimeTypeLoader $mimeTypeLoader,
bool $isCLI) {
+ parent::__construct($timeFactory);
// Run at most once an hour
$this->setInterval(3600);
diff --git a/lib/private/Preview/Generator.php b/lib/private/Preview/Generator.php
index ef44188da74..7d2408d683f 100644
--- a/lib/private/Preview/Generator.php
+++ b/lib/private/Preview/Generator.php
@@ -29,6 +29,7 @@
*/
namespace OC\Preview;
+use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\File;
use OCP\Files\IAppData;
use OCP\Files\InvalidPathException;
@@ -40,12 +41,15 @@ use OCP\IConfig;
use OCP\IImage;
use OCP\IPreview;
use OCP\IStreamImage;
+use OCP\Preview\BeforePreviewFetchedEvent;
use OCP\Preview\IProviderV2;
use OCP\Preview\IVersionedPreviewFile;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\EventDispatcher\GenericEvent;
class Generator {
+ public const SEMAPHORE_ID_ALL = 0x0a11;
+ public const SEMAPHORE_ID_NEW = 0x07ea;
/** @var IPreview */
private $previewManager;
@@ -56,26 +60,23 @@ class Generator {
/** @var GeneratorHelper */
private $helper;
/** @var EventDispatcherInterface */
+ private $legacyEventDispatcher;
+ /** @var IEventDispatcher */
private $eventDispatcher;
- /**
- * @param IConfig $config
- * @param IPreview $previewManager
- * @param IAppData $appData
- * @param GeneratorHelper $helper
- * @param EventDispatcherInterface $eventDispatcher
- */
public function __construct(
IConfig $config,
IPreview $previewManager,
IAppData $appData,
GeneratorHelper $helper,
- EventDispatcherInterface $eventDispatcher
+ EventDispatcherInterface $legacyEventDispatcher,
+ IEventDispatcher $eventDispatcher
) {
$this->config = $config;
$this->previewManager = $previewManager;
$this->appData = $appData;
$this->helper = $helper;
+ $this->legacyEventDispatcher = $legacyEventDispatcher;
$this->eventDispatcher = $eventDispatcher;
}
@@ -102,10 +103,14 @@ class Generator {
'crop' => $crop,
'mode' => $mode,
];
- $this->eventDispatcher->dispatch(
+
+ $this->legacyEventDispatcher->dispatch(
IPreview::EVENT,
new GenericEvent($file, $specification)
);
+ $this->eventDispatcher->dispatchTyped(new BeforePreviewFetchedEvent(
+ $file
+ ));
// since we only ask for one preview, and the generate method return the last one it created, it returns the one we want
return $this->generatePreviews($file, [$specification], $mimeType);
@@ -300,6 +305,98 @@ class Generator {
}
/**
+ * Acquire a semaphore of the specified id and concurrency, blocking if necessary.
+ * Return an identifier of the semaphore on success, which can be used to release it via
+ * {@see Generator::unguardWithSemaphore()}.
+ *
+ * @param int $semId
+ * @param int $concurrency
+ * @return false|resource the semaphore on success or false on failure
+ */
+ public static function guardWithSemaphore(int $semId, int $concurrency) {
+ if (!extension_loaded('sysvsem')) {
+ return false;
+ }
+ $sem = sem_get($semId, $concurrency);
+ if ($sem === false) {
+ return false;
+ }
+ if (!sem_acquire($sem)) {
+ return false;
+ }
+ return $sem;
+ }
+
+ /**
+ * Releases the semaphore acquired from {@see Generator::guardWithSemaphore()}.
+ *
+ * @param resource|bool $semId the semaphore identifier returned by guardWithSemaphore
+ * @return bool
+ */
+ public static function unguardWithSemaphore($semId): bool {
+ if (!is_resource($semId) || !extension_loaded('sysvsem')) {
+ return false;
+ }
+ return sem_release($semId);
+ }
+
+ /**
+ * Get the number of concurrent threads supported by the host.
+ *
+ * @return int number of concurrent threads, or 0 if it cannot be determined
+ */
+ public static function getHardwareConcurrency(): int {
+ static $width;
+ if (!isset($width)) {
+ if (is_file("/proc/cpuinfo")) {
+ $width = substr_count(file_get_contents("/proc/cpuinfo"), "processor");
+ } else {
+ $width = 0;
+ }
+ }
+ return $width;
+ }
+
+ /**
+ * Get number of concurrent preview generations from system config
+ *
+ * Two config entries, `preview_concurrency_new` and `preview_concurrency_all`,
+ * are available. If not set, the default values are determined with the hardware concurrency
+ * of the host. In case the hardware concurrency cannot be determined, or the user sets an
+ * invalid value, fallback values are:
+ * For new images whose previews do not exist and need to be generated, 4;
+ * For all preview generation requests, 8.
+ * Value of `preview_concurrency_all` should be greater than or equal to that of
+ * `preview_concurrency_new`, otherwise, the latter is returned.
+ *
+ * @param string $type either `preview_concurrency_new` or `preview_concurrency_all`
+ * @return int number of concurrent preview generations, or -1 if $type is invalid
+ */
+ public function getNumConcurrentPreviews(string $type): int {
+ static $cached = array();
+ if (array_key_exists($type, $cached)) {
+ return $cached[$type];
+ }
+
+ $hardwareConcurrency = self::getHardwareConcurrency();
+ switch ($type) {
+ case "preview_concurrency_all":
+ $fallback = $hardwareConcurrency > 0 ? $hardwareConcurrency * 2 : 8;
+ $concurrency_all = $this->config->getSystemValueInt($type, $fallback);
+ $concurrency_new = $this->getNumConcurrentPreviews("preview_concurrency_new");
+ $cached[$type] = max($concurrency_all, $concurrency_new);
+ break;
+ case "preview_concurrency_new":
+ $fallback = $hardwareConcurrency > 0 ? $hardwareConcurrency : 4;
+ $cached[$type] = $this->config->getSystemValueInt($type, $fallback);
+ break;
+ default:
+ return -1;
+ }
+ return $cached[$type];
+ }
+
+ /**
* @param ISimpleFolder $previewFolder
* @param File $file
* @param string $mimeType
@@ -337,7 +434,13 @@ class Generator {
$maxWidth = $this->config->getSystemValueInt('preview_max_x', 4096);
$maxHeight = $this->config->getSystemValueInt('preview_max_y', 4096);
- $preview = $this->helper->getThumbnail($provider, $file, $maxWidth, $maxHeight);
+ $previewConcurrency = $this->getNumConcurrentPreviews('preview_concurrency_new');
+ $sem = self::guardWithSemaphore(self::SEMAPHORE_ID_NEW, $previewConcurrency);
+ try {
+ $preview = $this->helper->getThumbnail($provider, $file, $maxWidth, $maxHeight);
+ } finally {
+ self::unguardWithSemaphore($sem);
+ }
if (!($preview instanceof IImage)) {
continue;
@@ -507,29 +610,34 @@ class Generator {
throw new \InvalidArgumentException('Failed to generate preview, failed to load image');
}
- if ($crop) {
- if ($height !== $preview->height() && $width !== $preview->width()) {
- //Resize
- $widthR = $preview->width() / $width;
- $heightR = $preview->height() / $height;
-
- if ($widthR > $heightR) {
- $scaleH = $height;
- $scaleW = $maxWidth / $heightR;
- } else {
- $scaleH = $maxHeight / $widthR;
- $scaleW = $width;
+ $previewConcurrency = $this->getNumConcurrentPreviews('preview_concurrency_new');
+ $sem = self::guardWithSemaphore(self::SEMAPHORE_ID_NEW, $previewConcurrency);
+ try {
+ if ($crop) {
+ if ($height !== $preview->height() && $width !== $preview->width()) {
+ //Resize
+ $widthR = $preview->width() / $width;
+ $heightR = $preview->height() / $height;
+
+ if ($widthR > $heightR) {
+ $scaleH = $height;
+ $scaleW = $maxWidth / $heightR;
+ } else {
+ $scaleH = $maxHeight / $widthR;
+ $scaleW = $width;
+ }
+ $preview = $preview->preciseResizeCopy((int)round($scaleW), (int)round($scaleH));
}
- $preview = $preview->preciseResizeCopy((int)round($scaleW), (int)round($scaleH));
+ $cropX = (int)floor(abs($width - $preview->width()) * 0.5);
+ $cropY = (int)floor(abs($height - $preview->height()) * 0.5);
+ $preview = $preview->cropCopy($cropX, $cropY, $width, $height);
+ } else {
+ $preview = $maxPreview->resizeCopy(max($width, $height));
}
- $cropX = (int)floor(abs($width - $preview->width()) * 0.5);
- $cropY = (int)floor(abs($height - $preview->height()) * 0.5);
- $preview = $preview->cropCopy($cropX, $cropY, $width, $height);
- } else {
- $preview = $maxPreview->resizeCopy(max($width, $height));
+ } finally {
+ self::unguardWithSemaphore($sem);
}
-
$path = $this->generatePath($width, $height, $crop, $preview->dataMimeType(), $prefix);
try {
$file = $previewFolder->newFile($path);
diff --git a/lib/private/Preview/HEIC.php b/lib/private/Preview/HEIC.php
index ec200defce8..71df98f9ac6 100644
--- a/lib/private/Preview/HEIC.php
+++ b/lib/private/Preview/HEIC.php
@@ -115,6 +115,9 @@ class HEIC extends ProviderV2 {
// Layer 0 contains either the bitmap or a flat representation of all vector layers
$bp->readImage($tmpPath . '[0]');
+ // Fix orientation from EXIF
+ $bp->autoOrient();
+
$bp->setImageFormat('jpg');
$bp = $this->resize($bp, $maxX, $maxY);
diff --git a/lib/private/Preview/Imaginary.php b/lib/private/Preview/Imaginary.php
index 4da88f1ab26..e78b9b441f6 100644
--- a/lib/private/Preview/Imaginary.php
+++ b/lib/private/Preview/Imaginary.php
@@ -27,6 +27,7 @@ use OCP\Files\File;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
use OCP\IImage;
+use OCP\Image;
use OC\StreamImage;
use Psr\Log\LoggerInterface;
@@ -89,6 +90,8 @@ class Imaginary extends ProviderV2 {
$mimeType = 'jpeg';
}
+ $quality = $this->config->getAppValue('preview', 'jpeg_quality', '80');
+
$operations = [
[
'operation' => 'autorotate',
@@ -101,6 +104,7 @@ class Imaginary extends ProviderV2 {
'stripmeta' => 'true',
'type' => $mimeType,
'norotation' => 'true',
+ 'quality' => $quality,
]
]
];
@@ -126,12 +130,21 @@ class Imaginary extends ProviderV2 {
return null;
}
- if ($response->getHeader('X-Image-Width') && $response->getHeader('X-Image-Height')) {
- $maxX = (int)$response->getHeader('X-Image-Width');
- $maxY = (int)$response->getHeader('X-Image-Height');
+ // This is not optimal but previews are distorted if the wrong width and height values are
+ // used. Both dimension headers are only sent when passing the option "-return-size" to
+ // Imaginary.
+ if ($response->getHeader('Image-Width') && $response->getHeader('Image-Height')) {
+ $image = new StreamImage(
+ $response->getBody(),
+ $response->getHeader('Content-Type'),
+ (int)$response->getHeader('Image-Width'),
+ (int)$response->getHeader('Image-Height'),
+ );
+ } else {
+ $image = new Image();
+ $image->loadFromFileHandle($response->getBody());
}
- $image = new StreamImage($response->getBody(), $response->getHeader('Content-Type'), $maxX, $maxY);
return $image->valid() ? $image : null;
}
diff --git a/lib/private/PreviewManager.php b/lib/private/PreviewManager.php
index e78bdefda8d..87e709e9bcc 100644
--- a/lib/private/PreviewManager.php
+++ b/lib/private/PreviewManager.php
@@ -34,6 +34,7 @@ use OC\AppFramework\Bootstrap\Coordinator;
use OC\Preview\Generator;
use OC\Preview\GeneratorHelper;
use OCP\AppFramework\QueryException;
+use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\File;
use OCP\Files\IAppData;
use OCP\Files\IRootFolder;
@@ -51,7 +52,8 @@ class PreviewManager implements IPreview {
protected IConfig $config;
protected IRootFolder $rootFolder;
protected IAppData $appData;
- protected EventDispatcherInterface $eventDispatcher;
+ protected IEventDispatcher $eventDispatcher;
+ protected EventDispatcherInterface $legacyEventDispatcher;
private ?Generator $generator = null;
private GeneratorHelper $helper;
protected bool $providerListDirty = false;
@@ -73,20 +75,22 @@ class PreviewManager implements IPreview {
private IBinaryFinder $binaryFinder;
public function __construct(
- IConfig $config,
- IRootFolder $rootFolder,
- IAppData $appData,
- EventDispatcherInterface $eventDispatcher,
- GeneratorHelper $helper,
- ?string $userId,
- Coordinator $bootstrapCoordinator,
- IServerContainer $container,
- IBinaryFinder $binaryFinder
+ IConfig $config,
+ IRootFolder $rootFolder,
+ IAppData $appData,
+ IEventDispatcher $eventDispatcher,
+ EventDispatcherInterface $legacyEventDispatcher,
+ GeneratorHelper $helper,
+ ?string $userId,
+ Coordinator $bootstrapCoordinator,
+ IServerContainer $container,
+ IBinaryFinder $binaryFinder
) {
$this->config = $config;
$this->rootFolder = $rootFolder;
$this->appData = $appData;
$this->eventDispatcher = $eventDispatcher;
+ $this->legacyEventDispatcher = $legacyEventDispatcher;
$this->helper = $helper;
$this->userId = $userId;
$this->bootstrapCoordinator = $bootstrapCoordinator;
@@ -153,6 +157,7 @@ class PreviewManager implements IPreview {
$this->rootFolder,
$this->config
),
+ $this->legacyEventDispatcher,
$this->eventDispatcher
);
}
@@ -177,7 +182,15 @@ class PreviewManager implements IPreview {
* @since 11.0.0 - \InvalidArgumentException was added in 12.0.0
*/
public function getPreview(File $file, $width = -1, $height = -1, $crop = false, $mode = IPreview::MODE_FILL, $mimeType = null) {
- return $this->getGenerator()->getPreview($file, $width, $height, $crop, $mode, $mimeType);
+ $previewConcurrency = $this->getGenerator()->getNumConcurrentPreviews('preview_concurrency_all');
+ $sem = Generator::guardWithSemaphore(Generator::SEMAPHORE_ID_ALL, $previewConcurrency);
+ try {
+ $preview = $this->getGenerator()->getPreview($file, $width, $height, $crop, $mode, $mimeType);
+ } finally {
+ Generator::unguardWithSemaphore($sem);
+ }
+
+ return $preview;
}
/**
@@ -385,10 +398,10 @@ class PreviewManager implements IPreview {
if (count($checkImagick->queryFormats('PDF')) === 1) {
// Office requires openoffice or libreoffice
$officeBinary = $this->config->getSystemValue('preview_libreoffice_path', null);
- if (is_null($officeBinary)) {
+ if (!is_string($officeBinary)) {
$officeBinary = $this->binaryFinder->findBinaryPath('libreoffice');
}
- if (is_null($officeBinary)) {
+ if (!is_string($officeBinary)) {
$officeBinary = $this->binaryFinder->findBinaryPath('openoffice');
}
@@ -405,7 +418,7 @@ class PreviewManager implements IPreview {
// Video requires avconv or ffmpeg
if (in_array(Preview\Movie::class, $this->getEnabledDefaultProvider())) {
$movieBinary = $this->binaryFinder->findBinaryPath('avconv');
- if (is_null($movieBinary)) {
+ if (!is_string($movieBinary)) {
$movieBinary = $this->binaryFinder->findBinaryPath('ffmpeg');
}
diff --git a/lib/private/Profile/Actions/FediverseAction.php b/lib/private/Profile/Actions/FediverseAction.php
new file mode 100644
index 00000000000..ed3fcd80b52
--- /dev/null
+++ b/lib/private/Profile/Actions/FediverseAction.php
@@ -0,0 +1,90 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2021 Christopher Ng <chrng8@gmail.com>
+ *
+ * @author Christopher Ng <chrng8@gmail.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/>.
+ *
+ */
+
+namespace OC\Profile\Actions;
+
+use function Safe\substr;
+use OCP\Accounts\IAccountManager;
+use OCP\IURLGenerator;
+use OCP\IUser;
+use OCP\L10N\IFactory;
+use OCP\Profile\ILinkAction;
+
+class FediverseAction implements ILinkAction {
+ private ?string $value = null;
+ private IAccountManager $accountManager;
+ private IFactory $l10nFactory;
+ private IURLGenerator $urlGenerator;
+
+ public function __construct(
+ IAccountManager $accountManager,
+ IFactory $l10nFactory,
+ IURLGenerator $urlGenerator
+ ) {
+ $this->accountManager = $accountManager;
+ $this->l10nFactory = $l10nFactory;
+ $this->urlGenerator = $urlGenerator;
+ }
+
+ public function preload(IUser $targetUser): void {
+ $account = $this->accountManager->getAccount($targetUser);
+ $this->value = $account->getProperty(IAccountManager::PROPERTY_FEDIVERSE)->getValue();
+ }
+
+ public function getAppId(): string {
+ return 'core';
+ }
+
+ public function getId(): string {
+ return IAccountManager::PROPERTY_FEDIVERSE;
+ }
+
+ public function getDisplayId(): string {
+ return $this->l10nFactory->get('lib')->t('Fediverse');
+ }
+
+ public function getTitle(): string {
+ $displayUsername = $this->value[0] === '@' ? $this->value : '@' . $this->value;
+ return $this->l10nFactory->get('lib')->t('View %s on the fediverse', [$displayUsername]);
+ }
+
+ public function getPriority(): int {
+ return 50;
+ }
+
+ public function getIcon(): string {
+ return $this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/mastodon.svg'));
+ }
+
+ public function getTarget(): ?string {
+ if (empty($this->value)) {
+ return null;
+ }
+ $username = $this->value[0] === '@' ? substr($this->value, 1) : $this->value;
+ [$username, $instance] = explode('@', $username);
+ return 'https://' . $instance . '/@' . $username;
+ }
+}
diff --git a/lib/private/Profile/ProfileManager.php b/lib/private/Profile/ProfileManager.php
index f038986cf6d..ab1af1c1c16 100644
--- a/lib/private/Profile/ProfileManager.php
+++ b/lib/private/Profile/ProfileManager.php
@@ -35,6 +35,7 @@ use OC\KnownUser\KnownUserService;
use OC\Profile\Actions\EmailAction;
use OC\Profile\Actions\PhoneAction;
use OC\Profile\Actions\TwitterAction;
+use OC\Profile\Actions\FediverseAction;
use OC\Profile\Actions\WebsiteAction;
use OCP\Accounts\IAccountManager;
use OCP\Accounts\PropertyDoesNotExistException;
@@ -95,6 +96,7 @@ class ProfileManager {
PhoneAction::class,
WebsiteAction::class,
TwitterAction::class,
+ FediverseAction::class,
];
/**
diff --git a/lib/private/Profiler/FileProfilerStorage.php b/lib/private/Profiler/FileProfilerStorage.php
index ce09ed51ed9..d583549332e 100644
--- a/lib/private/Profiler/FileProfilerStorage.php
+++ b/lib/private/Profiler/FileProfilerStorage.php
@@ -99,6 +99,7 @@ class FileProfilerStorage {
$iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::CHILD_FIRST);
foreach ($iterator as $file) {
+ $file = $file->getPathInfo();
if (is_file($file)) {
unlink($file);
} else {
diff --git a/lib/private/Profiler/Profiler.php b/lib/private/Profiler/Profiler.php
index 8aa800fbc6d..9fd5e76d592 100644
--- a/lib/private/Profiler/Profiler.php
+++ b/lib/private/Profiler/Profiler.php
@@ -102,4 +102,8 @@ class Profiler implements IProfiler {
public function setEnabled(bool $enabled): void {
$this->enabled = $enabled;
}
+
+ public function clear(): void {
+ $this->storage->purge();
+ }
}
diff --git a/lib/private/Repair.php b/lib/private/Repair.php
index e2e5da79216..9ca3ece6dd4 100644
--- a/lib/private/Repair.php
+++ b/lib/private/Repair.php
@@ -34,14 +34,13 @@
*/
namespace OC;
+use OC\Repair\CleanUpAbandonedApps;
use OCP\AppFramework\QueryException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Collaboration\Resources\IManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Migration\IOutput;
use OCP\Migration\IRepairStep;
-use OC\App\AppStore\Bundles\BundleFetcher;
-use OC\Avatar\AvatarManager;
use OC\DB\Connection;
use OC\DB\ConnectionAdapter;
use OC\Repair\AddBruteForceCleanupJob;
@@ -72,10 +71,10 @@ use OC\Repair\NC21\AddCheckForUserCertificatesJob;
use OC\Repair\NC21\ValidatePhoneNumber;
use OC\Repair\NC22\LookupServerSendCheck;
use OC\Repair\NC24\AddTokenCleanupJob;
+use OC\Repair\NC25\AddMissingSecretJob;
use OC\Repair\OldGroupMembershipShares;
use OC\Repair\Owncloud\CleanPreviews;
use OC\Repair\Owncloud\DropAccountTermsTable;
-use OC\Repair\Owncloud\InstallCoreBundle;
use OC\Repair\Owncloud\MigrateOauthTables;
use OC\Repair\Owncloud\MoveAvatars;
use OC\Repair\Owncloud\SaveAccountsTableData;
@@ -92,12 +91,11 @@ use Throwable;
class Repair implements IOutput {
/** @var IRepairStep[] */
- private $repairSteps;
+ private array $repairSteps;
private IEventDispatcher $dispatcher;
- /** @var string */
- private $currentStep;
+ private string $currentStep;
private LoggerInterface $logger;
@@ -174,7 +172,7 @@ class Repair implements IOutput {
*
* @return IRepairStep[]
*/
- public static function getRepairSteps() {
+ public static function getRepairSteps(): array {
return [
new Collation(\OC::$server->getConfig(), \OC::$server->get(LoggerInterface::class), \OC::$server->getDatabaseConnection(), false),
new RepairMimeTypes(\OC::$server->getConfig(), \OC::$server->getDatabaseConnection()),
@@ -193,29 +191,26 @@ class Repair implements IOutput {
new MigrateOauthTables(\OC::$server->get(Connection::class)),
new FixMountStorages(\OC::$server->getDatabaseConnection()),
new UpdateLanguageCodes(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig()),
- new InstallCoreBundle(
- \OC::$server->query(BundleFetcher::class),
- \OC::$server->getConfig(),
- \OC::$server->query(Installer::class)
- ),
new AddLogRotateJob(\OC::$server->getJobList()),
new ClearFrontendCaches(\OC::$server->getMemCacheFactory(), \OC::$server->query(JSCombiner::class)),
- new ClearGeneratedAvatarCache(\OC::$server->getConfig(), \OC::$server->query(AvatarManager::class)),
+ \OCP\Server::get(ClearGeneratedAvatarCache::class),
new AddPreviewBackgroundCleanupJob(\OC::$server->getJobList()),
new AddCleanupUpdaterBackupsJob(\OC::$server->getJobList()),
new CleanupCardDAVPhotoCache(\OC::$server->getConfig(), \OC::$server->getAppDataDir('dav-photocache'), \OC::$server->get(LoggerInterface::class)),
new AddClenupLoginFlowV2BackgroundJob(\OC::$server->getJobList()),
new RemoveLinkShares(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig(), \OC::$server->getGroupManager(), \OC::$server->getNotificationManager(), \OC::$server->query(ITimeFactory::class)),
new ClearCollectionsAccessCache(\OC::$server->getConfig(), \OC::$server->query(IManager::class)),
- \OC::$server->query(ResetGeneratedAvatarFlag::class),
- \OC::$server->query(EncryptionLegacyCipher::class),
- \OC::$server->query(EncryptionMigration::class),
- \OC::$server->get(ShippedDashboardEnable::class),
- \OC::$server->get(AddBruteForceCleanupJob::class),
- \OC::$server->get(AddCheckForUserCertificatesJob::class),
- \OC::$server->get(RepairDavShares::class),
- \OC::$server->get(LookupServerSendCheck::class),
- \OC::$server->get(AddTokenCleanupJob::class),
+ \OCP\Server::get(ResetGeneratedAvatarFlag::class),
+ \OCP\Server::get(EncryptionLegacyCipher::class),
+ \OCP\Server::get(EncryptionMigration::class),
+ \OCP\Server::get(ShippedDashboardEnable::class),
+ \OCP\Server::get(AddBruteForceCleanupJob::class),
+ \OCP\Server::get(AddCheckForUserCertificatesJob::class),
+ \OCP\Server::get(RepairDavShares::class),
+ \OCP\Server::get(LookupServerSendCheck::class),
+ \OCP\Server::get(AddTokenCleanupJob::class),
+ \OCP\Server::get(CleanUpAbandonedApps::class),
+ \OCP\Server::get(AddMissingSecretJob::class),
];
}
diff --git a/lib/private/Repair/CleanUpAbandonedApps.php b/lib/private/Repair/CleanUpAbandonedApps.php
new file mode 100644
index 00000000000..ed8fa8d7d28
--- /dev/null
+++ b/lib/private/Repair/CleanUpAbandonedApps.php
@@ -0,0 +1,53 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright Copyright (c) 2022 Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @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 <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\Repair;
+
+use OCP\IConfig;
+use OCP\Migration\IOutput;
+use OCP\Migration\IRepairStep;
+
+class CleanUpAbandonedApps implements IRepairStep {
+ protected const ABANDONED_APPS = ['accessibility', 'files_videoplayer'];
+ private IConfig $config;
+
+ public function __construct(IConfig $config) {
+ $this->config = $config;
+ }
+
+ public function getName(): string {
+ return 'Clean up abandoned apps';
+ }
+
+ public function run(IOutput $output): void {
+ foreach (self::ABANDONED_APPS as $app) {
+ // only remove global app values
+ // user prefs of accessibility are dealt with in Theming migration
+ // videoplayer did not have user prefs
+ $this->config->deleteAppValues($app);
+ }
+ }
+}
diff --git a/lib/private/Repair/ClearGeneratedAvatarCache.php b/lib/private/Repair/ClearGeneratedAvatarCache.php
index 1c1be4f7893..db86d92cd87 100644
--- a/lib/private/Repair/ClearGeneratedAvatarCache.php
+++ b/lib/private/Repair/ClearGeneratedAvatarCache.php
@@ -26,16 +26,19 @@ namespace OC\Repair;
use OC\Avatar\AvatarManager;
use OCP\IConfig;
+use OCP\BackgroundJob\IJobList;
use OCP\Migration\IOutput;
use OCP\Migration\IRepairStep;
class ClearGeneratedAvatarCache implements IRepairStep {
protected AvatarManager $avatarManager;
private IConfig $config;
+ private IJobList $jobList;
- public function __construct(IConfig $config, AvatarManager $avatarManager) {
+ public function __construct(IConfig $config, AvatarManager $avatarManager, IJobList $jobList) {
$this->config = $config;
$this->avatarManager = $avatarManager;
+ $this->jobList = $jobList;
}
public function getName(): string {
@@ -55,8 +58,8 @@ class ClearGeneratedAvatarCache implements IRepairStep {
public function run(IOutput $output): void {
if ($this->shouldRun()) {
try {
- $this->avatarManager->clearCachedAvatars();
- $output->info('Avatar cache cleared');
+ $this->jobList->add(ClearGeneratedAvatarCacheJob::class, []);
+ $output->info('Avatar cache clearing job added');
} catch (\Exception $e) {
$output->warning('Unable to clear the avatar cache');
}
diff --git a/lib/private/Repair/ClearGeneratedAvatarCacheJob.php b/lib/private/Repair/ClearGeneratedAvatarCacheJob.php
new file mode 100644
index 00000000000..e8513e7a933
--- /dev/null
+++ b/lib/private/Repair/ClearGeneratedAvatarCacheJob.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * @copyright 2022 Carl Schwan <carl@carlschwan.eu>
+ *
+ * @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/>.
+ *
+ */
+namespace OC\Repair;
+
+use OCP\BackgroundJob\QueuedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OC\Avatar\AvatarManager;
+
+class ClearGeneratedAvatarCacheJob extends QueuedJob {
+ protected AvatarManager $avatarManager;
+
+ public function __construct(ITimeFactory $timeFactory, AvatarManager $avatarManager) {
+ parent::__construct($timeFactory);
+ $this->avatarManager = $avatarManager;
+ }
+
+ public function run($argument) {
+ $this->avatarManager->clearCachedAvatars();
+ }
+}
diff --git a/lib/private/Repair/MoveUpdaterStepFile.php b/lib/private/Repair/MoveUpdaterStepFile.php
index 020510804d7..9731babe4ce 100644
--- a/lib/private/Repair/MoveUpdaterStepFile.php
+++ b/lib/private/Repair/MoveUpdaterStepFile.php
@@ -43,7 +43,7 @@ class MoveUpdaterStepFile implements IRepairStep {
}
public function run(IOutput $output) {
- $updateDir = $this->config->getSystemValue('updatedirectory') ?? $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data');
+ $updateDir = $this->config->getSystemValue('updatedirectory', null) ?? $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data');
$instanceId = $this->config->getSystemValue('instanceid', null);
if (!is_string($instanceId) || empty($instanceId)) {
diff --git a/lib/private/Repair/NC25/AddMissingSecretJob.php b/lib/private/Repair/NC25/AddMissingSecretJob.php
new file mode 100644
index 00000000000..1194fe3f6ab
--- /dev/null
+++ b/lib/private/Repair/NC25/AddMissingSecretJob.php
@@ -0,0 +1,63 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2022 Carl Schwan <carl@carlschwan.eu>
+ * @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/>.
+ *
+ */
+namespace OC\Repair\NC25;
+
+use OCP\HintException;
+use OCP\IConfig;
+use OCP\Migration\IOutput;
+use OCP\Migration\IRepairStep;
+use OCP\Security\ISecureRandom;
+
+class AddMissingSecretJob implements IRepairStep {
+ private IConfig $config;
+ private ISecureRandom $random;
+
+ public function __construct(IConfig $config, ISecureRandom $random) {
+ $this->config = $config;
+ $this->random = $random;
+ }
+
+ public function getName(): string {
+ return 'Add possibly missing system config';
+ }
+
+ public function run(IOutput $output): void {
+ $passwordSalt = $this->config->getSystemValue('passwordsalt', null);
+ if ($passwordSalt === null || $passwordSalt === '') {
+ try {
+ $this->config->setSystemValue('passwordsalt', $this->random->generate(30));
+ } catch (HintException $e) {
+ $output->warning("passwordsalt is missing from your config.php and your config.php is read only. Please fix it manually.");
+ }
+ }
+
+ $secret = $this->config->getSystemValue('secret', null);
+ if ($secret === null || $secret === '') {
+ try {
+ $this->config->setSystemValue('secret', $this->random->generate(48));
+ } catch (HintException $e) {
+ $output->warning("secret is missing from your config.php and your config.php is read only. Please fix it manually.");
+ }
+ }
+ }
+}
diff --git a/lib/private/Repair/Owncloud/InstallCoreBundle.php b/lib/private/Repair/Owncloud/InstallCoreBundle.php
deleted file mode 100644
index a733bc43923..00000000000
--- a/lib/private/Repair/Owncloud/InstallCoreBundle.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
- *
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @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/>.
- *
- */
-namespace OC\Repair\Owncloud;
-
-use OC\App\AppStore\Bundles\BundleFetcher;
-use OC\Installer;
-use OCP\IConfig;
-use OCP\Migration\IOutput;
-use OCP\Migration\IRepairStep;
-
-class InstallCoreBundle implements IRepairStep {
- /** @var BundleFetcher */
- private $bundleFetcher;
- /** @var IConfig */
- private $config;
- /** @var Installer */
- private $installer;
-
- /**
- * @param BundleFetcher $bundleFetcher
- * @param IConfig $config
- * @param Installer $installer
- */
- public function __construct(BundleFetcher $bundleFetcher,
- IConfig $config,
- Installer $installer) {
- $this->bundleFetcher = $bundleFetcher;
- $this->config = $config;
- $this->installer = $installer;
- }
-
- /**
- * {@inheritdoc}
- */
- public function getName() {
- return 'Install new core bundle components';
- }
-
- /**
- * {@inheritdoc}
- */
- public function run(IOutput $output) {
- $versionFromBeforeUpdate = $this->config->getSystemValue('version', '0.0.0');
-
- if (version_compare($versionFromBeforeUpdate, '12.0.0.14', '>')) {
- return;
- }
-
- $defaultBundle = $this->bundleFetcher->getDefaultInstallationBundle();
- foreach ($defaultBundle as $bundle) {
- try {
- $this->installer->installAppBundle($bundle);
- $output->info('Successfully installed core app bundle.');
- } catch (\Exception $e) {
- $output->warning('Could not install core app bundle: ' . $e->getMessage());
- }
- }
- }
-}
diff --git a/lib/private/Repair/RepairMimeTypes.php b/lib/private/Repair/RepairMimeTypes.php
index 5b216331dc7..5f3531ea79c 100644
--- a/lib/private/Repair/RepairMimeTypes.php
+++ b/lib/private/Repair/RepairMimeTypes.php
@@ -106,6 +106,15 @@ class RepairMimeTypes implements IRepairStep {
return $count;
}
+ private function introduceAsciidocType() {
+ $updatedMimetypes = [
+ 'adoc' => 'text/asciidoc',
+ 'asciidoc' => 'text/asciidoc',
+ ];
+
+ return $this->updateMimetypes($updatedMimetypes);
+ }
+
private function introduceImageTypes() {
$updatedMimetypes = [
'jp2' => 'image/jp2',
@@ -273,5 +282,9 @@ class RepairMimeTypes implements IRepairStep {
if (version_compare($ocVersionFromBeforeUpdate, '25.0.0.2', '<') && $this->introduceOnlyofficeFormType()) {
$out->info('Fixed ONLYOFFICE Forms OpenXML mime types');
}
+
+ if (version_compare($ocVersionFromBeforeUpdate, '26.0.0.1', '<') && $this->introduceAsciidocType()) {
+ $out->info('Fixed AsciiDoc mime types');
+ }
}
}
diff --git a/lib/private/Security/Crypto.php b/lib/private/Security/Crypto.php
index e9ef4417925..aeeafcc271c 100644
--- a/lib/private/Security/Crypto.php
+++ b/lib/private/Security/Crypto.php
@@ -122,9 +122,22 @@ class Crypto implements ICrypto {
* @throws Exception If the decryption failed
*/
public function decrypt(string $authenticatedCiphertext, string $password = ''): string {
- if ($password === '') {
- $password = $this->config->getSystemValue('secret');
+ $secret = $this->config->getSystemValue('secret');
+ try {
+ if ($password === '') {
+ return $this->decryptWithoutSecret($authenticatedCiphertext, $secret);
+ }
+ return $this->decryptWithoutSecret($authenticatedCiphertext, $password);
+ } catch (Exception $e) {
+ if ($password === '') {
+ // Retry with empty secret as a fallback for instances where the secret might not have been set by accident
+ return $this->decryptWithoutSecret($authenticatedCiphertext, '');
+ }
+ throw $e;
}
+ }
+
+ private function decryptWithoutSecret(string $authenticatedCiphertext, string $password = ''): string {
$hmacKey = $encryptionKey = $password;
$parts = explode('|', $authenticatedCiphertext);
diff --git a/lib/private/Security/Hasher.php b/lib/private/Security/Hasher.php
index 5b3fc2b47a9..4731ba96bd3 100644
--- a/lib/private/Security/Hasher.php
+++ b/lib/private/Security/Hasher.php
@@ -137,6 +137,15 @@ class Hasher implements IHasher {
return true;
}
+ // Verify whether it matches a legacy PHPass or SHA1 string
+ // Retry with empty passwordsalt for cases where it was not set
+ $hashLength = \strlen($hash);
+ if (($hashLength === 60 && password_verify($message, $hash)) ||
+ ($hashLength === 40 && hash_equals($hash, sha1($message)))) {
+ $newHash = $this->hash($message);
+ return true;
+ }
+
return false;
}
diff --git a/lib/private/Security/RateLimiting/Limiter.php b/lib/private/Security/RateLimiting/Limiter.php
index 91657452d99..7848a5b75a7 100644
--- a/lib/private/Security/RateLimiting/Limiter.php
+++ b/lib/private/Security/RateLimiting/Limiter.php
@@ -45,7 +45,7 @@ class Limiter {
/**
* @param string $methodIdentifier
* @param string $userIdentifier
- * @param int $period
+ * @param int $period in seconds
* @param int $limit
* @throws RateLimitExceededException
*/
@@ -66,7 +66,7 @@ class Limiter {
*
* @param string $identifier
* @param int $anonLimit
- * @param int $anonPeriod
+ * @param int $anonPeriod in seconds
* @param string $ip
* @throws RateLimitExceededException
*/
@@ -85,7 +85,7 @@ class Limiter {
*
* @param string $identifier
* @param int $userLimit
- * @param int $userPeriod
+ * @param int $userPeriod in seconds
* @param IUser $user
* @throws RateLimitExceededException
*/
diff --git a/lib/private/Security/RemoteHostValidator.php b/lib/private/Security/RemoteHostValidator.php
new file mode 100644
index 00000000000..e48bd862472
--- /dev/null
+++ b/lib/private/Security/RemoteHostValidator.php
@@ -0,0 +1,76 @@
+<?php
+
+declare(strict_types=1);
+
+/*
+ * @copyright 2022 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @author 2022 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @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/>.
+ */
+
+namespace OC\Security;
+
+use OC\Net\HostnameClassifier;
+use OC\Net\IpAddressClassifier;
+use OCP\IConfig;
+use OCP\Security\IRemoteHostValidator;
+use Psr\Log\LoggerInterface;
+use function strpos;
+use function strtolower;
+use function substr;
+use function urldecode;
+
+/**
+ * @internal
+ */
+final class RemoteHostValidator implements IRemoteHostValidator {
+ private IConfig $config;
+ private HostnameClassifier $hostnameClassifier;
+ private IpAddressClassifier $ipAddressClassifier;
+ private LoggerInterface $logger;
+
+ public function __construct(IConfig $config,
+ HostnameClassifier $hostnameClassifier,
+ IpAddressClassifier $ipAddressClassifier,
+ LoggerInterface $logger) {
+ $this->config = $config;
+ $this->hostnameClassifier = $hostnameClassifier;
+ $this->ipAddressClassifier = $ipAddressClassifier;
+ $this->logger = $logger;
+ }
+
+ public function isValid(string $host): bool {
+ if ($this->config->getSystemValueBool('allow_local_remote_servers', false)) {
+ return true;
+ }
+
+ $host = idn_to_utf8(strtolower(urldecode($host)));
+ // Remove brackets from IPv6 addresses
+ if (strpos($host, '[') === 0 && substr($host, -1) === ']') {
+ $host = substr($host, 1, -1);
+ }
+
+ if ($this->hostnameClassifier->isLocalHostname($host)
+ || $this->ipAddressClassifier->isLocalAddress($host)) {
+ $this->logger->warning("Host $host was not connected to because it violates local access rules");
+ return false;
+ }
+
+ return true;
+ }
+}
diff --git a/lib/private/Security/VerificationToken/VerificationToken.php b/lib/private/Security/VerificationToken/VerificationToken.php
index c85e0e7b5a1..2d3f902b622 100644
--- a/lib/private/Security/VerificationToken/VerificationToken.php
+++ b/lib/private/Security/VerificationToken/VerificationToken.php
@@ -84,10 +84,15 @@ class VerificationToken implements IVerificationToken {
try {
$decryptedToken = $this->crypto->decrypt($encryptedToken, $passwordPrefix.$this->config->getSystemValue('secret'));
} catch (\Exception $e) {
- $this->throwInvalidTokenException(InvalidTokenException::TOKEN_DECRYPTION_ERROR);
+ // Retry with empty secret as a fallback for instances where the secret might not have been set by accident
+ try {
+ $decryptedToken = $this->crypto->decrypt($encryptedToken, $passwordPrefix);
+ } catch (\Exception $e2) {
+ $this->throwInvalidTokenException(InvalidTokenException::TOKEN_DECRYPTION_ERROR);
+ }
}
- $splitToken = explode(':', $decryptedToken ?? '');
+ $splitToken = explode(':', $decryptedToken);
if (count($splitToken) !== 2) {
$this->throwInvalidTokenException(InvalidTokenException::TOKEN_INVALID_FORMAT);
}
diff --git a/lib/private/Server.php b/lib/private/Server.php
index c1a50cfcaff..d420b6fd11d 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -105,8 +105,6 @@ use OC\Files\Type\Loader;
use OC\Files\View;
use OC\FullTextSearch\FullTextSearchManager;
use OC\Http\Client\ClientService;
-use OC\Http\Client\DnsPinMiddleware;
-use OC\Http\Client\LocalAddressChecker;
use OC\Http\Client\NegativeDnsCache;
use OC\IntegrityCheck\Checker;
use OC\IntegrityCheck\Helpers\AppLocator;
@@ -153,8 +151,9 @@ use OC\Tagging\TagMapper;
use OC\Talk\Broker;
use OC\Template\JSCombiner;
use OC\User\DisplayNameCache;
+use OC\User\Listeners\BeforeUserDeletedListener;
use OC\User\Listeners\UserChangedListener;
-use OC\User\Listeners\UserDeletedListener;
+use OC\User\Session;
use OCA\Theming\ImageManager;
use OCA\Theming\ThemingDefaults;
use OCA\Theming\Util;
@@ -248,13 +247,13 @@ use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\ISystemTagObjectMapper;
use OCP\Talk\IBroker;
use OCP\User\Events\BeforePasswordUpdatedEvent;
+use OCP\User\Events\BeforeUserDeletedEvent;
use OCP\User\Events\BeforeUserLoggedInEvent;
use OCP\User\Events\BeforeUserLoggedInWithCookieEvent;
use OCP\User\Events\BeforeUserLoggedOutEvent;
use OCP\User\Events\PasswordUpdatedEvent;
use OCP\User\Events\PostLoginEvent;
use OCP\User\Events\UserChangedEvent;
-use OCP\User\Events\UserDeletedEvent;
use OCP\User\Events\UserLoggedInEvent;
use OCP\User\Events\UserLoggedInWithCookieEvent;
use OCP\User\Events\UserLoggedOutEvent;
@@ -334,6 +333,7 @@ class Server extends ServerContainer implements IServerContainer {
$c->get(IRootFolder::class),
$c->get(SystemConfig::class)
),
+ $c->get(IEventDispatcher::class),
$c->get(SymfonyAdapter::class),
$c->get(GeneratorHelper::class),
$c->get(ISession::class)->get('user_id'),
@@ -487,7 +487,8 @@ class Server extends ServerContainer implements IServerContainer {
$groupManager = new \OC\Group\Manager(
$this->get(IUserManager::class),
$c->get(SymfonyAdapter::class),
- $this->get(LoggerInterface::class)
+ $this->get(LoggerInterface::class),
+ $this->get(ICacheFactory::class)
);
$groupManager->listen('\OC\Group', 'preCreate', function ($gid) {
/** @var IEventDispatcher $dispatcher */
@@ -687,6 +688,7 @@ class Server extends ServerContainer implements IServerContainer {
$c->get(\OCP\IConfig::class),
$c->getRequest(),
$c->get(IUserSession::class),
+ $c->get(ICacheFactory::class),
\OC::$SERVERROOT
);
});
@@ -794,6 +796,7 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerAlias(\OCP\Support\CrashReport\IRegistry::class, \OC\Support\CrashReport\Registry::class);
$this->registerAlias(\OCP\Support\Subscription\IRegistry::class, \OC\Support\Subscription\Registry::class);
+ $this->registerAlias(\OCP\Support\Subscription\IAssertion::class, \OC\Support\Subscription\Assertion::class);
$this->registerService(\OC\Log::class, function (Server $c) {
$logType = $c->get(AllConfig::class)->getSystemValue('log_type', 'file');
@@ -855,7 +858,7 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerAlias(\OCP\Security\ISecureRandom::class, SecureRandom::class);
/** @deprecated 19.0.0 */
$this->registerDeprecatedAlias('SecureRandom', \OCP\Security\ISecureRandom::class);
-
+ $this->registerAlias(\OCP\Security\IRemoteHostValidator::class, \OC\Security\RemoteHostValidator::class);
$this->registerAlias(IVerificationToken::class, VerificationToken::class);
$this->registerAlias(ICrypto::class, Crypto::class);
@@ -887,22 +890,11 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerAlias(ICertificateManager::class, CertificateManager::class);
$this->registerAlias(IClientService::class, ClientService::class);
- $this->registerService(LocalAddressChecker::class, function (ContainerInterface $c) {
- return new LocalAddressChecker(
- $c->get(LoggerInterface::class),
- );
- });
$this->registerService(NegativeDnsCache::class, function (ContainerInterface $c) {
return new NegativeDnsCache(
$c->get(ICacheFactory::class),
);
});
- $this->registerService(DnsPinMiddleware::class, function (ContainerInterface $c) {
- return new DnsPinMiddleware(
- $c->get(NegativeDnsCache::class),
- $c->get(LocalAddressChecker::class)
- );
- });
$this->registerDeprecatedAlias('HttpClientService', IClientService::class);
$this->registerService(IEventLogger::class, function (ContainerInterface $c) {
return new EventLogger($c->get(SystemConfig::class), $c->get(LoggerInterface::class), $c->get(Log::class));
@@ -1219,20 +1211,22 @@ class Server extends ServerContainer implements IServerContainer {
}
if ($classExists && $c->get(\OCP\IConfig::class)->getSystemValue('installed', false) && $c->get(IAppManager::class)->isInstalled('theming') && $c->getTrustedDomainHelper()->isTrustedDomain($c->getRequest()->getInsecureServerHost())) {
+ $imageManager = new ImageManager(
+ $c->get(\OCP\IConfig::class),
+ $c->getAppDataDir('theming'),
+ $c->get(IURLGenerator::class),
+ $this->get(ICacheFactory::class),
+ $this->get(ILogger::class),
+ $this->get(ITempManager::class)
+ );
return new ThemingDefaults(
$c->get(\OCP\IConfig::class),
$c->getL10N('theming'),
+ $c->get(IUserSession::class),
$c->get(IURLGenerator::class),
$c->get(ICacheFactory::class),
- new Util($c->get(\OCP\IConfig::class), $this->get(IAppManager::class), $c->getAppDataDir('theming')),
- new ImageManager(
- $c->get(\OCP\IConfig::class),
- $c->getAppDataDir('theming'),
- $c->get(IURLGenerator::class),
- $this->get(ICacheFactory::class),
- $this->get(ILogger::class),
- $this->get(ITempManager::class)
- ),
+ new Util($c->get(\OCP\IConfig::class), $this->get(IAppManager::class), $c->getAppDataDir('theming'), $imageManager),
+ $imageManager,
$c->get(IAppManager::class),
$c->get(INavigationManager::class)
);
@@ -1499,7 +1493,7 @@ class Server extends ServerContainer implements IServerContainer {
$eventDispatcher->addServiceListener(LoginFailed::class, LoginFailedListener::class);
$eventDispatcher->addServiceListener(PostLoginEvent::class, UserLoggedInListener::class);
$eventDispatcher->addServiceListener(UserChangedEvent::class, UserChangedListener::class);
- $eventDispatcher->addServiceListener(UserDeletedEvent::class, UserDeletedListener::class);
+ $eventDispatcher->addServiceListener(BeforeUserDeletedEvent::class, BeforeUserDeletedListener::class);
}
/**
@@ -1671,7 +1665,7 @@ class Server extends ServerContainer implements IServerContainer {
* @deprecated 20.0.0
*/
public function getSession() {
- return $this->get(IUserSession::class)->getSession();
+ return $this->get(Session::class)->getSession();
}
/**
@@ -1679,7 +1673,7 @@ class Server extends ServerContainer implements IServerContainer {
*/
public function setSession(\OCP\ISession $session) {
$this->get(SessionStorage::class)->setSession($session);
- $this->get(IUserSession::class)->setSession($session);
+ $this->get(Session::class)->setSession($session);
$this->get(Store::class)->setSession($session);
}
diff --git a/lib/private/ServerContainer.php b/lib/private/ServerContainer.php
index d6bec7526b7..e53737990e8 100644
--- a/lib/private/ServerContainer.php
+++ b/lib/private/ServerContainer.php
@@ -127,15 +127,25 @@ class ServerContainer extends SimpleContainer {
}
/**
+ * @template T
+ * @param class-string<T>|string $name
+ * @return T|mixed
+ * @psalm-template S as class-string<T>|string
+ * @psalm-param S $name
+ * @psalm-return (S is class-string<T> ? T : mixed)
+ * @throws QueryException
* @deprecated 20.0.0 use \Psr\Container\ContainerInterface::get
*/
public function query(string $name, bool $autoload = true) {
$name = $this->sanitizeName($name);
- try {
- return parent::query($name, false);
- } catch (QueryException $e) {
- // Continue with general autoloading then
+ if (str_starts_with($name, 'OCA\\')) {
+ // Skip server container query for app namespace classes
+ try {
+ return parent::query($name, false);
+ } catch (QueryException $e) {
+ // Continue with general autoloading then
+ }
}
// In case the service starts with OCA\ we try to find the service in
diff --git a/lib/private/Session/CryptoSessionData.php b/lib/private/Session/CryptoSessionData.php
index b01887e39e2..df810d5b30c 100644
--- a/lib/private/Session/CryptoSessionData.php
+++ b/lib/private/Session/CryptoSessionData.php
@@ -143,7 +143,6 @@ class CryptoSessionData implements \ArrayAccess, ISession {
$reopened = $this->reopen();
$this->isModified = true;
unset($this->sessionValues[$key]);
- $this->session->remove(self::encryptedSessionName);
if ($reopened) {
$this->close();
}
@@ -163,7 +162,11 @@ class CryptoSessionData implements \ArrayAccess, ISession {
}
public function reopen(): bool {
- return $this->session->reopen();
+ $reopened = $this->session->reopen();
+ if ($reopened) {
+ $this->initializeSession();
+ }
+ return $reopened;
}
/**
diff --git a/lib/private/Setup.php b/lib/private/Setup.php
index edbb9b33275..7b08fb2f66f 100644
--- a/lib/private/Setup.php
+++ b/lib/private/Setup.php
@@ -51,7 +51,6 @@ namespace OC;
use bantu\IniGetWrapper\IniGetWrapper;
use Exception;
use InvalidArgumentException;
-use OC\App\AppStore\Bundles\BundleFetcher;
use OC\Authentication\Token\PublicKeyTokenProvider;
use OC\Authentication\Token\TokenCleanupJob;
use OC\Log\Rotate;
@@ -248,14 +247,13 @@ class Setup {
];
}
- if ($this->iniWrapper->getString('open_basedir') !== '' && PHP_INT_SIZE === 4) {
+ if (PHP_INT_SIZE < 8) {
$errors[] = [
'error' => $this->l10n->t(
- 'It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. ' .
- 'This will lead to problems with files over 4 GB and is highly discouraged.',
+ 'It seems that this %s instance is running on a 32-bit PHP environment. 64-bit is required for 26 and higher.',
[$this->defaults->getProductName()]
),
- 'hint' => $this->l10n->t('Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP.'),
+ 'hint' => $this->l10n->t('Please switch to 64-bit PHP.'),
];
}
@@ -394,7 +392,12 @@ class Setup {
$config = \OC::$server->getConfig();
$config->setAppValue('core', 'installedat', microtime(true));
$config->setAppValue('core', 'lastupdatedat', microtime(true));
- $config->setAppValue('core', 'vendor', $this->getVendor());
+
+ $vendorData = $this->getVendorData();
+ $config->setAppValue('core', 'vendor', $vendorData['vendor']);
+ if ($vendorData['channel'] !== 'stable') {
+ $config->setSystemValue('updater.release.channel', $vendorData['channel']);
+ }
$group = \OC::$server->getGroupManager()->createGroup('admin');
if ($group instanceof IGroup) {
@@ -403,14 +406,6 @@ class Setup {
// Install shipped apps and specified app bundles
Installer::installShippedApps();
- $bundleFetcher = new BundleFetcher(\OC::$server->getL10N('lib'));
- $defaultInstallationBundles = $bundleFetcher->getDefaultInstallationBundle();
- foreach ($defaultInstallationBundles as $bundle) {
- try {
- $this->installer->installAppBundle($bundle);
- } catch (Exception $e) {
- }
- }
// create empty file in data dir, so we can later find
// out that this is indeed an ownCloud data directory
@@ -518,10 +513,10 @@ class Setup {
$htaccessContent = explode($content, $htaccessContent, 2)[0];
//custom 403 error page
- $content .= "\nErrorDocument 403 " . $webRoot . '/';
+ $content .= "\nErrorDocument 403 " . $webRoot . '/index.php/error/403';
//custom 404 error page
- $content .= "\nErrorDocument 404 " . $webRoot . '/';
+ $content .= "\nErrorDocument 404 " . $webRoot . '/index.php/error/404';
// Add rewrite rules if the RewriteBase is configured
$rewriteBase = $config->getValue('htaccess.RewriteBase', '');
@@ -591,17 +586,14 @@ class Setup {
file_put_contents($baseDir . '/index.html', '');
}
- /**
- * Return vendor from which this version was published
- *
- * @return string Get the vendor
- *
- * Copy of \OC\Updater::getVendor()
- */
- private function getVendor() {
+ private function getVendorData(): array {
// this should really be a JSON file
require \OC::$SERVERROOT . '/version.php';
- /** @var string $vendor */
- return (string)$vendor;
+ /** @var mixed $vendor */
+ /** @var mixed $OC_Channel */
+ return [
+ 'vendor' => (string)$vendor,
+ 'channel' => (string)$OC_Channel,
+ ];
}
}
diff --git a/lib/private/Setup/MySQL.php b/lib/private/Setup/MySQL.php
index e3004c269bc..caa73edccec 100644
--- a/lib/private/Setup/MySQL.php
+++ b/lib/private/Setup/MySQL.php
@@ -183,6 +183,9 @@ class MySQL extends AbstractDatabase {
$i++;
}
}
+ } else {
+ // Reuse existing password if a database config is already present
+ $this->dbPassword = $rootPassword;
}
} catch (\Exception $ex) {
$this->logger->info('Can not create a new MySQL user, will continue with the provided user.', [
diff --git a/lib/private/Setup/PostgreSQL.php b/lib/private/Setup/PostgreSQL.php
index bc24909dc3d..af816c7ad04 100644
--- a/lib/private/Setup/PostgreSQL.php
+++ b/lib/private/Setup/PostgreSQL.php
@@ -62,6 +62,7 @@ class PostgreSQL extends AbstractDatabase {
}
if ($canCreateRoles) {
+ $connectionMainDatabase = $this->connect();
//use the admin login data for the new database user
//add prefix to the postgresql user name to prevent collisions
@@ -70,6 +71,16 @@ class PostgreSQL extends AbstractDatabase {
$this->dbPassword = \OC::$server->getSecureRandom()->generate(30, ISecureRandom::CHAR_ALPHANUMERIC);
$this->createDBUser($connection);
+
+ // Go to the main database and grant create on the public schema
+ // The code below is implemented to make installing possible with PostgreSQL version 15:
+ // https://www.postgresql.org/docs/release/15.0/
+ // From the release notes: For new databases having no need to defend against insider threats, granting CREATE permission will yield the behavior of prior releases
+ // Therefore we assume that the database is only used by one user/service which is Nextcloud
+ // Additional services should get installed in a separate database in order to stay secure
+ // Also see https://www.postgresql.org/docs/15/ddl-schemas.html#DDL-SCHEMAS-PATTERNS
+ $connectionMainDatabase->executeQuery('GRANT CREATE ON SCHEMA public TO ' . addslashes($this->dbUser));
+ $connectionMainDatabase->close();
}
$this->config->setValues([
diff --git a/lib/private/Share/Share.php b/lib/private/Share/Share.php
index f47c042df29..9e7b913d60a 100644
--- a/lib/private/Share/Share.php
+++ b/lib/private/Share/Share.php
@@ -32,9 +32,13 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/
+
namespace OC\Share;
+use OCA\Files_Sharing\ShareBackend\File;
+use OCP\DB\Exception;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IDBConnection;
use OCP\Share\IShare;
use Psr\Log\LoggerInterface;
@@ -59,11 +63,13 @@ class Share extends Constants {
*
* Apps are required to handle permissions on their own, this class only
* stores and manages the permissions of shares
+ *
* @see lib/public/constants.php
*/
/**
* Register a sharing backend class that implements OCP\Share_Backend for an item type
+ *
* @param string $itemType Item type
* @param string $class Backend class
* @param string $collectionOf (optional) Depends on item type
@@ -83,13 +89,14 @@ class Share extends Constants {
\OC::$server->get(LoggerInterface::class)->warning(
'Sharing backend '.$class.' not registered, '.self::$backendTypes[$itemType]['class']
.' is already registered for '.$itemType,
- ['app' => 'OCP\Share']);
+ ['app' => 'files_sharing']);
}
return false;
}
/**
* Get the items of item type shared with the current user
+ *
* @param string $itemType
* @param int $format (optional) Format type must be defined by the backend
* @param mixed $parameters (optional)
@@ -106,6 +113,7 @@ class Share extends Constants {
/**
* Get the items of item type shared with a user
+ *
* @param string $itemType
* @param string $user id for which user we want the shares
* @param int $format (optional) Format type must be defined by the backend
@@ -123,53 +131,46 @@ class Share extends Constants {
/**
* Get the item of item type shared with a given user by source
+ *
* @param string $itemType
* @param string $itemSource
- * @param string $user User to whom the item was shared
- * @param string $owner Owner of the share
- * @param int $shareType only look for a specific share type
+ * @param ?string $user User to whom the item was shared
+ * @param ?string $owner Owner of the share
+ * @param ?int $shareType only look for a specific share type
* @return array Return list of items with file_target, permissions and expiration
+ * @throws Exception
*/
- public static function getItemSharedWithUser($itemType, $itemSource, $user, $owner = null, $shareType = null) {
+ public static function getItemSharedWithUser(string $itemType, string $itemSource, ?string $user = null, ?string $owner = null, ?int $shareType = null) {
$shares = [];
- $fileDependent = false;
-
- $where = 'WHERE';
- $fileDependentWhere = '';
- if ($itemType === 'file' || $itemType === 'folder') {
- $fileDependent = true;
+ $fileDependent = $itemType === 'file' || $itemType === 'folder';
+ $qb = self::getSelectStatement(self::FORMAT_NONE, $fileDependent);
+ $qb->from('share', 's');
+ if ($fileDependent) {
+ $qb->innerJoin('s', 'filecache', 'f', $qb->expr()->eq('file_source', 'f.fileid'));
+ $qb->innerJoin('s', 'storages', 'st', $qb->expr()->eq('numeric_id', 'f.storage'));
$column = 'file_source';
- $fileDependentWhere = 'INNER JOIN `*PREFIX*filecache` ON `file_source` = `*PREFIX*filecache`.`fileid` ';
- $fileDependentWhere .= 'INNER JOIN `*PREFIX*storages` ON `numeric_id` = `*PREFIX*filecache`.`storage` ';
} else {
$column = 'item_source';
}
- $select = self::createSelectStatement(self::FORMAT_NONE, $fileDependent);
+ $qb->where($qb->expr()->eq($column, $qb->createNamedParameter($itemSource)))
+ ->andWhere($qb->expr()->eq('item_type', $qb->createNamedParameter($itemType)));
- $where .= ' `' . $column . '` = ? AND `item_type` = ? ';
- $arguments = [$itemSource, $itemType];
// for link shares $user === null
if ($user !== null) {
- $where .= ' AND `share_with` = ? ';
- $arguments[] = $user;
+ $qb->andWhere($qb->expr()->eq('share_with', $qb->createNamedParameter($user)));
}
if ($shareType !== null) {
- $where .= ' AND `share_type` = ? ';
- $arguments[] = $shareType;
+ $qb->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter($shareType, IQueryBuilder::PARAM_INT)));
}
if ($owner !== null) {
- $where .= ' AND `uid_owner` = ? ';
- $arguments[] = $owner;
+ $qb->andWhere($qb->expr()->eq('uid_owner', $qb->createNamedParameter($owner)));
}
- $query = \OC_DB::prepare('SELECT ' . $select . ' FROM `*PREFIX*share` '. $fileDependentWhere . $where);
-
- $result = \OC_DB::executeAudited($query, $arguments);
-
- while ($row = $result->fetchRow()) {
+ $result = $qb->executeQuery();
+ while ($row = $result->fetch()) {
if ($fileDependent && !self::isFileReachable($row['path'], $row['storage_id'])) {
continue;
}
@@ -183,7 +184,7 @@ class Share extends Constants {
$path = substr($path, strlen($owner) + 1); //normalize path to 'files/foo.txt`
$row['path'] = $path;
} else {
- \OC::$server->getLogger()->warning(
+ \OC::$server->get(LoggerInterface::class)->warning(
'Could not resolve mount point for ' . $row['storage_id'],
['app' => 'OCP\Share']
);
@@ -193,7 +194,7 @@ class Share extends Constants {
}
$result->closeCursor();
- //if didn't found a result than let's look for a group share.
+ // if we didn't found a result then let's look for a group share.
if (empty($shares) && $user !== null) {
$userObject = \OC::$server->getUserManager()->get($user);
$groups = [];
@@ -202,28 +203,27 @@ class Share extends Constants {
}
if (!empty($groups)) {
- $where = $fileDependentWhere . ' WHERE `' . $column . '` = ? AND `item_type` = ? AND `share_with` in (?)';
- $arguments = [$itemSource, $itemType, $groups];
- $types = [null, null, IQueryBuilder::PARAM_STR_ARRAY];
+ $qb = self::getSelectStatement(self::FORMAT_NONE, $fileDependent);
+ $qb->from('share', 's');
- if ($owner !== null) {
- $where .= ' AND `uid_owner` = ?';
- $arguments[] = $owner;
- $types[] = null;
+ if ($fileDependent) {
+ $qb->innerJoin('s', 'filecache', 'f', $qb->expr()->eq('file_source', 'f.fileid'))
+ ->innerJoin('s', 'storages', 'st', $qb->expr()->eq('numeric_id', 'f.storage'));
}
- // TODO: inject connection, hopefully one day in the future when this
- // class isn't static anymore...
- $conn = \OC::$server->getDatabaseConnection();
- $result = $conn->executeQuery(
- 'SELECT ' . $select . ' FROM `*PREFIX*share` ' . $where,
- $arguments,
- $types
- );
+ $qb->where($qb->expr()->eq($column, $qb->createNamedParameter($itemSource)))
+ ->andWhere($qb->expr()->eq('item_type', $qb->createNamedParameter($itemType, IQueryBuilder::PARAM_STR)))
+ ->andWhere($qb->expr()->in('share_with', $qb->createNamedParameter($groups, IQueryBuilder::PARAM_STR_ARRAY)));
+
+ if ($owner !== null) {
+ $qb->andWhere($qb->expr()->eq('uid_owner', $qb->createNamedParameter($owner)));
+ }
+ $result = $qb->executeQuery();
while ($row = $result->fetch()) {
$shares[] = $row;
}
+ $result->closeCursor();
}
}
@@ -232,6 +232,7 @@ class Share extends Constants {
/**
* Get the shared item of item type owned by the current user
+ *
* @param string $itemType
* @param string $itemSource
* @param int $format (optional) Format type must be defined by the backend
@@ -250,9 +251,10 @@ class Share extends Constants {
/**
* Get the backend class for the specified item type
+ *
* @param string $itemType
- * @throws \Exception
* @return \OCP\Share_Backend
+ * @throws \Exception
*/
public static function getBackend($itemType) {
$l = \OC::$server->getL10N('lib');
@@ -285,6 +287,7 @@ class Share extends Constants {
/**
* Check if resharing is allowed
+ *
* @return boolean true if allowed or false
*
* Resharing is allowed by default if not configured
@@ -302,10 +305,11 @@ class Share extends Constants {
/**
* Get a list of collection item types for the specified item type
+ *
* @param string $itemType
- * @return array
+ * @return array|false
*/
- private static function getCollectionItemTypes($itemType) {
+ private static function getCollectionItemTypes(string $itemType) {
$collectionTypes = [$itemType];
foreach (self::$backendTypes as $type => $backend) {
if (in_array($backend['collectionOf'], $collectionTypes)) {
@@ -326,6 +330,7 @@ class Share extends Constants {
/**
* Get shared items from the database
+ *
* @param string $itemType
* @param string $item Item source or target (optional)
* @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, SHARE_TYPE_LINK, $shareTypeUserAndGroups, or $shareTypeGroupUserUnique
@@ -344,31 +349,36 @@ class Share extends Constants {
* Refactoring notes:
* * defacto $limit, $itemsShareWithBySource, $checkExpireDate, $parameters and $format is always the default and therefore is removed in the subsequent call
*/
- public static function getItems($itemType, $item = null, $shareType = null, $shareWith = null,
+ public static function getItems($itemType, ?string $item = null, ?int $shareType = null, $shareWith = null,
$uidOwner = null, $format = self::FORMAT_NONE, $parameters = null, $limit = -1,
$includeCollections = false, $itemShareWithBySource = false, $checkExpireDate = true) {
if (\OC::$server->getConfig()->getAppValue('core', 'shareapi_enabled', 'yes') != 'yes') {
return [];
}
+ $fileDependent = $itemType == 'file' || $itemType == 'folder';
+ $qb = self::getSelectStatement(self::FORMAT_NONE, $fileDependent, $uidOwner);
+ $qb->from('share', 's');
+
$backend = self::getBackend($itemType);
$collectionTypes = false;
// Get filesystem root to add it to the file target and remove from the
// file source, match file_source with the file cache
- if ($itemType == 'file' || $itemType == 'folder') {
+ if ($fileDependent) {
if (!is_null($uidOwner)) {
$root = \OC\Files\Filesystem::getRoot();
} else {
$root = '';
}
- $where = 'INNER JOIN `*PREFIX*filecache` ON `file_source` = `*PREFIX*filecache`.`fileid` ';
- if (!isset($item)) {
- $where .= ' AND `file_target` IS NOT NULL ';
+ if (isset($item)) {
+ $qb->innerJoin('s', 'filecache', 'f', $qb->expr()->eq('file_source', 'f.fileid'));
+ } else {
+ $qb->innerJoin('s', 'filecache', 'f', $qb->expr()->andX(
+ $qb->expr()->eq('file_source', 'f.fileid'),
+ $qb->expr()->isNotNull('file_target')
+ ));
}
- $where .= 'INNER JOIN `*PREFIX*storages` ON `numeric_id` = `*PREFIX*filecache`.`storage` ';
- $fileDependent = true;
- $queryArgs = [];
+ $qb->innerJoin('s', 'storages', 'st', $qb->expr()->eq('numeric_id', 'f.storage'));
} else {
- $fileDependent = false;
$root = '';
$collectionTypes = self::getCollectionItemTypes($itemType);
if ($includeCollections && !isset($item) && $collectionTypes) {
@@ -378,25 +388,21 @@ class Share extends Constants {
} else {
$itemTypes = $collectionTypes;
}
- $placeholders = implode(',', array_fill(0, count($itemTypes), '?'));
- $where = ' WHERE `item_type` IN ('.$placeholders.'))';
- $queryArgs = $itemTypes;
+ $qb->where($qb->expr()->in('item_type', $qb->createNamedParameter($itemTypes, IQueryBuilder::PARAM_STR_ARRAY)));
} else {
- $where = ' WHERE `item_type` = ?';
- $queryArgs = [$itemType];
+ $qb->where($qb->expr()->eq('item_type', $qb->createNamedParameter($itemType)));
}
}
if (\OC::$server->getConfig()->getAppValue('core', 'shareapi_allow_links', 'yes') !== 'yes') {
- $where .= ' AND `share_type` != ?';
- $queryArgs[] = IShare::TYPE_LINK;
+ $qb->andWhere($qb->expr()->neq('share_type', $qb->createNamedParameter(IShare::TYPE_LINK, IQueryBuilder::PARAM_INT)));
}
if (isset($shareType)) {
// Include all user and group items
- if ($shareType == self::$shareTypeUserAndGroups && isset($shareWith)) {
- $where .= ' AND ((`share_type` in (?, ?) AND `share_with` = ?) ';
- $queryArgs[] = IShare::TYPE_USER;
- $queryArgs[] = self::$shareTypeGroupUserUnique;
- $queryArgs[] = $shareWith;
+ if ($shareType === self::$shareTypeUserAndGroups && isset($shareWith)) {
+ $qb->andWhere($qb->expr()->andX(
+ $qb->expr()->in('share_type', $qb->createNamedParameter([IShare::TYPE_USER, self::$shareTypeGroupUserUnique], IQueryBuilder::PARAM_INT_ARRAY)),
+ $qb->expr()->eq('share_with', $qb->createNamedParameter($shareWith))
+ ));
$user = \OC::$server->getUserManager()->get($shareWith);
$groups = [];
@@ -404,31 +410,26 @@ class Share extends Constants {
$groups = \OC::$server->getGroupManager()->getUserGroupIds($user);
}
if (!empty($groups)) {
- $placeholders = implode(',', array_fill(0, count($groups), '?'));
- $where .= ' OR (`share_type` = ? AND `share_with` IN ('.$placeholders.')) ';
- $queryArgs[] = IShare::TYPE_GROUP;
- $queryArgs = array_merge($queryArgs, $groups);
+ $qb->orWhere($qb->expr()->andX(
+ $qb->expr()->eq('share_type', $qb->createNamedParameter(IShare::TYPE_GROUP, IQueryBuilder::PARAM_INT)),
+ $qb->expr()->in('share_with', $qb->createNamedParameter($groups, IQueryBuilder::PARAM_STR_ARRAY))
+ ));
}
- $where .= ')';
+
// Don't include own group shares
- $where .= ' AND `uid_owner` != ?';
- $queryArgs[] = $shareWith;
+ $qb->andWhere($qb->expr()->neq('uid_owner', $qb->createNamedParameter($shareWith)));
} else {
- $where .= ' AND `share_type` = ?';
- $queryArgs[] = $shareType;
+ $qb->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter($shareType, IQueryBuilder::PARAM_INT)));
if (isset($shareWith)) {
- $where .= ' AND `share_with` = ?';
- $queryArgs[] = $shareWith;
+ $qb->andWhere($qb->expr()->eq('share_with', $qb->createNamedParameter($shareWith, IQueryBuilder::PARAM_STR)));
}
}
}
if (isset($uidOwner)) {
- $where .= ' AND `uid_owner` = ?';
- $queryArgs[] = $uidOwner;
+ $qb->andWhere($qb->expr()->eq('uid_owner', $qb->createNamedParameter($uidOwner)));
if (!isset($shareType)) {
// Prevent unique user targets for group shares from being selected
- $where .= ' AND `share_type` != ?';
- $queryArgs[] = self::$shareTypeGroupUserUnique;
+ $qb->andWhere($qb->expr()->neq('share_type', $qb->createNamedParameter(self::$shareTypeGroupUserUnique, IQueryBuilder::PARAM_INT)));
}
if ($fileDependent) {
$column = 'file_source';
@@ -444,54 +445,53 @@ class Share extends Constants {
}
if (isset($item)) {
$collectionTypes = self::getCollectionItemTypes($itemType);
- if ($includeCollections && $collectionTypes && !in_array('folder', $collectionTypes)) {
- $where .= ' AND (';
- } else {
- $where .= ' AND';
- }
// If looking for own shared items, check item_source else check item_target
if (isset($uidOwner)) {
// If item type is a file, file source needs to be checked in case the item was converted
if ($fileDependent) {
- $where .= ' `file_source` = ?';
+ $expr = $qb->expr()->eq('file_source', $qb->createNamedParameter($item));
$column = 'file_source';
} else {
- $where .= ' `item_source` = ?';
+ $expr = $qb->expr()->eq('item_source', $qb->createNamedParameter($item));
$column = 'item_source';
}
} else {
if ($fileDependent) {
- $where .= ' `file_target` = ?';
$item = \OC\Files\Filesystem::normalizePath($item);
+ $expr = $qb->expr()->eq('file_target', $qb->createNamedParameter($item));
} else {
- $where .= ' `item_target` = ?';
+ $expr = $qb->expr()->eq('item_target', $qb->createNamedParameter($item));
}
}
- $queryArgs[] = $item;
if ($includeCollections && $collectionTypes && !in_array('folder', $collectionTypes)) {
- $placeholders = implode(',', array_fill(0, count($collectionTypes), '?'));
- $where .= ' OR `item_type` IN ('.$placeholders.'))';
- $queryArgs = array_merge($queryArgs, $collectionTypes);
- }
+ $qb->andWhere($qb->expr()->orX(
+ $expr,
+ $qb->expr()->in('item_type', $qb->createNamedParameter($collectionTypes, IQueryBuilder::PARAM_STR_ARRAY))
+ ));
+ } else {
+ $qb->andWhere($expr);
+ }
+ }
+ $qb->orderBy('s.id', 'ASC');
+ try {
+ $result = $qb->executeQuery();
+ } catch (\Exception $e) {
+ \OCP\Server::get(LoggerInterface::class)->error(
+ 'Error while selecting shares: ' . $qb->getSQL(),
+ [
+ 'app' => 'files_sharing',
+ 'exception' => $e
+ ]);
+ throw new \RuntimeException('Wrong SQL query', 500, $e);
}
- $where .= ' ORDER BY `*PREFIX*share`.`id` ASC';
-
- $queryLimit = null;
- $select = self::createSelectStatement(self::FORMAT_NONE, $fileDependent, $uidOwner);
$root = strlen($root);
- $query = \OC_DB::prepare('SELECT '.$select.' FROM `*PREFIX*share` '.$where, $queryLimit);
- $result = $query->execute($queryArgs);
- if ($result === false) {
- \OC::$server->get(LoggerInterface::class)->error(
- \OC_DB::getErrorMessage() . ', select=' . $select . ' where=',
- ['app' => 'OCP\Share']);
- }
$items = [];
$targets = [];
$switchedItems = [];
$mounts = [];
- while ($row = $result->fetchRow()) {
+ while ($row = $result->fetch()) {
+ //var_dump($row);
self::transformDBResults($row);
// Filter out duplicate group shares for users with unique targets
if ($fileDependent && !self::isFileReachable($row['path'], $row['storage_id'])) {
@@ -548,16 +548,12 @@ class Share extends Constants {
->from('share')
->where($query->expr()->eq('id', $query->createNamedParameter($row['parent'])));
- $parentResult = $query->execute();
- $parentRow = $parentResult->fetch();
- $parentResult->closeCursor();
+ $parentRow = false;
+ try {
+ $parentResult = $query->executeQuery();
+ $parentRow = $parentResult->fetchOne();
+ $parentResult->closeCursor();
- if ($parentRow === false) {
- \OC::$server->get(LoggerInterface::class)->error(
- 'Can\'t select parent: ' .
- \OC_DB::getErrorMessage() . ', select=' . $select . ' where=' . $where,
- ['app' => 'OCP\Share']);
- } else {
$tmpPath = $parentRow['file_target'];
// find the right position where the row path continues from the target path
$pos = strrpos($row['path'], $parentRow['file_target']);
@@ -567,6 +563,12 @@ class Share extends Constants {
$tmpPath = $tmpPath . '/' . $pathPart;
}
$row['path'] = $tmpPath;
+ } catch (Exception $e) {
+ \OCP\Server::get(LoggerInterface::class)
+ ->error('Can\'t select parent :' . $e->getMessage() . ' query=' . $query->getSQL(), [
+ 'exception' => $e,
+ 'app' => 'core'
+ ]);
}
} else {
if (!isset($mounts[$row['storage']])) {
@@ -576,7 +578,7 @@ class Share extends Constants {
}
}
if (!empty($mounts[$row['storage']])) {
- $path = $mounts[$row['storage']]->getMountPoint().$row['path'];
+ $path = $mounts[$row['storage']]->getMountPoint() . $row['path'];
$relPath = substr($path, $root); // path relative to data/user
$row['path'] = rtrim($relPath, '/');
}
@@ -618,6 +620,7 @@ class Share extends Constants {
$items[$row['id']] = $row;
}
}
+ $result->closeCursor();
// group items if we are looking for items shared with the current user
if (isset($shareWith) && $shareWith === \OC_User::getUser()) {
@@ -641,7 +644,7 @@ class Share extends Constants {
$collection['path'] = basename($row['path']);
}
$row['collection'] = $collection;
- // Fetch all of the children sources
+ // Fetch all the children sources
$children = $collectionBackend->getChildren($row[$column]);
foreach ($children as $child) {
$childItem = $row;
@@ -739,7 +742,7 @@ class Share extends Constants {
if (!isset($result[$key]['grouped'])) {
$result[$key]['grouped'][] = $result[$key];
}
- $result[$key]['permissions'] = (int) $item['permissions'] | (int) $r['permissions'];
+ $result[$key]['permissions'] = (int)$item['permissions'] | (int)$r['permissions'];
$result[$key]['grouped'][] = $item;
$grouped = true;
break;
@@ -755,83 +758,142 @@ class Share extends Constants {
}
/**
- * construct select statement
- * @param int $format
- * @param boolean $fileDependent ist it a file/folder share or a general share
- * @param string $uidOwner
- * @return string select statement
+ * Construct select statement
+ *
+ * @param bool $fileDependent ist it a file/folder share or a general share
*/
- private static function createSelectStatement($format, $fileDependent, $uidOwner = null) {
- $select = '*';
+ private static function getSelectStatement(int $format, bool $fileDependent, ?string $uidOwner = null): IQueryBuilder {
+ /** @var IDBConnection $connection */
+ $connection = \OC::$server->get(IDBConnection::class);
+ $qb = $connection->getQueryBuilder();
if ($format == self::FORMAT_STATUSES) {
if ($fileDependent) {
- $select = '`*PREFIX*share`.`id`, `*PREFIX*share`.`parent`, `share_type`, `path`, `storage`, '
- . '`share_with`, `uid_owner` , `file_source`, `stime`, `*PREFIX*share`.`permissions`, '
- . '`*PREFIX*storages`.`id` AS `storage_id`, `*PREFIX*filecache`.`parent` as `file_parent`, '
- . '`uid_initiator`';
- } else {
- $select = '`id`, `parent`, `share_type`, `share_with`, `uid_owner`, `item_source`, `stime`, `*PREFIX*share`.`permissions`';
- }
- } else {
- if (isset($uidOwner)) {
- if ($fileDependent) {
- $select = '`*PREFIX*share`.`id`, `item_type`, `item_source`, `*PREFIX*share`.`parent`,'
- . ' `share_type`, `share_with`, `file_source`, `file_target`, `path`, `*PREFIX*share`.`permissions`, `stime`,'
- . ' `expiration`, `token`, `storage`, `mail_send`, `uid_owner`, '
- . '`*PREFIX*storages`.`id` AS `storage_id`, `*PREFIX*filecache`.`parent` as `file_parent`';
- } else {
- $select = '`id`, `item_type`, `item_source`, `parent`, `share_type`, `share_with`, `*PREFIX*share`.`permissions`,'
- . ' `stime`, `file_source`, `expiration`, `token`, `mail_send`, `uid_owner`';
- }
- } else {
- if ($fileDependent) {
- if ($format == \OCA\Files_Sharing\ShareBackend\File::FORMAT_GET_FOLDER_CONTENTS || $format == \OCA\Files_Sharing\ShareBackend\File::FORMAT_FILE_APP_ROOT) {
- $select = '`*PREFIX*share`.`id`, `item_type`, `item_source`, `*PREFIX*share`.`parent`, `uid_owner`, '
- . '`share_type`, `share_with`, `file_source`, `path`, `file_target`, `stime`, '
- . '`*PREFIX*share`.`permissions`, `expiration`, `storage`, `*PREFIX*filecache`.`parent` as `file_parent`, '
- . '`name`, `mtime`, `mimetype`, `mimepart`, `size`, `encrypted`, `etag`, `mail_send`';
- } else {
- $select = '`*PREFIX*share`.`id`, `item_type`, `item_source`, `item_target`,'
- . '`*PREFIX*share`.`parent`, `share_type`, `share_with`, `uid_owner`,'
- . '`file_source`, `path`, `file_target`, `*PREFIX*share`.`permissions`,'
- . '`stime`, `expiration`, `token`, `storage`, `mail_send`,'
- . '`*PREFIX*storages`.`id` AS `storage_id`, `*PREFIX*filecache`.`parent` as `file_parent`';
- }
- }
- }
+ return $qb->select(
+ 's.id',
+ 's.parent',
+ 'share_type',
+ 'path',
+ 'storage',
+ 'share_with',
+ 'uid_owner',
+ 'file_source',
+ 'stime',
+ 's.permissions',
+ 'uid_initiator'
+ )->selectAlias('st.id', 'storage_id')
+ ->selectAlias('f.parent', 'file_parent');
+ }
+ return $qb->select('id', 'parent', 'share_type', 'share_with', 'uid_owner', 'item_source', 'stime', 's.permissions');
}
- return $select;
+
+ if (isset($uidOwner)) {
+ if ($fileDependent) {
+ return $qb->select(
+ 's.id',
+ 'item_type',
+ 'item_source',
+ 's.parent',
+ 'share_type',
+ 'share_with',
+ 'file_source',
+ 'file_target',
+ 'path',
+ 's.permissions',
+ 'stime',
+ 'expiration',
+ 'token',
+ 'storage',
+ 'mail_send',
+ 'uid_owner',
+ 'uid_initiator'
+ )->selectAlias('st.id', 'storage_id')
+ ->selectAlias('f.parent', 'file_parent');
+ }
+ return $qb->select('id', 'item_type', 'item_source', 'parent', 'share_type',
+ 'share_with', 'uid_owner', 'file_source', 'stime', 's.permissions',
+ 'expiration', 'token', 'mail_send');
+ }
+
+ if ($fileDependent) {
+ if ($format == File::FORMAT_GET_FOLDER_CONTENTS || $format == File::FORMAT_FILE_APP_ROOT) {
+ return $qb->select(
+ 's.id',
+ 'item_type',
+ 'item_source',
+ 's.parent',
+ 'uid_owner',
+ 'share_type',
+ 'share_with',
+ 'file_source',
+ 'path',
+ 'file_target',
+ 's.permissions',
+ 'stime',
+ 'expiration',
+ 'storage',
+ 'name',
+ 'mtime',
+ 'mimepart',
+ 'size',
+ 'encrypted',
+ 'etag',
+ 'mail_send'
+ )->selectAlias('f.parent', 'file_parent');
+ }
+ return $qb->select(
+ 's.id',
+ 'item_type',
+ 'item_source',
+ 'item_target',
+ 's.parent',
+ 'share_type',
+ 'share_with',
+ 'uid_owner',
+ 'file_source',
+ 'path',
+ 'file_target',
+ 's.permissions',
+ 'stime',
+ 'expiration',
+ 'token',
+ 'storage',
+ 'mail_send',
+ )->selectAlias('f.parent', 'file_parent')
+ ->selectAlias('st.id', 'storage_id');
+ }
+ return $qb->select('*');
}
/**
* transform db results
+ *
* @param array $row result
*/
private static function transformDBResults(&$row) {
if (isset($row['id'])) {
- $row['id'] = (int) $row['id'];
+ $row['id'] = (int)$row['id'];
}
if (isset($row['share_type'])) {
- $row['share_type'] = (int) $row['share_type'];
+ $row['share_type'] = (int)$row['share_type'];
}
if (isset($row['parent'])) {
- $row['parent'] = (int) $row['parent'];
+ $row['parent'] = (int)$row['parent'];
}
if (isset($row['file_parent'])) {
- $row['file_parent'] = (int) $row['file_parent'];
+ $row['file_parent'] = (int)$row['file_parent'];
}
if (isset($row['file_source'])) {
- $row['file_source'] = (int) $row['file_source'];
+ $row['file_source'] = (int)$row['file_source'];
}
if (isset($row['permissions'])) {
- $row['permissions'] = (int) $row['permissions'];
+ $row['permissions'] = (int)$row['permissions'];
}
if (isset($row['storage'])) {
- $row['storage'] = (int) $row['storage'];
+ $row['storage'] = (int)$row['storage'];
}
if (isset($row['stime'])) {
- $row['stime'] = (int) $row['stime'];
+ $row['stime'] = (int)$row['stime'];
}
if (isset($row['expiration']) && $row['share_type'] !== IShare::TYPE_LINK) {
// discard expiration date for non-link shares, which might have been
@@ -842,6 +904,7 @@ class Share extends Constants {
/**
* format result
+ *
* @param array $items result
* @param string $column is it a file share or a general share ('file_target' or 'item_target')
* @param \OCP\Share_Backend $backend sharing backend
diff --git a/lib/private/Share20/DefaultShareProvider.php b/lib/private/Share20/DefaultShareProvider.php
index c78cf62e069..a5a5568788d 100644
--- a/lib/private/Share20/DefaultShareProvider.php
+++ b/lib/private/Share20/DefaultShareProvider.php
@@ -1087,6 +1087,10 @@ class DefaultShareProvider implements IShareProvider {
}
} elseif ($share->getShareType() === IShare::TYPE_GROUP) {
$share->setSharedWith($data['share_with']);
+ $group = $this->groupManager->get($data['share_with']);
+ if ($group !== null) {
+ $share->setSharedWithDisplayName($group->getDisplayName());
+ }
} elseif ($share->getShareType() === IShare::TYPE_LINK) {
$share->setPassword($data['password']);
$share->setSendPasswordByTalk((bool)$data['password_by_talk']);
diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php
index 2ef61cf3404..ffd779707df 100644
--- a/lib/private/Share20/Manager.php
+++ b/lib/private/Share20/Manager.php
@@ -1562,7 +1562,7 @@ class Manager implements IManager {
* Verify the password of a public share
*
* @param IShare $share
- * @param string $password
+ * @param ?string $password
* @return bool
*/
public function checkPassword(IShare $share, $password) {
diff --git a/lib/private/Share20/ProviderFactory.php b/lib/private/Share20/ProviderFactory.php
index 434c0017d21..9bba4d771aa 100644
--- a/lib/private/Share20/ProviderFactory.php
+++ b/lib/private/Share20/ProviderFactory.php
@@ -40,6 +40,7 @@ use OCA\FederatedFileSharing\Notifications;
use OCA\FederatedFileSharing\TokenHandler;
use OCA\ShareByMail\Settings\SettingsManager;
use OCA\ShareByMail\ShareByMailProvider;
+use OCA\Talk\Share\RoomShareProvider;
use OCP\Defaults;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IServerContainer;
@@ -47,6 +48,7 @@ use OCP\Share\IManager;
use OCP\Share\IProviderFactory;
use OCP\Share\IShare;
use OCP\Share\IShareProvider;
+use Psr\Log\LoggerInterface;
/**
* Class ProviderFactory
@@ -257,8 +259,15 @@ class ProviderFactory implements IProviderFactory {
}
try {
- $this->roomShareProvider = $this->serverContainer->query('\OCA\Talk\Share\RoomShareProvider');
- } catch (\OCP\AppFramework\QueryException $e) {
+ /**
+ * @psalm-suppress UndefinedClass
+ */
+ $this->roomShareProvider = $this->serverContainer->get(RoomShareProvider::class);
+ } catch (\Throwable $e) {
+ $this->serverContainer->get(LoggerInterface::class)->error(
+ $e->getMessage(),
+ ['exception' => $e]
+ );
return null;
}
}
@@ -288,9 +297,16 @@ class ProviderFactory implements IProviderFactory {
}
foreach ($this->registeredShareProviders as $shareProvider) {
- /** @var IShareProvider $instance */
- $instance = $this->serverContainer->get($shareProvider);
- $this->shareProviders[$instance->identifier()] = $instance;
+ try {
+ /** @var IShareProvider $instance */
+ $instance = $this->serverContainer->get($shareProvider);
+ $this->shareProviders[$instance->identifier()] = $instance;
+ } catch (\Throwable $e) {
+ $this->serverContainer->get(LoggerInterface::class)->error(
+ $e->getMessage(),
+ ['exception' => $e]
+ );
+ }
}
if (isset($this->shareProviders[$id])) {
@@ -351,8 +367,17 @@ class ProviderFactory implements IProviderFactory {
}
foreach ($this->registeredShareProviders as $shareProvider) {
- /** @var IShareProvider $instance */
- $instance = $this->serverContainer->get($shareProvider);
+ try {
+ /** @var IShareProvider $instance */
+ $instance = $this->serverContainer->get($shareProvider);
+ } catch (\Throwable $e) {
+ $this->serverContainer->get(LoggerInterface::class)->error(
+ $e->getMessage(),
+ ['exception' => $e]
+ );
+ continue;
+ }
+
if (!isset($this->shareProviders[$instance->identifier()])) {
$this->shareProviders[$instance->identifier()] = $instance;
}
diff --git a/lib/private/Share20/UserRemovedListener.php b/lib/private/Share20/UserRemovedListener.php
index 6bf184a9309..6db0f2e0910 100644
--- a/lib/private/Share20/UserRemovedListener.php
+++ b/lib/private/Share20/UserRemovedListener.php
@@ -30,6 +30,9 @@ use OCP\EventDispatcher\IEventListener;
use OCP\Group\Events\UserRemovedEvent;
use OCP\Share\IManager;
+/**
+ * @template-implements IEventListener<UserRemovedEvent>
+ */
class UserRemovedListener implements IEventListener {
/** @var IManager */
diff --git a/lib/private/StreamImage.php b/lib/private/StreamImage.php
index 38fd114df17..33078310d27 100644
--- a/lib/private/StreamImage.php
+++ b/lib/private/StreamImage.php
@@ -37,7 +37,7 @@ class StreamImage implements IStreamImage {
/** @var resource The internal stream */
private $stream;
- /** @var string */
+ /** @var null|string */
private $mimeType;
/** @var int */
@@ -55,38 +55,38 @@ class StreamImage implements IStreamImage {
}
/** @inheritDoc */
- public function valid() {
+ public function valid(): bool {
return is_resource($this->stream);
}
/** @inheritDoc */
- public function mimeType() {
+ public function mimeType(): ?string {
return $this->mimeType;
}
/** @inheritDoc */
- public function width() {
+ public function width(): int {
return $this->width;
}
/** @inheritDoc */
- public function height() {
+ public function height(): int {
return $this->height;
}
- public function widthTopLeft() {
+ public function widthTopLeft(): int {
throw new \BadMethodCallException('Not implemented');
}
- public function heightTopLeft() {
+ public function heightTopLeft(): int {
throw new \BadMethodCallException('Not implemented');
}
- public function show($mimeType = null) {
+ public function show(?string $mimeType = null): bool {
throw new \BadMethodCallException('Not implemented');
}
- public function save($filePath = null, $mimeType = null) {
+ public function save(?string $filePath = null, ?string $mimeType = null): bool {
throw new \BadMethodCallException('Not implemented');
}
@@ -94,23 +94,23 @@ class StreamImage implements IStreamImage {
return $this->stream;
}
- public function dataMimeType() {
+ public function dataMimeType(): ?string {
return $this->mimeType;
}
- public function data() {
+ public function data(): ?string {
return '';
}
- public function getOrientation() {
+ public function getOrientation(): int {
throw new \BadMethodCallException('Not implemented');
}
- public function fixOrientation() {
+ public function fixOrientation(): bool {
throw new \BadMethodCallException('Not implemented');
}
- public function resize($maxSize) {
+ public function resize(int $maxSize): bool {
throw new \BadMethodCallException('Not implemented');
}
@@ -118,7 +118,7 @@ class StreamImage implements IStreamImage {
throw new \BadMethodCallException('Not implemented');
}
- public function centerCrop($size = 0) {
+ public function centerCrop(int $size = 0): bool {
throw new \BadMethodCallException('Not implemented');
}
@@ -126,11 +126,11 @@ class StreamImage implements IStreamImage {
throw new \BadMethodCallException('Not implemented');
}
- public function fitIn($maxWidth, $maxHeight) {
+ public function fitIn(int $maxWidth, int $maxHeight): bool {
throw new \BadMethodCallException('Not implemented');
}
- public function scaleDownToFit($maxWidth, $maxHeight) {
+ public function scaleDownToFit(int $maxWidth, int $maxHeight): bool {
throw new \BadMethodCallException('Not implemented');
}
diff --git a/lib/private/Streamer.php b/lib/private/Streamer.php
index 88204be9805..db7d0024b5a 100644
--- a/lib/private/Streamer.php
+++ b/lib/private/Streamer.php
@@ -86,7 +86,7 @@ class Streamer {
} elseif ($request->isUserAgent($this->preferTarFor)) {
$this->streamerInstance = new TarStreamer();
} else {
- $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]);
+ $this->streamerInstance = new ZipStreamer(['zip64' => true]);
}
}
diff --git a/lib/private/Support/Subscription/Assertion.php b/lib/private/Support/Subscription/Assertion.php
new file mode 100644
index 00000000000..451afe83bd3
--- /dev/null
+++ b/lib/private/Support/Subscription/Assertion.php
@@ -0,0 +1,55 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright Copyright (c) 2022 Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @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 <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\Support\Subscription;
+
+use OCP\HintException;
+use OCP\L10N\IFactory;
+use OCP\Notification\IManager;
+use OCP\Support\Subscription\IAssertion;
+use OCP\Support\Subscription\IRegistry;
+
+class Assertion implements IAssertion {
+ private IRegistry $registry;
+ private IFactory $l10nFactory;
+ private IManager $notificationManager;
+
+ public function __construct(IRegistry $registry, IFactory $l10nFactory, IManager $notificationManager) {
+ $this->registry = $registry;
+ $this->l10nFactory = $l10nFactory;
+ $this->notificationManager = $notificationManager;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function createUserIsLegit(): void {
+ if ($this->registry->delegateIsHardUserLimitReached($this->notificationManager)) {
+ $l = $this->l10nFactory->get('lib');
+ throw new HintException($l->t('The user was not created because the user limit has been reached. Check your notifications to learn more.'));
+ }
+ }
+}
diff --git a/lib/private/Support/Subscription/Registry.php b/lib/private/Support/Subscription/Registry.php
index ba3642d021c..7aafa539a0b 100644
--- a/lib/private/Support/Subscription/Registry.php
+++ b/lib/private/Support/Subscription/Registry.php
@@ -34,15 +34,15 @@ use OCP\IGroupManager;
use OCP\IServerContainer;
use OCP\IUserManager;
use OCP\Notification\IManager;
-use OCP\User\Backend\ICountUsersBackend;
use OCP\Support\Subscription\Exception\AlreadyRegisteredException;
use OCP\Support\Subscription\IRegistry;
use OCP\Support\Subscription\ISubscription;
use OCP\Support\Subscription\ISupportedApps;
+use OCP\User\Backend\ICountMappedUsersBackend;
+use OCP\User\Backend\ICountUsersBackend;
use Psr\Log\LoggerInterface;
class Registry implements IRegistry {
-
/** @var ISubscription */
private $subscription = null;
@@ -189,7 +189,9 @@ class Registry implements IRegistry {
$userCount = 0;
$backends = $this->userManager->getBackends();
foreach ($backends as $backend) {
- if ($backend->implementsActions(Backend::COUNT_USERS)) {
+ if ($backend instanceof ICountMappedUsersBackend) {
+ $userCount += $backend->countMappedUsers();
+ } elseif ($backend->implementsActions(Backend::COUNT_USERS)) {
/** @var ICountUsersBackend $backend */
$backendUsers = $backend->countUsers();
if ($backendUsers !== false) {
@@ -215,19 +217,38 @@ class Registry implements IRegistry {
return $userCount;
}
- private function notifyAboutReachedUserLimit(IManager $notificationManager) {
+ private function notifyAboutReachedUserLimit(IManager $notificationManager): void {
$admins = $this->groupManager->get('admin')->getUsers();
- foreach ($admins as $admin) {
- $notification = $notificationManager->createNotification();
- $notification->setApp('core')
- ->setUser($admin->getUID())
- ->setDateTime(new \DateTime())
- ->setObject('user_limit_reached', '1')
- ->setSubject('user_limit_reached');
+ $notification = $notificationManager->createNotification();
+ $notification->setApp('core')
+ ->setObject('user_limit_reached', '1')
+ ->setSubject('user_limit_reached');
+
+ if ($notificationManager->getCount($notification) > 0
+ && !$this->reIssue()
+ ) {
+ return;
+ }
+
+ $notificationManager->markProcessed($notification);
+ $notification->setDateTime(new \DateTime());
+
+ foreach ($admins as $admin) {
+ $notification->setUser($admin->getUID());
$notificationManager->notify($notification);
}
$this->logger->warning('The user limit was reached and the new user was not created', ['app' => 'lib']);
}
+
+ protected function reIssue(): bool {
+ $lastNotification = (int)$this->config->getAppValue('lib', 'last_subscription_reminder', '0');
+
+ if ((time() - $lastNotification) >= 86400) {
+ $this->config->setAppValue('lib', 'last_subscription_reminder', (string)time());
+ return true;
+ }
+ return false;
+ }
}
diff --git a/lib/private/SystemConfig.php b/lib/private/SystemConfig.php
index 0bc6154fbc4..6cd0e4376c5 100644
--- a/lib/private/SystemConfig.php
+++ b/lib/private/SystemConfig.php
@@ -72,6 +72,10 @@ class SystemConfig {
'host' => true,
'password' => true,
],
+ 'redis.cluster' => [
+ 'seeds' => true,
+ 'password' => true,
+ ],
'objectstore' => [
'arguments' => [
// Legacy Swift (https://github.com/nextcloud/server/pull/17696#discussion_r341302207)
diff --git a/lib/private/TagManager.php b/lib/private/TagManager.php
index 8c9dca98c92..82c4dd2188d 100644
--- a/lib/private/TagManager.php
+++ b/lib/private/TagManager.php
@@ -28,26 +28,30 @@ namespace OC;
use OC\Tagging\TagMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
use OCP\IDBConnection;
use OCP\ITagManager;
use OCP\ITags;
use OCP\IUserSession;
+use OCP\User\Events\UserDeletedEvent;
+use OCP\Db\Exception as DBException;
+use Psr\Log\LoggerInterface;
-class TagManager implements ITagManager {
-
- /** @var TagMapper */
- private $mapper;
-
- /** @var IUserSession */
- private $userSession;
-
- /** @var IDBConnection */
- private $connection;
+/**
+ * @template-implements IEventListener<UserDeletedEvent>
+ */
+class TagManager implements ITagManager, IEventListener {
+ private TagMapper $mapper;
+ private IUserSession $userSession;
+ private IDBConnection $connection;
+ private LoggerInterface $logger;
- public function __construct(TagMapper $mapper, IUserSession $userSession, IDBConnection $connection) {
+ public function __construct(TagMapper $mapper, IUserSession $userSession, IDBConnection $connection, LoggerInterface $logger) {
$this->mapper = $mapper;
$this->userSession = $userSession;
$this->connection = $connection;
+ $this->logger = $logger;
}
/**
@@ -72,7 +76,7 @@ class TagManager implements ITagManager {
}
$userId = $this->userSession->getUser()->getUId();
}
- return new Tags($this->mapper, $userId, $type, $defaultTags);
+ return new Tags($this->mapper, $userId, $type, $this->logger, $this->connection, $defaultTags);
}
/**
@@ -97,4 +101,57 @@ class TagManager implements ITagManager {
return $users;
}
+
+ public function handle(Event $event): void {
+ if (!($event instanceof UserDeletedEvent)) {
+ return;
+ }
+
+ // Find all objectid/tagId pairs.
+ $user = $event->getUser();
+ $qb = $this->connection->getQueryBuilder();
+ $qb->select('id')
+ ->from('vcategory')
+ ->where($qb->expr()->eq('uid', $qb->createNamedParameter($user->getUID())));
+ try {
+ $result = $qb->executeQuery();
+ } catch (DBException $e) {
+ $this->logger->error($e->getMessage(), [
+ 'app' => 'core',
+ 'exception' => $e,
+ ]);
+ return;
+ }
+
+ $tagsIds = array_map(fn (array $row) => (int)$row['id'], $result->fetchAll());
+ $result->closeCursor();
+
+ if (count($tagsIds) === 0) {
+ return;
+ }
+
+ // Clean vcategory_to_object table
+ $qb = $this->connection->getQueryBuilder();
+ $qb = $qb->delete('vcategory_to_object')
+ ->where($qb->expr()->in('categoryid', $qb->createParameter('chunk')));
+
+ // Clean vcategory
+ $qb1 = $this->connection->getQueryBuilder();
+ $qb1 = $qb1->delete('vcategory')
+ ->where($qb1->expr()->in('uid', $qb1->createParameter('chunk')));
+
+ foreach (array_chunk($tagsIds, 1000) as $tagChunk) {
+ $qb->setParameter('chunk', $tagChunk, IQueryBuilder::PARAM_INT_ARRAY);
+ $qb1->setParameter('chunk', $tagChunk, IQueryBuilder::PARAM_INT_ARRAY);
+ try {
+ $qb->executeStatement();
+ $qb1->executeStatement();
+ } catch (DBException $e) {
+ $this->logger->error($e->getMessage(), [
+ 'app' => 'core',
+ 'exception' => $e,
+ ]);
+ }
+ }
+ }
}
diff --git a/lib/private/Tagging/TagMapper.php b/lib/private/Tagging/TagMapper.php
index f6179331e11..808fce2eeae 100644
--- a/lib/private/Tagging/TagMapper.php
+++ b/lib/private/Tagging/TagMapper.php
@@ -26,14 +26,14 @@
namespace OC\Tagging;
use OCP\AppFramework\Db\DoesNotExistException;
-use OCP\AppFramework\Db\Mapper;
+use OCP\AppFramework\Db\QBMapper;
use OCP\IDBConnection;
+use OCP\DB\QueryBuilder\IQueryBuilder;
/**
* Mapper for Tag entity
*/
-class TagMapper extends Mapper {
-
+class TagMapper extends QBMapper {
/**
* Constructor.
*
@@ -46,31 +46,34 @@ class TagMapper extends Mapper {
/**
* Load tags from the database.
*
- * @param array|string $owners The user(s) whose tags we are going to load.
+ * @param array $owners The user(s) whose tags we are going to load.
* @param string $type The type of item for which we are loading tags.
* @return array An array of Tag objects.
*/
- public function loadTags($owners, $type) {
- if (!is_array($owners)) {
- $owners = [$owners];
- }
-
- $sql = 'SELECT `id`, `uid`, `type`, `category` FROM `' . $this->getTableName() . '` '
- . 'WHERE `uid` IN (' . str_repeat('?,', count($owners) - 1) . '?) AND `type` = ? ORDER BY `category`';
- return $this->findEntities($sql, array_merge($owners, [$type]));
+ public function loadTags(array $owners, string $type): array {
+ $qb = $this->db->getQueryBuilder();
+ $qb->select(['id', 'uid', 'type', 'category'])
+ ->from($this->getTableName())
+ ->where($qb->expr()->in('uid', $qb->createNamedParameter($owners, IQueryBuilder::PARAM_STR_ARRAY)))
+ ->andWhere($qb->expr()->eq('type', $qb->createNamedParameter($type, IQueryBuilder::PARAM_STR)))
+ ->orderBy('category');
+ return $this->findEntities($qb);
}
/**
* Check if a given Tag object already exists in the database.
*
* @param Tag $tag The tag to look for in the database.
- * @return bool
*/
- public function tagExists($tag) {
- $sql = 'SELECT `id`, `uid`, `type`, `category` FROM `' . $this->getTableName() . '` '
- . 'WHERE `uid` = ? AND `type` = ? AND `category` = ?';
+ public function tagExists(Tag $tag): bool {
+ $qb = $this->db->getQueryBuilder();
+ $qb->select(['id', 'uid', 'type', 'category'])
+ ->from($this->getTableName())
+ ->where($qb->expr()->eq('uid', $qb->createNamedParameter($tag->getOwner(), IQueryBuilder::PARAM_STR)))
+ ->andWhere($qb->expr()->eq('type', $qb->createNamedParameter($tag->getType(), IQueryBuilder::PARAM_STR)))
+ ->andWhere($qb->expr()->eq('category', $qb->createNamedParameter($tag->getName(), IQueryBuilder::PARAM_STR)));
try {
- $this->findEntity($sql, [$tag->getOwner(), $tag->getType(), $tag->getName()]);
+ $this->findEntity($qb);
} catch (DoesNotExistException $e) {
return false;
}
diff --git a/lib/private/Tags.php b/lib/private/Tags.php
index c11d83e41cf..8da1e7edc3b 100644
--- a/lib/private/Tags.php
+++ b/lib/private/Tags.php
@@ -32,72 +32,49 @@ namespace OC;
use OC\Tagging\Tag;
use OC\Tagging\TagMapper;
+use OCP\DB\Exception;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IDBConnection;
use OCP\ILogger;
use OCP\ITags;
+use OCP\Share_Backend;
+use Psr\Log\LoggerInterface;
class Tags implements ITags {
-
- /**
- * Tags
- *
- * @var array
- */
- private $tags = [];
-
/**
* Used for storing objectid/categoryname pairs while rescanning.
- *
- * @var array
*/
- private static $relations = [];
-
- /**
- * Type
- *
- * @var string
- */
- private $type;
-
- /**
- * User
- *
- * @var string
- */
- private $user;
+ private static array $relations = [];
+ private string $type;
+ private string $user;
+ private IDBConnection $db;
+ private LoggerInterface $logger;
+ private array $tags = [];
/**
* Are we including tags for shared items?
- *
- * @var bool
*/
- private $includeShared = false;
+ private bool $includeShared = false;
/**
* The current user, plus any owners of the items shared with the current
* user, if $this->includeShared === true.
- *
- * @var array
*/
- private $owners = [];
+ private array $owners = [];
/**
- * The Mapper we're using to communicate our Tag objects to the database.
- *
- * @var TagMapper
+ * The Mapper we are using to communicate our Tag objects to the database.
*/
- private $mapper;
+ private TagMapper $mapper;
/**
* The sharing backend for objects of $this->type. Required if
* $this->includeShared === true to determine ownership of items.
- *
- * @var \OCP\Share_Backend
*/
- private $backend;
+ private ?Share_Backend $backend = null;
- public const TAG_TABLE = '*PREFIX*vcategory';
- public const RELATION_TABLE = '*PREFIX*vcategory_to_object';
+ public const TAG_TABLE = 'vcategory';
+ public const RELATION_TABLE = 'vcategory_to_object';
/**
* Constructor.
@@ -109,12 +86,14 @@ class Tags implements ITags {
*
* since 20.0.0 $includeShared isn't used anymore
*/
- public function __construct(TagMapper $mapper, $user, $type, $defaultTags = []) {
+ public function __construct(TagMapper $mapper, string $user, string $type, LoggerInterface $logger, IDBConnection $connection, array $defaultTags = []) {
$this->mapper = $mapper;
$this->user = $user;
$this->type = $type;
$this->owners = [$this->user];
$this->tags = $this->mapper->loadTags($this->owners, $this->type);
+ $this->db = $connection;
+ $this->logger = $logger;
if (count($defaultTags) > 0 && count($this->tags) === 0) {
$this->addMultiple($defaultTags, true);
@@ -126,7 +105,7 @@ class Tags implements ITags {
*
* @return boolean
*/
- public function isEmpty() {
+ public function isEmpty(): bool {
return count($this->tags) === 0;
}
@@ -137,7 +116,7 @@ class Tags implements ITags {
* @param string $id The ID of the tag that is going to be mapped
* @return array|false
*/
- public function getTag($id) {
+ public function getTag(string $id) {
$key = $this->getTagById($id);
if ($key !== false) {
return $this->tagMap($this->tags[$key]);
@@ -154,9 +133,9 @@ class Tags implements ITags {
* ['id' => 1, 'name' = 'Shared tag', 'owner' = 'Other user', 'type' => 'tagtype'],
* ]
*
- * @return array
+ * @return array<array-key, array{id: int, name: string}>
*/
- public function getTags() {
+ public function getTags(): array {
if (!count($this->tags)) {
return [];
}
@@ -181,7 +160,7 @@ class Tags implements ITags {
* @param string $user The user whose tags are to be checked.
* @return array An array of Tag objects.
*/
- public function getTagsForUser($user) {
+ public function getTagsForUser(string $user): array {
return array_filter($this->tags,
function ($tag) use ($user) {
return $tag->getOwner() === $user;
@@ -193,23 +172,26 @@ class Tags implements ITags {
* Get the list of tags for the given ids.
*
* @param array $objIds array of object ids
- * @return array|boolean of tags id as key to array of tag names
+ * @return array|false of tags id as key to array of tag names
* or false if an error occurred
*/
public function getTagsForObjects(array $objIds) {
$entries = [];
try {
- $conn = \OC::$server->getDatabaseConnection();
$chunks = array_chunk($objIds, 900, false);
+ $qb = $this->db->getQueryBuilder();
+ $qb->select('category', 'categoryid', 'objid')
+ ->from(self::RELATION_TABLE, 'r')
+ ->join('r', self::TAG_TABLE, 't', $qb->expr()->eq('r.categoryid', 't.id'))
+ ->where($qb->expr()->eq('uid', $qb->createParameter('uid')))
+ ->andWhere($qb->expr()->eq('r.type', $qb->createParameter('type')))
+ ->andWhere($qb->expr()->in('objid', $qb->createParameter('chunk')));
foreach ($chunks as $chunk) {
- $result = $conn->executeQuery(
- 'SELECT `category`, `categoryid`, `objid` ' .
- 'FROM `' . self::RELATION_TABLE . '` r, `' . self::TAG_TABLE . '` ' .
- 'WHERE `categoryid` = `id` AND `uid` = ? AND r.`type` = ? AND `objid` IN (?)',
- [$this->user, $this->type, $chunk],
- [null, null, IQueryBuilder::PARAM_INT_ARRAY]
- );
+ $qb->setParameter('uid', $this->user, IQueryBuilder::PARAM_STR);
+ $qb->setParameter('type', $this->type, IQueryBuilder::PARAM_STR);
+ $qb->setParameter('chunk', $chunk, IQueryBuilder::PARAM_INT_ARRAY);
+ $result = $qb->executeQuery();
while ($row = $result->fetch()) {
$objId = (int)$row['objid'];
if (!isset($entries[$objId])) {
@@ -217,11 +199,11 @@ class Tags implements ITags {
}
$entries[$objId][] = $row['category'];
}
+ $result->closeCursor();
}
} catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
+ $this->logger->error($e->getMessage(), [
+ 'exception' => $e,
'app' => 'core',
]);
return false;
@@ -236,18 +218,17 @@ class Tags implements ITags {
* Throws an exception if the tag could not be found.
*
* @param string $tag Tag id or name.
- * @return array|false An array of object ids or false on error.
+ * @return int[]|false An array of object ids or false on error.
* @throws \Exception
*/
public function getIdsForTag($tag) {
- $result = null;
$tagId = false;
if (is_numeric($tag)) {
$tagId = $tag;
} elseif (is_string($tag)) {
$tag = trim($tag);
if ($tag === '') {
- \OCP\Util::writeLog('core', __METHOD__.', Cannot use empty tag names', ILogger::DEBUG);
+ $this->logger->debug(__METHOD__ . ' Cannot use empty tag names', ['app' => 'core']);
return false;
}
$tagId = $this->getTagId($tag);
@@ -261,32 +242,24 @@ class Tags implements ITags {
}
$ids = [];
- $sql = 'SELECT `objid` FROM `' . self::RELATION_TABLE
- . '` WHERE `categoryid` = ?';
-
try {
- $stmt = \OC_DB::prepare($sql);
- $result = $stmt->execute([$tagId]);
- if ($result === null) {
- $stmt->closeCursor();
- \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OC::$server->getDatabaseConnection()->getError(), ILogger::ERROR);
- return false;
- }
- } catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
+ $qb = $this->db->getQueryBuilder();
+ $qb->select('objid')
+ ->from(self::RELATION_TABLE)
+ ->where($qb->expr()->eq('categoryid', $qb->createNamedParameter($tagId, IQueryBuilder::PARAM_STR)));
+ $result = $qb->executeQuery();
+ } catch (Exception $e) {
+ $this->logger->error($e->getMessage(), [
'app' => 'core',
+ 'exception' => $e,
]);
return false;
}
- if (!is_null($result)) {
- while ($row = $result->fetchRow()) {
- $ids[] = (int)$row['objid'];
- }
- $result->closeCursor();
+ while ($row = $result->fetch()) {
+ $ids[] = (int)$row['objid'];
}
+ $result->closeCursor();
return $ids;
}
@@ -297,9 +270,8 @@ class Tags implements ITags {
*
* @param string $name The tag name to check for.
* @param string $user The user whose tags are to be checked.
- * @return bool
*/
- public function userHasTag($name, $user) {
+ public function userHasTag(string $name, string $user): bool {
$key = $this->array_searchi($name, $this->getTagsForUser($user));
return ($key !== false) ? $this->tags[$key]->getId() : false;
}
@@ -308,9 +280,8 @@ class Tags implements ITags {
* Checks whether a tag is saved for or shared with the current user.
*
* @param string $name The tag name to check for.
- * @return bool
*/
- public function hasTag($name) {
+ public function hasTag(string $name): bool {
return $this->getTagId($name) !== false;
}
@@ -320,15 +291,16 @@ class Tags implements ITags {
* @param string $name A string with a name of the tag
* @return false|int the id of the added tag or false on error.
*/
- public function add($name) {
+ public function add(string $name) {
$name = trim($name);
if ($name === '') {
- \OCP\Util::writeLog('core', __METHOD__.', Cannot add an empty tag', ILogger::DEBUG);
+ $this->logger->debug(__METHOD__ . ' Cannot add an empty tag', ['app' => 'core']);
return false;
}
if ($this->userHasTag($name, $this->user)) {
- \OCP\Util::writeLog('core', __METHOD__.', name: ' . $name. ' exists already', ILogger::DEBUG);
+ // TODO use unique db properties instead of an additional check
+ $this->logger->debug(__METHOD__ . ' Tag with name already exists', ['app' => 'core']);
return false;
}
try {
@@ -336,14 +308,13 @@ class Tags implements ITags {
$tag = $this->mapper->insert($tag);
$this->tags[] = $tag;
} catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
+ $this->logger->error($e->getMessage(), [
+ 'exception' => $e,
'app' => 'core',
]);
return false;
}
- \OCP\Util::writeLog('core', __METHOD__.', id: ' . $tag->getId(), ILogger::DEBUG);
+ $this->logger->debug(__METHOD__ . ' Added an tag with ' . $tag->getId(), ['app' => 'core']);
return $tag->getId();
}
@@ -354,12 +325,12 @@ class Tags implements ITags {
* @param string $to The new name of the tag.
* @return bool
*/
- public function rename($from, $to) {
+ public function rename($from, string $to): bool {
$from = trim($from);
$to = trim($to);
if ($to === '' || $from === '') {
- \OCP\Util::writeLog('core', __METHOD__.', Cannot use empty tag names', ILogger::DEBUG);
+ $this->logger->debug(__METHOD__ . 'Cannot use an empty tag names', ['app' => 'core']);
return false;
}
@@ -369,13 +340,13 @@ class Tags implements ITags {
$key = $this->getTagByName($from);
}
if ($key === false) {
- \OCP\Util::writeLog('core', __METHOD__.', tag: ' . $from. ' does not exist', ILogger::DEBUG);
+ $this->logger->debug(__METHOD__ . 'Tag ' . $from . 'does not exist', ['app' => 'core']);
return false;
}
$tag = $this->tags[$key];
if ($this->userHasTag($to, $tag->getOwner())) {
- \OCP\Util::writeLog('core', __METHOD__.', A tag named ' . $to. ' already exists for user ' . $tag->getOwner() . '.', ILogger::DEBUG);
+ $this->logger->debug(__METHOD__ . 'A tag named' . $to . 'already exists for user' . $tag->getOwner(), ['app' => 'core']);
return false;
}
@@ -383,9 +354,8 @@ class Tags implements ITags {
$tag->setName($to);
$this->tags[$key] = $this->mapper->update($tag);
} catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
+ $this->logger->error($e->getMessage(), [
+ 'exception' => $e,
'app' => 'core',
]);
return false;
@@ -396,13 +366,13 @@ class Tags implements ITags {
/**
* Add a list of new tags.
*
- * @param string[] $names A string with a name or an array of strings containing
+ * @param string|string[] $names A string with a name or an array of strings containing
* the name(s) of the tag(s) to add.
* @param bool $sync When true, save the tags
* @param int|null $id int Optional object id to add to this|these tag(s)
* @return bool Returns false on error.
*/
- public function addMultiple($names, $sync = false, $id = null) {
+ public function addMultiple($names, bool $sync = false, ?int $id = null): bool {
if (!is_array($names)) {
$names = [$names];
}
@@ -430,122 +400,50 @@ class Tags implements ITags {
/**
* Save the list of tags and their object relations
*/
- protected function save() {
- if (is_array($this->tags)) {
- foreach ($this->tags as $tag) {
- try {
- if (!$this->mapper->tagExists($tag)) {
- $this->mapper->insert($tag);
- }
- } catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
- 'app' => 'core',
- ]);
- }
- }
-
- // reload tags to get the proper ids.
- $this->tags = $this->mapper->loadTags($this->owners, $this->type);
- \OCP\Util::writeLog('core', __METHOD__.', tags: ' . print_r($this->tags, true),
- ILogger::DEBUG);
- // Loop through temporarily cached objectid/tagname pairs
- // and save relations.
- $tags = $this->tags;
- // For some reason this is needed or array_search(i) will return 0..?
- ksort($tags);
- $dbConnection = \OC::$server->getDatabaseConnection();
- foreach (self::$relations as $relation) {
- $tagId = $this->getTagId($relation['tag']);
- \OCP\Util::writeLog('core', __METHOD__ . 'catid, ' . $relation['tag'] . ' ' . $tagId, ILogger::DEBUG);
- if ($tagId) {
- try {
- $dbConnection->insertIfNotExist(self::RELATION_TABLE,
- [
- 'objid' => $relation['objid'],
- 'categoryid' => $tagId,
- 'type' => $this->type,
- ]);
- } catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
- 'app' => 'core',
- ]);
- }
- }
- }
- self::$relations = []; // reset
- } else {
- \OCP\Util::writeLog('core', __METHOD__.', $this->tags is not an array! '
- . print_r($this->tags, true), ILogger::ERROR);
- }
- }
-
- /**
- * Delete tags and tag/object relations for a user.
- *
- * For hooking up on post_deleteUser
- *
- * @param array $arguments
- */
- public static function post_deleteUser($arguments) {
- // Find all objectid/tagId pairs.
- $result = null;
- try {
- $stmt = \OC_DB::prepare('SELECT `id` FROM `' . self::TAG_TABLE . '` '
- . 'WHERE `uid` = ?');
- $result = $stmt->execute([$arguments['uid']]);
- if ($result === null) {
- \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OC::$server->getDatabaseConnection()->getError(), ILogger::ERROR);
- }
- } catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
- 'app' => 'core',
- ]);
- }
-
- if (!is_null($result)) {
+ protected function save(): void {
+ foreach ($this->tags as $tag) {
try {
- $stmt = \OC_DB::prepare('DELETE FROM `' . self::RELATION_TABLE . '` '
- . 'WHERE `categoryid` = ?');
- while ($row = $result->fetchRow()) {
- try {
- $stmt->execute([$row['id']]);
- } catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
- 'app' => 'core',
- ]);
- }
+ if (!$this->mapper->tagExists($tag)) {
+ $this->mapper->insert($tag);
}
- $result->closeCursor();
} catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
+ $this->logger->error($e->getMessage(), [
+ 'exception' => $e,
'app' => 'core',
]);
}
}
- try {
- $stmt = \OC_DB::prepare('DELETE FROM `' . self::TAG_TABLE . '` '
- . 'WHERE `uid` = ?');
- $result = $stmt->execute([$arguments['uid']]);
- if ($result === null) {
- \OCP\Util::writeLog('core', __METHOD__. ', DB error: ' . \OC::$server->getDatabaseConnection()->getError(), ILogger::ERROR);
+
+ // reload tags to get the proper ids.
+ $this->tags = $this->mapper->loadTags($this->owners, $this->type);
+ $this->logger->debug(__METHOD__ . 'tags' . print_r($this->tags, true), ['app' => 'core']);
+ // Loop through temporarily cached objectid/tagname pairs
+ // and save relations.
+ $tags = $this->tags;
+ // For some reason this is needed or array_search(i) will return 0..?
+ ksort($tags);
+ foreach (self::$relations as $relation) {
+ $tagId = $this->getTagId($relation['tag']);
+ $this->logger->debug(__METHOD__ . 'catid ' . $relation['tag'] . ' ' . $tagId, ['app' => 'core']);
+ if ($tagId) {
+ $qb = $this->db->getQueryBuilder();
+ $qb->insert(self::RELATION_TABLE)
+ ->values([
+ 'objid' => $qb->createNamedParameter($relation['objid'], IQueryBuilder::PARAM_INT),
+ 'categoryid' => $qb->createNamedParameter($tagId, IQueryBuilder::PARAM_INT),
+ 'type' => $qb->createNamedParameter($this->type),
+ ]);
+ try {
+ $qb->executeStatement();
+ } catch (Exception $e) {
+ $this->logger->error($e->getMessage(), [
+ 'exception' => $e,
+ 'app' => 'core',
+ ]);
+ }
}
- } catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
- 'app' => 'core',
- ]);
}
+ self::$relations = []; // reset
}
/**
@@ -554,28 +452,21 @@ class Tags implements ITags {
* @param array $ids The ids of the objects
* @return boolean Returns false on error.
*/
- public function purgeObjects(array $ids) {
+ public function purgeObjects(array $ids): bool {
if (count($ids) === 0) {
// job done ;)
return true;
}
$updates = $ids;
+ $qb = $this->db->getQueryBuilder();
+ $qb->delete(self::RELATION_TABLE)
+ ->where($qb->expr()->in('objid', $qb->createNamedParameter($ids)));
try {
- $query = 'DELETE FROM `' . self::RELATION_TABLE . '` ';
- $query .= 'WHERE `objid` IN (' . str_repeat('?,', count($ids) - 1) . '?) ';
- $query .= 'AND `type`= ?';
- $updates[] = $this->type;
- $stmt = \OC_DB::prepare($query);
- $result = $stmt->execute($updates);
- if ($result === null) {
- \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OC::$server->getDatabaseConnection()->getError(), ILogger::ERROR);
- return false;
- }
- } catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
+ $qb->executeStatement();
+ } catch (Exception $e) {
+ $this->logger->error($e->getMessage(), [
'app' => 'core',
+ 'exception' => $e,
]);
return false;
}
@@ -648,18 +539,19 @@ class Tags implements ITags {
} else {
$tagId = $tag;
}
+ $qb = $this->db->getQueryBuilder();
+ $qb->insert(self::RELATION_TABLE)
+ ->values([
+ 'objid' => $qb->createNamedParameter($objid, IQueryBuilder::PARAM_INT),
+ 'categoryid' => $qb->createNamedParameter($tagId, IQueryBuilder::PARAM_INT),
+ 'type' => $qb->createNamedParameter($this->type, IQueryBuilder::PARAM_STR),
+ ]);
try {
- \OC::$server->getDatabaseConnection()->insertIfNotExist(self::RELATION_TABLE,
- [
- 'objid' => $objid,
- 'categoryid' => $tagId,
- 'type' => $this->type,
- ]);
+ $qb->executeStatement();
} catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
+ \OC::$server->getLogger()->error($e->getMessage(), [
'app' => 'core',
+ 'exception' => $e,
]);
return false;
}
@@ -686,15 +578,17 @@ class Tags implements ITags {
}
try {
- $sql = 'DELETE FROM `' . self::RELATION_TABLE . '` '
- . 'WHERE `objid` = ? AND `categoryid` = ? AND `type` = ?';
- $stmt = \OC_DB::prepare($sql);
- $stmt->execute([$objid, $tagId, $this->type]);
+ $qb = $this->db->getQueryBuilder();
+ $qb->delete(self::RELATION_TABLE)
+ ->where($qb->expr()->andX(
+ $qb->expr()->eq('objid', $qb->createNamedParameter($objid)),
+ $qb->expr()->eq('categoryid', $qb->createNamedParameter($tagId)),
+ $qb->expr()->eq('type', $qb->createNamedParameter($this->type)),
+ ))->executeStatement();
} catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
+ $this->logger->error($e->getMessage(), [
'app' => 'core',
+ 'exception' => $e,
]);
return false;
}
@@ -736,21 +630,14 @@ class Tags implements ITags {
}
if (!is_null($id) && $id !== false) {
try {
- $sql = 'DELETE FROM `' . self::RELATION_TABLE . '` '
- . 'WHERE `categoryid` = ?';
- $stmt = \OC_DB::prepare($sql);
- $result = $stmt->execute([$id]);
- if ($result === null) {
- \OCP\Util::writeLog('core',
- __METHOD__. 'DB error: ' . \OC::$server->getDatabaseConnection()->getError(),
- ILogger::ERROR);
- return false;
- }
+ $qb = $this->db->getQueryBuilder();
+ $qb->delete(self::RELATION_TABLE)
+ ->where($qb->expr()->eq('categoryid', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT)))
+ ->executeStatement();
} catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => __METHOD__,
- 'level' => ILogger::ERROR,
+ $this->logger->error($e->getMessage(), [
'app' => 'core',
+ 'exception' => $e,
]);
return false;
}
diff --git a/lib/private/Talk/Broker.php b/lib/private/Talk/Broker.php
index a686adeed04..12e6c5fb34b 100644
--- a/lib/private/Talk/Broker.php
+++ b/lib/private/Talk/Broker.php
@@ -106,4 +106,12 @@ class Broker implements IBroker {
$options ?? ConversationOptions::default()
);
}
+
+ public function deleteConversation(string $id): void {
+ if (!$this->hasBackend()) {
+ throw new NoBackendException("The Talk broker has no registered backend");
+ }
+
+ $this->backend->deleteConversation($id);
+ }
}
diff --git a/lib/private/Template/Base.php b/lib/private/Template/Base.php
index 2de8c7ad5b1..71ce2ed9d86 100644
--- a/lib/private/Template/Base.php
+++ b/lib/private/Template/Base.php
@@ -92,7 +92,7 @@ class Base {
/**
* Assign variables
* @param string $key key
- * @param array|bool|integer|string|Throwable $value value
+ * @param float|array|bool|integer|string|Throwable $value value
* @return bool
*
* This function assigns a variable. It can be accessed via $_[$key] in
diff --git a/lib/private/Template/CSSResourceLocator.php b/lib/private/Template/CSSResourceLocator.php
index 2cbf12ce65d..5047b3e906f 100644
--- a/lib/private/Template/CSSResourceLocator.php
+++ b/lib/private/Template/CSSResourceLocator.php
@@ -34,14 +34,8 @@ namespace OC\Template;
use Psr\Log\LoggerInterface;
class CSSResourceLocator extends ResourceLocator {
-
- /**
- * @param string $theme
- * @param array $core_map
- * @param array $party_map
- */
- public function __construct(LoggerInterface $logger, $theme, $core_map, $party_map) {
- parent::__construct($logger, $theme, $core_map, $party_map);
+ public function __construct(LoggerInterface $logger) {
+ parent::__construct($logger);
}
/**
@@ -50,8 +44,7 @@ class CSSResourceLocator extends ResourceLocator {
public function doFind($style) {
$app = substr($style, 0, strpos($style, '/'));
if (strpos($style, '3rdparty') === 0
- && $this->appendIfExist($this->thirdpartyroot, $style.'.css')
- || $this->appendIfExist($this->serverroot, $style.'.css')
+ && $this->appendIfExist($this->serverroot, $style.'.css')
|| $this->appendIfExist($this->serverroot, 'core/'.$style.'.css')
) {
return;
diff --git a/lib/private/Template/JSCombiner.php b/lib/private/Template/JSCombiner.php
index a6d9f0ee558..c075e65d76a 100644
--- a/lib/private/Template/JSCombiner.php
+++ b/lib/private/Template/JSCombiner.php
@@ -198,7 +198,7 @@ class JSCombiner {
$gzipFile->putContent(gzencode($res, 9));
$this->logger->debug('JSCombiner: successfully cached: ' . $fileName);
return true;
- } catch (NotPermittedException $e) {
+ } catch (NotPermittedException|NotFoundException $e) {
$this->logger->error('JSCombiner: unable to cache: ' . $fileName);
return false;
}
diff --git a/lib/private/Template/JSConfigHelper.php b/lib/private/Template/JSConfigHelper.php
index 61f0c4e39cd..7b6d0a6a346 100644
--- a/lib/private/Template/JSConfigHelper.php
+++ b/lib/private/Template/JSConfigHelper.php
@@ -166,20 +166,20 @@ class JSConfigHelper {
$capabilities = $this->capabilitiesManager->getCapabilities(false, true);
$config = [
- 'session_lifetime' => min($this->config->getSystemValue('session_lifetime', $this->iniWrapper->getNumeric('session.gc_maxlifetime')), $this->iniWrapper->getNumeric('session.gc_maxlifetime')),
- 'session_keepalive' => $this->config->getSystemValue('session_keepalive', true),
'auto_logout' => $this->config->getSystemValue('auto_logout', false),
- 'version' => implode('.', Util::getVersion()),
- 'versionstring' => \OC_Util::getVersionString(),
- 'enable_avatars' => true, // here for legacy reasons - to not crash existing code that relies on this value
- 'lost_password_link' => $this->config->getSystemValue('lost_password_link', null),
- 'modRewriteWorking' => $this->config->getSystemValue('htaccess.IgnoreFrontController', false) === true || getenv('front_controller_active') === 'true',
- 'sharing.maxAutocompleteResults' => max(0, $this->config->getSystemValueInt('sharing.maxAutocompleteResults', Constants::SHARING_MAX_AUTOCOMPLETE_RESULTS_DEFAULT)),
- 'sharing.minSearchStringLength' => $this->config->getSystemValueInt('sharing.minSearchStringLength', 0),
'blacklist_files_regex' => FileInfo::BLACKLIST_FILES_REGEX,
'loglevel' => $this->config->getSystemValue('loglevel_frontend',
$this->config->getSystemValue('loglevel', ILogger::WARN)
),
+ 'lost_password_link' => $this->config->getSystemValue('lost_password_link', null),
+ 'modRewriteWorking' => $this->config->getSystemValue('htaccess.IgnoreFrontController', false) === true || getenv('front_controller_active') === 'true',
+ 'no_unsupported_browser_warning' => $this->config->getSystemValue('no_unsupported_browser_warning', false),
+ 'session_keepalive' => $this->config->getSystemValue('session_keepalive', true),
+ 'session_lifetime' => min($this->config->getSystemValue('session_lifetime', $this->iniWrapper->getNumeric('session.gc_maxlifetime')), $this->iniWrapper->getNumeric('session.gc_maxlifetime')),
+ 'sharing.maxAutocompleteResults' => max(0, $this->config->getSystemValueInt('sharing.maxAutocompleteResults', Constants::SHARING_MAX_AUTOCOMPLETE_RESULTS_DEFAULT)),
+ 'sharing.minSearchStringLength' => $this->config->getSystemValueInt('sharing.minSearchStringLength', 0),
+ 'version' => implode('.', Util::getVersion()),
+ 'versionstring' => \OC_Util::getVersionString()
];
$array = [
diff --git a/lib/private/Template/JSResourceLocator.php b/lib/private/Template/JSResourceLocator.php
index 9e76655aba2..88323af75de 100644
--- a/lib/private/Template/JSResourceLocator.php
+++ b/lib/private/Template/JSResourceLocator.php
@@ -34,8 +34,8 @@ class JSResourceLocator extends ResourceLocator {
/** @var JSCombiner */
protected $jsCombiner;
- public function __construct(LoggerInterface $logger, $theme, array $core_map, array $party_map, JSCombiner $JSCombiner) {
- parent::__construct($logger, $theme, $core_map, $party_map);
+ public function __construct(LoggerInterface $logger, JSCombiner $JSCombiner) {
+ parent::__construct($logger);
$this->jsCombiner = $JSCombiner;
}
@@ -45,10 +45,6 @@ class JSResourceLocator extends ResourceLocator {
*/
public function doFind($script) {
$theme_dir = 'themes/'.$this->theme.'/';
- if (strpos($script, '3rdparty') === 0
- && $this->appendIfExist($this->thirdpartyroot, $script.'.js')) {
- return;
- }
// Extracting the appId and the script file name
$app = substr($script, 0, strpos($script, '/'));
diff --git a/lib/private/Template/ResourceLocator.php b/lib/private/Template/ResourceLocator.php
index 5a50cc6fd1b..9e6e2056e6b 100755
--- a/lib/private/Template/ResourceLocator.php
+++ b/lib/private/Template/ResourceLocator.php
@@ -36,25 +36,20 @@ abstract class ResourceLocator {
protected $mapping;
protected $serverroot;
- protected $thirdpartyroot;
protected $webroot;
protected $resources = [];
protected LoggerInterface $logger;
- /**
- * @param string $theme
- * @param array $core_map
- * @param array $party_map
- */
- public function __construct(LoggerInterface $logger, $theme, $core_map, $party_map) {
+ public function __construct(LoggerInterface $logger) {
$this->logger = $logger;
- $this->theme = $theme;
- $this->mapping = $core_map + $party_map;
- $this->serverroot = key($core_map);
- $this->thirdpartyroot = key($party_map);
- $this->webroot = $this->mapping[$this->serverroot];
+ $this->mapping = [
+ \OC::$SERVERROOT => \OC::$WEBROOT
+ ];
+ $this->serverroot = \OC::$SERVERROOT;
+ $this->webroot = \OC::$WEBROOT;
+ $this->theme = \OC_Util::getTheme();
}
/**
diff --git a/lib/private/TemplateLayout.php b/lib/private/TemplateLayout.php
index d041db2a7c2..178bec9c8dc 100644
--- a/lib/private/TemplateLayout.php
+++ b/lib/private/TemplateLayout.php
@@ -44,8 +44,9 @@ namespace OC;
use bantu\IniGetWrapper\IniGetWrapper;
use OC\Search\SearchQuery;
-use OC\Template\JSCombiner;
+use OC\Template\CSSResourceLocator;
use OC\Template\JSConfigHelper;
+use OC\Template\JSResourceLocator;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\Defaults;
use OCP\IConfig;
@@ -54,11 +55,16 @@ use OCP\INavigationManager;
use OCP\IUserSession;
use OCP\Support\Subscription\IRegistry;
use OCP\Util;
-use Psr\Log\LoggerInterface;
class TemplateLayout extends \OC_Template {
private static $versionHash = '';
+ /** @var CSSResourceLocator|null */
+ public static $cssLocator = null;
+
+ /** @var JSResourceLocator|null */
+ public static $jsLocator = null;
+
/** @var IConfig */
private $config;
@@ -102,7 +108,7 @@ class TemplateLayout extends \OC_Template {
$this->initialState->provideInitialState('core', 'active-app', $this->navigationManager->getActiveEntry());
$this->initialState->provideInitialState('core', 'apps', $this->navigationManager->getAll());
$this->initialState->provideInitialState('unified-search', 'limit-default', (int)$this->config->getAppValue('core', 'unified-search.limit-default', (string)SearchQuery::LIMIT_DEFAULT));
- $this->initialState->provideInitialState('unified-search', 'min-search-length', (int)$this->config->getAppValue('core', 'unified-search.min-search-length', (string)2));
+ $this->initialState->provideInitialState('unified-search', 'min-search-length', (int)$this->config->getAppValue('core', 'unified-search.min-search-length', (string)1));
$this->initialState->provideInitialState('unified-search', 'live-search', $this->config->getAppValue('core', 'unified-search.live-search', 'yes') === 'yes');
Util::addScript('core', 'unified-search', 'core');
@@ -114,10 +120,6 @@ class TemplateLayout extends \OC_Template {
$this->assign('enabledThemes', $themesService->getEnabledThemes());
}
- // set logo link target
- $logoUrl = $this->config->getSystemValueString('logo_url', '');
- $this->assign('logoUrl', $logoUrl);
-
// Add navigation entry
$this->assign('application', '');
$this->assign('appid', $appId);
@@ -188,6 +190,11 @@ class TemplateLayout extends \OC_Template {
} else {
parent::__construct('core', 'layout.base');
}
+
+ // set logo link target
+ $logoUrl = $this->config->getSystemValueString('logo_url', '');
+ $this->assign('logoUrl', $logoUrl);
+
// Send the language and the locale to our layouts
$lang = \OC::$server->getL10NFactory()->findLanguage();
$locale = \OC::$server->getL10NFactory()->findLocale($lang);
@@ -332,17 +339,11 @@ class TemplateLayout extends \OC_Template {
* @return array
*/
public static function findStylesheetFiles($styles, $compileScss = true) {
- // Read the selected theme from the config file
- $theme = \OC_Util::getTheme();
-
- $locator = new \OC\Template\CSSResourceLocator(
- \OC::$server->get(LoggerInterface::class),
- $theme,
- [ \OC::$SERVERROOT => \OC::$WEBROOT ],
- [ \OC::$SERVERROOT => \OC::$WEBROOT ],
- );
- $locator->find($styles);
- return $locator->getResources();
+ if (!self::$cssLocator) {
+ self::$cssLocator = \OCP\Server::get(CSSResourceLocator::class);
+ }
+ self::$cssLocator->find($styles);
+ return self::$cssLocator->getResources();
}
/**
@@ -366,18 +367,11 @@ class TemplateLayout extends \OC_Template {
* @return array
*/
public static function findJavascriptFiles($scripts) {
- // Read the selected theme from the config file
- $theme = \OC_Util::getTheme();
-
- $locator = new \OC\Template\JSResourceLocator(
- \OC::$server->get(LoggerInterface::class),
- $theme,
- [ \OC::$SERVERROOT => \OC::$WEBROOT ],
- [ \OC::$SERVERROOT => \OC::$WEBROOT ],
- \OC::$server->query(JSCombiner::class)
- );
- $locator->find($scripts);
- return $locator->getResources();
+ if (!self::$jsLocator) {
+ self::$jsLocator = \OCP\Server::get(JSResourceLocator::class);
+ }
+ self::$jsLocator->find($scripts);
+ return self::$jsLocator->getResources();
}
/**
diff --git a/lib/private/Updater.php b/lib/private/Updater.php
index 78613ddbb0c..53b07e25809 100644
--- a/lib/private/Updater.php
+++ b/lib/private/Updater.php
@@ -138,6 +138,9 @@ class Updater extends BasicEmitter {
$success = true;
try {
+ if (PHP_INT_SIZE < 8 && version_compare($currentVersion, '26.0.0.0', '>=')) {
+ throw new HintException('You are running a 32-bit PHP version. Cannot upgrade to Nextcloud 26 and higher. Please switch to 64-bit PHP.');
+ }
$this->doUpgrade($currentVersion, $installedVersion);
} catch (HintException $exception) {
$this->log->error($exception->getMessage(), [
diff --git a/lib/private/User/Listeners/UserDeletedListener.php b/lib/private/User/Listeners/BeforeUserDeletedListener.php
index 7c9c46ef371..ec1f80c5413 100644
--- a/lib/private/User/Listeners/UserDeletedListener.php
+++ b/lib/private/User/Listeners/BeforeUserDeletedListener.php
@@ -25,15 +25,15 @@ namespace OC\User\Listeners;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
-use OCP\User\Events\UserDeletedEvent;
+use OCP\User\Events\BeforeUserDeletedEvent;
use OCP\Files\NotFoundException;
use OCP\IAvatarManager;
use Psr\Log\LoggerInterface;
/**
- * @template-implements IEventListener<UserDeletedEvent>
+ * @template-implements IEventListener<BeforeUserDeletedEvent>
*/
-class UserDeletedListener implements IEventListener {
+class BeforeUserDeletedListener implements IEventListener {
private IAvatarManager $avatarManager;
private LoggerInterface $logger;
@@ -43,10 +43,10 @@ class UserDeletedListener implements IEventListener {
}
public function handle(Event $event): void {
- if (!($event instanceof UserDeletedEvent)) {
+ if (!($event instanceof BeforeUserDeletedEvent)) {
return;
}
-
+
$user = $event->getUser();
// Delete avatar on user deletion
diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php
index be5151313c4..82fc4d818ad 100644
--- a/lib/private/User/Manager.php
+++ b/lib/private/User/Manager.php
@@ -44,8 +44,9 @@ use OCP\IGroup;
use OCP\IUser;
use OCP\IUserBackend;
use OCP\IUserManager;
-use OCP\Notification\IManager;
-use OCP\Support\Subscription\IRegistry;
+use OCP\L10N\IFactory;
+use OCP\Server;
+use OCP\Support\Subscription\IAssertion;
use OCP\User\Backend\IGetRealUIDBackend;
use OCP\User\Backend\ISearchKnownUsersBackend;
use OCP\User\Backend\ICheckPasswordBackend;
@@ -386,19 +387,15 @@ class Manager extends PublicEmitter implements IUserManager {
/**
* @param string $uid
* @param string $password
- * @throws \InvalidArgumentException
* @return false|IUser the created user or false
+ * @throws \InvalidArgumentException
+ * @throws HintException
*/
public function createUser($uid, $password) {
// DI injection is not used here as IRegistry needs the user manager itself for user count and thus it would create a cyclic dependency
- /** @var IRegistry $registry */
- $registry = \OC::$server->get(IRegistry::class);
- /** @var IManager $notificationManager */
- $notificationManager = \OC::$server->get(IManager::class);
- if ($registry->delegateIsHardUserLimitReached($notificationManager)) {
- $l = \OC::$server->getL10N('lib');
- throw new HintException($l->t('The user limit has been reached and the user was not created.'));
- }
+ /** @var IAssertion $assertion */
+ $assertion = \OC::$server->get(IAssertion::class);
+ $assertion->createUserIsLegit();
$localBackends = [];
foreach ($this->backends as $backend) {
@@ -432,31 +429,7 @@ class Manager extends PublicEmitter implements IUserManager {
public function createUserFromBackend($uid, $password, UserInterface $backend) {
$l = \OC::$server->getL10N('lib');
- // Check the name for bad characters
- // Allowed are: "a-z", "A-Z", "0-9" and "_.@-'"
- if (preg_match('/[^a-zA-Z0-9 _.@\-\']/', $uid)) {
- throw new \InvalidArgumentException($l->t('Only the following characters are allowed in a username:'
- . ' "a-z", "A-Z", "0-9", and "_.@-\'"'));
- }
-
- // No empty username
- if (trim($uid) === '') {
- throw new \InvalidArgumentException($l->t('A valid username must be provided'));
- }
-
- // No whitespace at the beginning or at the end
- if (trim($uid) !== $uid) {
- throw new \InvalidArgumentException($l->t('Username contains whitespace at the beginning or at the end'));
- }
-
- // Username only consists of 1 or 2 dots (directory traversal)
- if ($uid === '.' || $uid === '..') {
- throw new \InvalidArgumentException($l->t('Username must not consist of dots only'));
- }
-
- if (!$this->verifyUid($uid)) {
- throw new \InvalidArgumentException($l->t('Username is invalid because files already exist for this user'));
- }
+ $this->validateUserId($uid, true);
// No empty password
if (trim($password) === '') {
@@ -731,7 +704,43 @@ class Manager extends PublicEmitter implements IUserManager {
}));
}
- private function verifyUid(string $uid): bool {
+ /**
+ * @param string $uid
+ * @param bool $checkDataDirectory
+ * @throws \InvalidArgumentException Message is an already translated string with a reason why the id is not valid
+ * @since 26.0.0
+ */
+ public function validateUserId(string $uid, bool $checkDataDirectory = false): void {
+ $l = Server::get(IFactory::class)->get('lib');
+
+ // Check the name for bad characters
+ // Allowed are: "a-z", "A-Z", "0-9" and "_.@-'"
+ if (preg_match('/[^a-zA-Z0-9 _.@\-\']/', $uid)) {
+ throw new \InvalidArgumentException($l->t('Only the following characters are allowed in a username:'
+ . ' "a-z", "A-Z", "0-9", and "_.@-\'"'));
+ }
+
+ // No empty username
+ if (trim($uid) === '') {
+ throw new \InvalidArgumentException($l->t('A valid username must be provided'));
+ }
+
+ // No whitespace at the beginning or at the end
+ if (trim($uid) !== $uid) {
+ throw new \InvalidArgumentException($l->t('Username contains whitespace at the beginning or at the end'));
+ }
+
+ // Username only consists of 1 or 2 dots (directory traversal)
+ if ($uid === '.' || $uid === '..') {
+ throw new \InvalidArgumentException($l->t('Username must not consist of dots only'));
+ }
+
+ if (!$this->verifyUid($uid, $checkDataDirectory)) {
+ throw new \InvalidArgumentException($l->t('Username is invalid because files already exist for this user'));
+ }
+ }
+
+ private function verifyUid(string $uid, bool $checkDataDirectory = false): bool {
$appdata = 'appdata_' . $this->config->getSystemValueString('instanceid');
if (\in_array($uid, [
@@ -745,6 +754,10 @@ class Manager extends PublicEmitter implements IUserManager {
return false;
}
+ if (!$checkDataDirectory) {
+ return true;
+ }
+
$dataDirectory = $this->config->getSystemValueString('datadirectory', \OC::$SERVERROOT . '/data');
return !file_exists(rtrim($dataDirectory, '/') . '/' . $uid);
diff --git a/lib/private/User/Session.php b/lib/private/User/Session.php
index 5117812db31..c7b11e22504 100644
--- a/lib/private/User/Session.php
+++ b/lib/private/User/Session.php
@@ -89,7 +89,6 @@ use Symfony\Component\EventDispatcher\GenericEvent;
* @package OC\User
*/
class Session implements IUserSession, Emitter {
-
/** @var Manager $manager */
private $manager;
@@ -372,6 +371,7 @@ class Session implements IUserSession, Emitter {
if ($regenerateSessionId) {
$this->session->regenerateId();
+ $this->session->remove(Auth::DAV_AUTHENTICATED);
}
$this->setUser($user);
@@ -448,7 +448,6 @@ class Session implements IUserSession, Emitter {
// Try to login with this username and password
if (!$this->login($user, $password)) {
-
// Failed, maybe the user used their email address
if (!filter_var($user, FILTER_VALIDATE_EMAIL)) {
return false;
@@ -459,7 +458,7 @@ class Session implements IUserSession, Emitter {
$throttler->registerAttempt('login', $request->getRemoteAddress(), ['user' => $user]);
- $this->dispatcher->dispatchTyped(new OC\Authentication\Events\LoginFailed($user));
+ $this->dispatcher->dispatchTyped(new OC\Authentication\Events\LoginFailed($user, $password));
if ($currentDelay === 0) {
$throttler->sleepDelay($request->getRemoteAddress(), 'login');
@@ -672,7 +671,7 @@ class Session implements IUserSession, Emitter {
// User does not exist
return false;
}
- $name = isset($request->server['HTTP_USER_AGENT']) ? utf8_encode($request->server['HTTP_USER_AGENT']) : 'unknown browser';
+ $name = isset($request->server['HTTP_USER_AGENT']) ? mb_convert_encoding($request->server['HTTP_USER_AGENT'], 'UTF-8', 'ISO-8859-1') : 'unknown browser';
try {
$sessionId = $this->session->getId();
$pwd = $this->getPassword($password);
@@ -868,7 +867,7 @@ class Session implements IUserSession, Emitter {
$tokens = $this->config->getUserKeys($uid, 'login_token');
// test cookies token against stored tokens
if (!in_array($currentToken, $tokens, true)) {
- $this->logger->error('Tried to log in {uid} but could not verify token', [
+ $this->logger->info('Tried to log in {uid} but could not verify token', [
'app' => 'core',
'uid' => $uid,
]);
diff --git a/lib/private/legacy/OC_App.php b/lib/private/legacy/OC_App.php
index a5eb26d0d4b..f5e4780a25f 100644
--- a/lib/private/legacy/OC_App.php
+++ b/lib/private/legacy/OC_App.php
@@ -722,7 +722,7 @@ class OC_App {
self::$altLogin[] = [
'name' => $provider->getLabel(),
'href' => $provider->getLink(),
- 'style' => $provider->getClass(),
+ 'class' => $provider->getClass(),
];
} catch (Throwable $e) {
\OC::$server->getLogger()->logException($e, [
diff --git a/lib/private/legacy/OC_DB.php b/lib/private/legacy/OC_DB.php
deleted file mode 100644
index 39faf8e80aa..00000000000
--- a/lib/private/legacy/OC_DB.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Andreas Fischer <bantu@owncloud.com>
- * @author Bart Visscher <bartv@thisnet.nl>
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Jörn Friedrich Dreyer <jfd@butonic.de>
- * @author Lukas Reschke <lukas@statuscode.ch>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin Appelman <robin@icewind.nl>
- * @author Thomas Müller <thomas.mueller@tmit.eu>
- * @author Vincent Petry <vincent@nextcloud.com>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * 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, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-class OC_DB {
-
- /**
- * Prepare a SQL query
- * @param string $query Query string
- * @param int|null $limit
- * @param int|null $offset
- * @param bool|null $isManipulation
- * @throws \OC\DatabaseException
- * @return OC_DB_StatementWrapper prepared SQL query
- * @deprecated 21.0.0 Please use \OCP\IDBConnection::getQueryBuilder() instead
- *
- * SQL query via Doctrine prepare(), needs to be execute()'d!
- */
- public static function prepare($query, $limit = null, $offset = null, $isManipulation = null) {
- $connection = \OC::$server->getDatabaseConnection();
-
- if ($isManipulation === null) {
- //try to guess, so we return the number of rows on manipulations
- $isManipulation = self::isManipulation($query);
- }
-
- // return the result
- try {
- $result = $connection->prepare($query, $limit, $offset);
- } catch (\Doctrine\DBAL\Exception $e) {
- throw new \OC\DatabaseException($e->getMessage());
- }
- // differentiate between query and manipulation
- return new OC_DB_StatementWrapper($result, $isManipulation);
- }
-
- /**
- * tries to guess the type of statement based on the first 10 characters
- * the current check allows some whitespace but does not work with IF EXISTS or other more complex statements
- *
- * @param string $sql
- * @return bool
- */
- public static function isManipulation($sql) {
- $sql = trim($sql);
- $selectOccurrence = stripos($sql, 'SELECT');
- if ($selectOccurrence === 0) {
- return false;
- }
- $insertOccurrence = stripos($sql, 'INSERT');
- if ($insertOccurrence === 0) {
- return true;
- }
- $updateOccurrence = stripos($sql, 'UPDATE');
- if ($updateOccurrence === 0) {
- return true;
- }
- $deleteOccurrence = stripos($sql, 'DELETE');
- if ($deleteOccurrence === 0) {
- return true;
- }
-
- // This is triggered with "SHOW VERSION" and some more, so until we made a list, we keep this out.
- // \OC::$server->getLogger()->logException(new \Exception('Can not detect if query is manipulating: ' . $sql));
-
- return false;
- }
-
- /**
- * execute a prepared statement, on error write log and throw exception
- * @param mixed $stmt OC_DB_StatementWrapper,
- * an array with 'sql' and optionally 'limit' and 'offset' keys
- * .. or a simple sql query string
- * @param array $parameters
- * @return OC_DB_StatementWrapper
- * @throws \OC\DatabaseException
- * @deprecated 21.0.0 Please use \OCP\IDBConnection::getQueryBuilder() instead
- */
- public static function executeAudited($stmt, array $parameters = []) {
- if (is_string($stmt)) {
- // convert to an array with 'sql'
- if (stripos($stmt, 'LIMIT') !== false) { //OFFSET requires LIMIT, so we only need to check for LIMIT
- // TODO try to convert LIMIT OFFSET notation to parameters
- $message = 'LIMIT and OFFSET are forbidden for portability reasons,'
- . ' pass an array with \'limit\' and \'offset\' instead';
- throw new \OC\DatabaseException($message);
- }
- $stmt = ['sql' => $stmt, 'limit' => null, 'offset' => null];
- }
- if (is_array($stmt)) {
- // convert to prepared statement
- if (! array_key_exists('sql', $stmt)) {
- $message = 'statement array must at least contain key \'sql\'';
- throw new \OC\DatabaseException($message);
- }
- if (! array_key_exists('limit', $stmt)) {
- $stmt['limit'] = null;
- }
- if (! array_key_exists('limit', $stmt)) {
- $stmt['offset'] = null;
- }
- $stmt = self::prepare($stmt['sql'], $stmt['limit'], $stmt['offset']);
- }
- self::raiseExceptionOnError($stmt, 'Could not prepare statement');
- if ($stmt instanceof OC_DB_StatementWrapper) {
- $result = $stmt->execute($parameters);
- self::raiseExceptionOnError($result, 'Could not execute statement');
- } else {
- if (is_object($stmt)) {
- $message = 'Expected a prepared statement or array got ' . get_class($stmt);
- } else {
- $message = 'Expected a prepared statement or array got ' . gettype($stmt);
- }
- throw new \OC\DatabaseException($message);
- }
- return $result;
- }
-
- /**
- * check if a result is an error and throws an exception, works with \Doctrine\DBAL\Exception
- * @param mixed $result
- * @param string $message
- * @return void
- * @throws \OC\DatabaseException
- */
- public static function raiseExceptionOnError($result, $message = null) {
- if ($result === false) {
- if ($message === null) {
- $message = self::getErrorMessage();
- } else {
- $message .= ', Root cause:' . self::getErrorMessage();
- }
- throw new \OC\DatabaseException($message);
- }
- }
-
- /**
- * returns the error code and message as a string for logging
- * works with DoctrineException
- * @return string
- */
- public static function getErrorMessage() {
- $connection = \OC::$server->getDatabaseConnection();
- return $connection->getError();
- }
-
- /**
- * Checks if a table exists in the database - the database prefix will be prepended
- *
- * @param string $table
- * @return bool
- * @throws \OC\DatabaseException
- */
- public static function tableExists($table) {
- $connection = \OC::$server->getDatabaseConnection();
- return $connection->tableExists($table);
- }
-}
diff --git a/lib/private/legacy/OC_DB_StatementWrapper.php b/lib/private/legacy/OC_DB_StatementWrapper.php
deleted file mode 100644
index d6214a49a33..00000000000
--- a/lib/private/legacy/OC_DB_StatementWrapper.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Bart Visscher <bartv@thisnet.nl>
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Jörn Friedrich Dreyer <jfd@butonic.de>
- * @author Lukas Reschke <lukas@statuscode.ch>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin Appelman <robin@icewind.nl>
- * @author Thomas Müller <thomas.mueller@tmit.eu>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * 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, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-use OCP\DB\IPreparedStatement;
-
-/**
- * small wrapper around \Doctrine\DBAL\Driver\Statement to make it behave, more like an MDB2 Statement
- *
- * @method boolean bindValue(mixed $param, mixed $value, integer $type = null);
- * @method string errorCode();
- * @method array errorInfo();
- * @method integer rowCount();
- * @method array fetchAll(integer $fetchMode = null);
- */
-class OC_DB_StatementWrapper {
- /** @var IPreparedStatement */
- private $statement = null;
-
- /** @var bool */
- private $isManipulation = false;
-
- /** @var array */
- private $lastArguments = [];
-
- /**
- * @param IPreparedStatement $statement
- * @param boolean $isManipulation
- */
- public function __construct(IPreparedStatement $statement, $isManipulation) {
- $this->statement = $statement;
- $this->isManipulation = $isManipulation;
- }
-
- /**
- * pass all other function directly to the \Doctrine\DBAL\Driver\Statement
- */
- public function __call($name, $arguments) {
- return call_user_func_array([$this->statement,$name], $arguments);
- }
-
- /**
- * make execute return the result instead of a bool
- *
- * @param mixed[] $input
- * @return \OC_DB_StatementWrapper|int|bool
- * @deprecated
- */
- public function execute($input = []) {
- $this->lastArguments = $input;
- try {
- if (count($input) > 0) {
- $result = $this->statement->execute($input);
- } else {
- $result = $this->statement->execute();
- }
- } catch (\Doctrine\DBAL\Exception $e) {
- return false;
- }
-
- if ($this->isManipulation) {
- return $this->statement->rowCount();
- }
-
- return $this;
- }
-
- /**
- * provide an alias for fetch
- *
- * @return mixed
- * @deprecated
- */
- public function fetchRow() {
- return $this->statement->fetch();
- }
-
- /**
- * Provide a simple fetchOne.
- *
- * fetch single column from the next row
- * @return string
- * @deprecated
- */
- public function fetchOne() {
- return $this->statement->fetchOne();
- }
-
- /**
- * Closes the cursor, enabling the statement to be executed again.
- *
- * @deprecated Use Result::free() instead.
- */
- public function closeCursor(): void {
- $this->statement->closeCursor();
- }
-
- /**
- * Binds a PHP variable to a corresponding named or question mark placeholder in the
- * SQL statement that was use to prepare the statement.
- *
- * @param mixed $column Either the placeholder name or the 1-indexed placeholder index
- * @param mixed $variable The variable to bind
- * @param integer|null $type one of the PDO::PARAM_* constants
- * @param integer|null $length max length when using an OUT bind
- * @return boolean
- */
- public function bindParam($column, &$variable, $type = null, $length = null) {
- return $this->statement->bindParam($column, $variable, $type, $length);
- }
-}
diff --git a/lib/private/legacy/OC_Helper.php b/lib/private/legacy/OC_Helper.php
index b793029e1f1..3b409fd1d04 100644
--- a/lib/private/legacy/OC_Helper.php
+++ b/lib/private/legacy/OC_Helper.php
@@ -457,10 +457,12 @@ class OC_Helper {
*
* @param string $path
* @param \OCP\Files\FileInfo $rootInfo (optional)
+ * @param bool $includeMountPoints whether to include mount points in the size calculation
+ * @param bool $useCache whether to use the cached quota values
* @return array
* @throws \OCP\Files\NotFoundException
*/
- public static function getStorageInfo($path, $rootInfo = null, $includeMountPoints = true) {
+ public static function getStorageInfo($path, $rootInfo = null, $includeMountPoints = true, $useCache = true) {
/** @var ICacheFactory $cacheFactory */
$cacheFactory = \OC::$server->get(ICacheFactory::class);
$memcache = $cacheFactory->createLocal('storage_info');
@@ -470,9 +472,11 @@ class OC_Helper {
$fullPath = Filesystem::getView()->getAbsolutePath($path);
$cacheKey = $fullPath. '::' . ($includeMountPoints ? 'include' : 'exclude');
- $cached = $memcache->get($cacheKey);
- if ($cached) {
- return $cached;
+ if ($useCache) {
+ $cached = $memcache->get($cacheKey);
+ if ($cached) {
+ return $cached;
+ }
}
if (!$rootInfo) {
diff --git a/lib/private/legacy/OC_Image.php b/lib/private/legacy/OC_Image.php
index a212d639084..9ccc6409ba0 100644
--- a/lib/private/legacy/OC_Image.php
+++ b/lib/private/legacy/OC_Image.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
@@ -50,14 +53,15 @@ class OC_Image implements \OCP\IImage {
// Default memory limit for images to load (128 MBytes).
protected const DEFAULT_MEMORY_LIMIT = 128;
+ // Default quality for jpeg images
+ protected const DEFAULT_JPEG_QUALITY = 80;
+
/** @var false|resource|\GdImage */
protected $resource = false; // tmp resource.
/** @var int */
protected $imageType = IMAGETYPE_PNG; // Default to png if file type isn't evident.
- /** @var string */
+ /** @var null|string */
protected $mimeType = 'image/png'; // Default to png
- /** @var int */
- protected $bitDepth = 24;
/** @var null|string */
protected $filePath = null;
/** @var finfo */
@@ -102,7 +106,7 @@ class OC_Image implements \OCP\IImage {
*
* @return bool
*/
- public function valid() {
+ public function valid(): bool {
if ((is_resource($this->resource) && get_resource_type($this->resource) === 'gd') ||
(is_object($this->resource) && get_class($this->resource) === \GdImage::class)) {
return true;
@@ -112,12 +116,12 @@ class OC_Image implements \OCP\IImage {
}
/**
- * Returns the MIME type of the image or an empty string if no image is loaded.
+ * Returns the MIME type of the image or null if no image is loaded.
*
* @return string
*/
- public function mimeType() {
- return $this->valid() ? $this->mimeType : '';
+ public function mimeType(): ?string {
+ return $this->valid() ? $this->mimeType : null;
}
/**
@@ -125,7 +129,7 @@ class OC_Image implements \OCP\IImage {
*
* @return int
*/
- public function width() {
+ public function width(): int {
if ($this->valid()) {
$width = imagesx($this->resource);
if ($width !== false) {
@@ -140,7 +144,7 @@ class OC_Image implements \OCP\IImage {
*
* @return int
*/
- public function height() {
+ public function height(): int {
if ($this->valid()) {
$height = imagesy($this->resource);
if ($height !== false) {
@@ -155,7 +159,7 @@ class OC_Image implements \OCP\IImage {
*
* @return int
*/
- public function widthTopLeft() {
+ public function widthTopLeft(): int {
$o = $this->getOrientation();
$this->logger->debug('OC_Image->widthTopLeft() Orientation: ' . $o, ['app' => 'core']);
switch ($o) {
@@ -179,7 +183,7 @@ class OC_Image implements \OCP\IImage {
*
* @return int
*/
- public function heightTopLeft() {
+ public function heightTopLeft(): int {
$o = $this->getOrientation();
$this->logger->debug('OC_Image->heightTopLeft() Orientation: ' . $o, ['app' => 'core']);
switch ($o) {
@@ -204,7 +208,7 @@ class OC_Image implements \OCP\IImage {
* @param string $mimeType
* @return bool
*/
- public function show($mimeType = null) {
+ public function show(string $mimeType = null): bool {
if ($mimeType === null) {
$mimeType = $this->mimeType();
}
@@ -220,7 +224,7 @@ class OC_Image implements \OCP\IImage {
* @return bool
*/
- public function save($filePath = null, $mimeType = null) {
+ public function save(?string $filePath = null, ?string $mimeType = null): bool {
if ($mimeType === null) {
$mimeType = $this->mimeType();
}
@@ -243,7 +247,7 @@ class OC_Image implements \OCP\IImage {
* @return bool
* @throws Exception
*/
- private function _output($filePath = null, $mimeType = null) {
+ private function _output(?string $filePath = null, ?string $mimeType = null): bool {
if ($filePath) {
if (!file_exists(dirname($filePath))) {
mkdir(dirname($filePath), 0777, true);
@@ -252,7 +256,7 @@ class OC_Image implements \OCP\IImage {
if (!$isWritable) {
$this->logger->error(__METHOD__ . '(): Directory \'' . dirname($filePath) . '\' is not writable.', ['app' => 'core']);
return false;
- } elseif ($isWritable && file_exists($filePath) && !is_writable($filePath)) {
+ } elseif (file_exists($filePath) && !is_writable($filePath)) {
$this->logger->error(__METHOD__ . '(): File \'' . $filePath . '\' is not writable.', ['app' => 'core']);
return false;
}
@@ -290,6 +294,8 @@ class OC_Image implements \OCP\IImage {
$retVal = imagegif($this->resource, $filePath);
break;
case IMAGETYPE_JPEG:
+ /** @psalm-suppress InvalidScalarArgument */
+ imageinterlace($this->resource, (PHP_VERSION_ID >= 80000 ? true : 1));
$retVal = imagejpeg($this->resource, $filePath, $this->getJpegQuality());
break;
case IMAGETYPE_PNG:
@@ -307,7 +313,7 @@ class OC_Image implements \OCP\IImage {
$retVal = imagewbmp($this->resource, $filePath);
break;
case IMAGETYPE_BMP:
- $retVal = imagebmp($this->resource, $filePath, $this->bitDepth);
+ $retVal = imagebmp($this->resource, $filePath);
break;
default:
$retVal = imagepng($this->resource, $filePath);
@@ -348,12 +354,11 @@ class OC_Image implements \OCP\IImage {
}
/**
- * @return string Returns the mimetype of the data. Returns the empty string
- * if the data is not valid.
+ * @return string Returns the mimetype of the data. Returns null if the data is not valid.
*/
- public function dataMimeType() {
+ public function dataMimeType(): ?string {
if (!$this->valid()) {
- return '';
+ return null;
}
switch ($this->mimeType) {
@@ -369,7 +374,7 @@ class OC_Image implements \OCP\IImage {
/**
* @return null|string Returns the raw image data.
*/
- public function data() {
+ public function data(): ?string {
if (!$this->valid()) {
return null;
}
@@ -379,12 +384,10 @@ class OC_Image implements \OCP\IImage {
$res = imagepng($this->resource);
break;
case "image/jpeg":
+ /** @psalm-suppress InvalidScalarArgument */
+ imageinterlace($this->resource, (PHP_VERSION_ID >= 80000 ? true : 1));
$quality = $this->getJpegQuality();
- if ($quality !== null) {
- $res = imagejpeg($this->resource, null, $quality);
- } else {
- $res = imagejpeg($this->resource);
- }
+ $res = imagejpeg($this->resource, null, $quality);
break;
case "image/gif":
$res = imagegif($this->resource);
@@ -408,14 +411,15 @@ class OC_Image implements \OCP\IImage {
}
/**
- * @return int|null
+ * @return int
*/
- protected function getJpegQuality() {
- $quality = $this->config->getAppValue('preview', 'jpeg_quality', 90);
- if ($quality !== null) {
- $quality = min(100, max(10, (int) $quality));
+ protected function getJpegQuality(): int {
+ $quality = $this->config->getAppValue('preview', 'jpeg_quality', (string) self::DEFAULT_JPEG_QUALITY);
+ // TODO: remove when getAppValue is type safe
+ if ($quality === null) {
+ $quality = self::DEFAULT_JPEG_QUALITY;
}
- return $quality;
+ return min(100, max(10, (int) $quality));
}
/**
@@ -424,7 +428,7 @@ class OC_Image implements \OCP\IImage {
*
* @return int The orientation or -1 if no EXIF data is available.
*/
- public function getOrientation() {
+ public function getOrientation(): int {
if ($this->exif !== null) {
return $this->exif['Orientation'];
}
@@ -456,7 +460,7 @@ class OC_Image implements \OCP\IImage {
return $exif['Orientation'];
}
- public function readExif($data) {
+ public function readExif($data): void {
if (!is_callable('exif_read_data')) {
$this->logger->debug('OC_Image->fixOrientation() Exif module not enabled.', ['app' => 'core']);
return;
@@ -482,7 +486,7 @@ class OC_Image implements \OCP\IImage {
*
* @return bool
*/
- public function fixOrientation() {
+ public function fixOrientation(): bool {
if (!$this->valid()) {
$this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']);
return false;
@@ -712,7 +716,7 @@ class OC_Image implements \OCP\IImage {
}
break;
case IMAGETYPE_BMP:
- $this->resource = $this->imagecreatefrombmp($imagePath);
+ $this->resource = imagecreatefrombmp($imagePath);
break;
case IMAGETYPE_WEBP:
if (imagetypes() & IMG_WEBP) {
@@ -774,10 +778,7 @@ class OC_Image implements \OCP\IImage {
* @param string $str A string of image data as read from a file.
* @return bool|resource|\GdImage An image resource or false on error
*/
- public function loadFromData($str) {
- if (!is_string($str)) {
- return false;
- }
+ public function loadFromData(string $str) {
if (!$this->checkImageDataSize($str)) {
return false;
}
@@ -803,10 +804,7 @@ class OC_Image implements \OCP\IImage {
* @param string $str A string base64 encoded string of image data.
* @return bool|resource|\GdImage An image resource or false on error
*/
- public function loadFromBase64($str) {
- if (!is_string($str)) {
- return false;
- }
+ public function loadFromBase64(string $str) {
$data = base64_decode($str);
if ($data) { // try to load from string data
if (!$this->checkImageDataSize($data)) {
@@ -827,170 +825,12 @@ class OC_Image implements \OCP\IImage {
}
/**
- * Create a new image from file or URL
- *
- * @link http://www.programmierer-forum.de/function-imagecreatefrombmp-laeuft-mit-allen-bitraten-t143137.htm
- * @version 1.00
- * @param string $fileName <p>
- * Path to the BMP image.
- * </p>
- * @return bool|resource|\GdImage an image resource identifier on success, <b>FALSE</b> on errors.
- */
- private function imagecreatefrombmp($fileName) {
- if (!($fh = fopen($fileName, 'rb'))) {
- $this->logger->warning('imagecreatefrombmp: Can not open ' . $fileName, ['app' => 'core']);
- return false;
- }
- // read file header
- $meta = unpack('vtype/Vfilesize/Vreserved/Voffset', fread($fh, 14));
- // check for bitmap
- if ($meta['type'] != 19778) {
- fclose($fh);
- $this->logger->warning('imagecreatefrombmp: Can not open ' . $fileName . ' is not a bitmap!', ['app' => 'core']);
- return false;
- }
- // read image header
- $meta += unpack('Vheadersize/Vwidth/Vheight/vplanes/vbits/Vcompression/Vimagesize/Vxres/Vyres/Vcolors/Vimportant', fread($fh, 40));
- // read additional 16bit header
- if ($meta['bits'] == 16) {
- $meta += unpack('VrMask/VgMask/VbMask', fread($fh, 12));
- }
- // set bytes and padding
- $meta['bytes'] = $meta['bits'] / 8;
- $this->bitDepth = $meta['bits']; //remember the bit depth for the imagebmp call
- $meta['decal'] = 4 - (4 * (($meta['width'] * $meta['bytes'] / 4) - floor($meta['width'] * $meta['bytes'] / 4)));
- if ($meta['decal'] == 4) {
- $meta['decal'] = 0;
- }
- // obtain imagesize
- if ($meta['imagesize'] < 1) {
- $meta['imagesize'] = $meta['filesize'] - $meta['offset'];
- // in rare cases filesize is equal to offset so we need to read physical size
- if ($meta['imagesize'] < 1) {
- $meta['imagesize'] = @filesize($fileName) - $meta['offset'];
- if ($meta['imagesize'] < 1) {
- fclose($fh);
- $this->logger->warning('imagecreatefrombmp: Can not obtain file size of ' . $fileName . ' is not a bitmap!', ['app' => 'core']);
- return false;
- }
- }
- }
- // calculate colors
- $meta['colors'] = !$meta['colors'] ? pow(2, $meta['bits']) : $meta['colors'];
- // read color palette
- $palette = [];
- if ($meta['bits'] < 16) {
- $palette = unpack('l' . $meta['colors'], fread($fh, $meta['colors'] * 4));
- // in rare cases the color value is signed
- if ($palette[1] < 0) {
- foreach ($palette as $i => $color) {
- $palette[$i] = $color + 16777216;
- }
- }
- }
- if (!$this->checkImageMemory($meta['width'], $meta['height'])) {
- fclose($fh);
- return false;
- }
- // create gd image
- $im = imagecreatetruecolor($meta['width'], $meta['height']);
- if ($im == false) {
- fclose($fh);
- $this->logger->warning(
- 'imagecreatefrombmp: imagecreatetruecolor failed for file "' . $fileName . '" with dimensions ' . $meta['width'] . 'x' . $meta['height'],
- ['app' => 'core']);
- return false;
- }
-
- $data = fread($fh, $meta['imagesize']);
- $p = 0;
- $vide = chr(0);
- $y = $meta['height'] - 1;
- $error = 'imagecreatefrombmp: ' . $fileName . ' has not enough data!';
- // loop through the image data beginning with the lower left corner
- while ($y >= 0) {
- $x = 0;
- while ($x < $meta['width']) {
- switch ($meta['bits']) {
- case 32:
- case 24:
- if (!($part = substr($data, $p, 3))) {
- $this->logger->warning($error, ['app' => 'core']);
- return $im;
- }
- $color = @unpack('V', $part . $vide);
- break;
- case 16:
- if (!($part = substr($data, $p, 2))) {
- fclose($fh);
- $this->logger->warning($error, ['app' => 'core']);
- return $im;
- }
- $color = @unpack('v', $part);
- $color[1] = (($color[1] & 0xf800) >> 8) * 65536 + (($color[1] & 0x07e0) >> 3) * 256 + (($color[1] & 0x001f) << 3);
- break;
- case 8:
- $color = @unpack('n', $vide . ($data[$p] ?? ''));
- $color[1] = isset($palette[$color[1] + 1]) ? $palette[$color[1] + 1] : $palette[1];
- break;
- case 4:
- $color = @unpack('n', $vide . ($data[floor($p)] ?? ''));
- $color[1] = ($p * 2) % 2 == 0 ? $color[1] >> 4 : $color[1] & 0x0F;
- $color[1] = isset($palette[$color[1] + 1]) ? $palette[$color[1] + 1] : $palette[1];
- break;
- case 1:
- $color = @unpack('n', $vide . ($data[floor($p)] ?? ''));
- switch (($p * 8) % 8) {
- case 0:
- $color[1] = $color[1] >> 7;
- break;
- case 1:
- $color[1] = ($color[1] & 0x40) >> 6;
- break;
- case 2:
- $color[1] = ($color[1] & 0x20) >> 5;
- break;
- case 3:
- $color[1] = ($color[1] & 0x10) >> 4;
- break;
- case 4:
- $color[1] = ($color[1] & 0x8) >> 3;
- break;
- case 5:
- $color[1] = ($color[1] & 0x4) >> 2;
- break;
- case 6:
- $color[1] = ($color[1] & 0x2) >> 1;
- break;
- case 7:
- $color[1] = ($color[1] & 0x1);
- break;
- }
- $color[1] = isset($palette[$color[1] + 1]) ? $palette[$color[1] + 1] : $palette[1];
- break;
- default:
- fclose($fh);
- $this->logger->warning('imagecreatefrombmp: ' . $fileName . ' has ' . $meta['bits'] . ' bits and this is not supported!', ['app' => 'core']);
- return false;
- }
- imagesetpixel($im, $x, $y, $color[1]);
- $x++;
- $p += $meta['bytes'];
- }
- $y--;
- $p += $meta['decal'];
- }
- fclose($fh);
- return $im;
- }
-
- /**
* Resizes the image preserving ratio.
*
- * @param integer $maxSize The maximum size of either the width or height.
+ * @param int $maxSize The maximum size of either the width or height.
* @return bool
*/
- public function resize($maxSize) {
+ public function resize(int $maxSize): bool {
if (!$this->valid()) {
$this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']);
return false;
@@ -1005,7 +845,7 @@ class OC_Image implements \OCP\IImage {
* @param $maxSize
* @return resource|bool|\GdImage
*/
- private function resizeNew($maxSize) {
+ private function resizeNew(int $maxSize) {
if (!$this->valid()) {
$this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']);
return false;
@@ -1041,7 +881,6 @@ class OC_Image implements \OCP\IImage {
return $this->valid();
}
-
/**
* @param int $width
* @param int $height
@@ -1086,7 +925,7 @@ class OC_Image implements \OCP\IImage {
* @param int $size maximum size for the result (optional)
* @return bool for success or failure
*/
- public function centerCrop($size = 0) {
+ public function centerCrop(int $size = 0): bool {
if (!$this->valid()) {
$this->logger->debug('OC_Image->centerCrop, No image loaded', ['app' => 'core']);
return false;
@@ -1100,10 +939,10 @@ class OC_Image implements \OCP\IImage {
$width = $height = min($widthOrig, $heightOrig);
if ($ratioOrig > 1) {
- $x = ($widthOrig / 2) - ($width / 2);
+ $x = (int) (($widthOrig / 2) - ($width / 2));
$y = 0;
} else {
- $y = ($heightOrig / 2) - ($height / 2);
+ $y = (int) (($heightOrig / 2) - ($height / 2));
$x = 0;
}
if ($size > 0) {
@@ -1196,11 +1035,11 @@ class OC_Image implements \OCP\IImage {
*
* Warning: Images smaller than $maxWidth x $maxHeight will end up being scaled up
*
- * @param integer $maxWidth
- * @param integer $maxHeight
+ * @param int $maxWidth
+ * @param int $maxHeight
* @return bool
*/
- public function fitIn($maxWidth, $maxHeight) {
+ public function fitIn(int $maxWidth, int $maxHeight): bool {
if (!$this->valid()) {
$this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']);
return false;
@@ -1219,11 +1058,11 @@ class OC_Image implements \OCP\IImage {
/**
* Shrinks larger images to fit within specified boundaries while preserving ratio.
*
- * @param integer $maxWidth
- * @param integer $maxHeight
+ * @param int $maxWidth
+ * @param int $maxHeight
* @return bool
*/
- public function scaleDownToFit($maxWidth, $maxHeight) {
+ public function scaleDownToFit(int $maxWidth, int $maxHeight): bool {
if (!$this->valid()) {
$this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']);
return false;
@@ -1259,7 +1098,6 @@ class OC_Image implements \OCP\IImage {
$image = new OC_Image(null, $this->logger, $this->config);
$image->imageType = $this->imageType;
$image->mimeType = $this->mimeType;
- $image->bitDepth = $this->bitDepth;
$image->resource = $this->cropNew($x, $y, $w, $h);
return $image;
@@ -1269,7 +1107,6 @@ class OC_Image implements \OCP\IImage {
$image = new OC_Image(null, $this->logger, $this->config);
$image->imageType = $this->imageType;
$image->mimeType = $this->mimeType;
- $image->bitDepth = $this->bitDepth;
$image->resource = $this->preciseResizeNew($width, $height);
return $image;
@@ -1279,7 +1116,6 @@ class OC_Image implements \OCP\IImage {
$image = new OC_Image(null, $this->logger, $this->config);
$image->imageType = $this->imageType;
$image->mimeType = $this->mimeType;
- $image->bitDepth = $this->bitDepth;
$image->resource = $this->resizeNew($maxSize);
return $image;
@@ -1288,7 +1124,7 @@ class OC_Image implements \OCP\IImage {
/**
* Destroys the current image and resets the object
*/
- public function destroy() {
+ public function destroy(): void {
if ($this->valid()) {
imagedestroy($this->resource);
}
@@ -1300,123 +1136,6 @@ class OC_Image implements \OCP\IImage {
}
}
-if (!function_exists('imagebmp')) {
- /**
- * Output a BMP image to either the browser or a file
- *
- * @link http://www.ugia.cn/wp-data/imagebmp.php
- * @author legend <legendsky@hotmail.com>
- * @link http://www.programmierer-forum.de/imagebmp-gute-funktion-gefunden-t143716.htm
- * @author mgutt <marc@gutt.it>
- * @version 1.00
- * @param resource|\GdImage $im
- * @param string $fileName [optional] <p>The path to save the file to.</p>
- * @param int $bit [optional] <p>Bit depth, (default is 24).</p>
- * @param int $compression [optional]
- * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
- */
- function imagebmp($im, $fileName = '', $bit = 24, $compression = 0) {
- if (!in_array($bit, [1, 4, 8, 16, 24, 32])) {
- $bit = 24;
- } elseif ($bit == 32) {
- $bit = 24;
- }
- $bits = (int)pow(2, $bit);
- imagetruecolortopalette($im, true, $bits);
- $width = imagesx($im);
- $height = imagesy($im);
- $colorsNum = imagecolorstotal($im);
- $rgbQuad = '';
- if ($bit <= 8) {
- for ($i = 0; $i < $colorsNum; $i++) {
- $colors = imagecolorsforindex($im, $i);
- $rgbQuad .= chr($colors['blue']) . chr($colors['green']) . chr($colors['red']) . "\0";
- }
- $bmpData = '';
- if ($compression == 0 || $bit < 8) {
- $compression = 0;
- $extra = '';
- $padding = 4 - ceil($width / (8 / $bit)) % 4;
- if ($padding % 4 != 0) {
- $extra = str_repeat("\0", $padding);
- }
- for ($j = $height - 1; $j >= 0; $j--) {
- $i = 0;
- while ($i < $width) {
- $bin = 0;
- $limit = $width - $i < 8 / $bit ? (8 / $bit - $width + $i) * $bit : 0;
- for ($k = 8 - $bit; $k >= $limit; $k -= $bit) {
- $index = imagecolorat($im, $i, $j);
- $bin |= $index << $k;
- $i++;
- }
- $bmpData .= chr($bin);
- }
- $bmpData .= $extra;
- }
- } // RLE8
- elseif ($compression == 1 && $bit == 8) {
- for ($j = $height - 1; $j >= 0; $j--) {
- $lastIndex = null;
- $sameNum = 0;
- for ($i = 0; $i <= $width; $i++) {
- $index = imagecolorat($im, $i, $j);
- if ($index !== $lastIndex || $sameNum > 255) {
- if ($sameNum != 0) {
- $bmpData .= chr($sameNum) . chr($lastIndex);
- }
- $lastIndex = $index;
- $sameNum = 1;
- } else {
- $sameNum++;
- }
- }
- $bmpData .= "\0\0";
- }
- $bmpData .= "\0\1";
- }
- $sizeQuad = strlen($rgbQuad);
- $sizeData = strlen($bmpData);
- } else {
- $extra = '';
- $padding = 4 - ($width * ($bit / 8)) % 4;
- if ($padding % 4 != 0) {
- $extra = str_repeat("\0", $padding);
- }
- $bmpData = '';
- for ($j = $height - 1; $j >= 0; $j--) {
- for ($i = 0; $i < $width; $i++) {
- $index = imagecolorat($im, $i, $j);
- $colors = imagecolorsforindex($im, $index);
- if ($bit == 16) {
- $bin = 0 << $bit;
- $bin |= ($colors['red'] >> 3) << 10;
- $bin |= ($colors['green'] >> 3) << 5;
- $bin |= $colors['blue'] >> 3;
- $bmpData .= pack("v", $bin);
- } else {
- $bmpData .= pack("c*", $colors['blue'], $colors['green'], $colors['red']);
- }
- }
- $bmpData .= $extra;
- }
- $sizeQuad = 0;
- $sizeData = strlen($bmpData);
- $colorsNum = 0;
- }
- $fileHeader = 'BM' . pack('V3', 54 + $sizeQuad + $sizeData, 0, 54 + $sizeQuad);
- $infoHeader = pack('V3v2V*', 0x28, $width, $height, 1, $bit, $compression, $sizeData, 0, 0, $colorsNum, 0);
- if ($fileName != '') {
- $fp = fopen($fileName, 'wb');
- fwrite($fp, $fileHeader . $infoHeader . $rgbQuad . $bmpData);
- fclose($fp);
- return true;
- }
- echo $fileHeader . $infoHeader . $rgbQuad . $bmpData;
- return true;
- }
-}
-
if (!function_exists('exif_imagetype')) {
/**
* Workaround if exif_imagetype does not exist
@@ -1425,7 +1144,7 @@ if (!function_exists('exif_imagetype')) {
* @param string $fileName
* @return string|boolean
*/
- function exif_imagetype($fileName) {
+ function exif_imagetype(string $fileName) {
if (($info = getimagesize($fileName)) !== false) {
return $info[2];
}
diff --git a/lib/private/legacy/OC_Response.php b/lib/private/legacy/OC_Response.php
index e4525fe9e10..b849710e90b 100644
--- a/lib/private/legacy/OC_Response.php
+++ b/lib/private/legacy/OC_Response.php
@@ -52,19 +52,6 @@ class OC_Response {
* @param string|int|float $length Length to be sent
*/
public static function setContentLengthHeader($length) {
- if (PHP_INT_SIZE === 4) {
- if ($length > PHP_INT_MAX && stripos(PHP_SAPI, 'apache') === 0) {
- // Apache PHP SAPI casts Content-Length headers to PHP integers.
- // This enforces a limit of PHP_INT_MAX (2147483647 on 32-bit
- // platforms). So, if the length is greater than PHP_INT_MAX,
- // we just do not send a Content-Length header to prevent
- // bodies from being received incompletely.
- return;
- }
- // Convert signed integer or float to unsigned base-10 string.
- $lfh = new \OC\LargeFileHelper;
- $length = $lfh->formatUnsignedInteger($length);
- }
header('Content-Length: '.$length);
}
diff --git a/lib/private/legacy/OC_Util.php b/lib/private/legacy/OC_Util.php
index bf9ed6e29ff..429f7ed5d05 100644
--- a/lib/private/legacy/OC_Util.php
+++ b/lib/private/legacy/OC_Util.php
@@ -69,6 +69,7 @@ use OC\AppFramework\Http\Request;
use OC\Files\SetupManager;
use OCP\Files\Template\ITemplateManager;
use OCP\IConfig;
+use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IURLGenerator;
use OCP\IUser;
@@ -254,7 +255,7 @@ class OC_Util {
closedir($dir);
return;
}
- stream_copy_to_stream($sourceStream, $child->fopen('w'));
+ $child->putContent($sourceStream);
}
}
}
@@ -749,9 +750,13 @@ class OC_Util {
$dbType = \OC::$server->getSystemConfig()->getValue('dbtype', 'sqlite');
if ($dbType === 'pgsql') {
// check PostgreSQL version
+ // TODO latest postgresql 8 released was 8 years ago, maybe remove the
+ // check completely?
try {
- $result = \OC_DB::executeAudited('SHOW SERVER_VERSION');
- $data = $result->fetchRow();
+ /** @var IDBConnection $connection */
+ $connection = \OC::$server->get(IDBConnection::class);
+ $result = $connection->executeQuery('SHOW SERVER_VERSION');
+ $data = $result->fetch();
$result->closeCursor();
if (isset($data['server_version'])) {
$version = $data['server_version'];
diff --git a/lib/public/Accounts/IAccountManager.php b/lib/public/Accounts/IAccountManager.php
index e41327171b4..77c32d6ff4e 100644
--- a/lib/public/Accounts/IAccountManager.php
+++ b/lib/public/Accounts/IAccountManager.php
@@ -112,6 +112,7 @@ interface IAccountManager {
public const PROPERTY_WEBSITE = 'website';
public const PROPERTY_ADDRESS = 'address';
public const PROPERTY_TWITTER = 'twitter';
+ public const PROPERTY_FEDIVERSE = 'fediverse';
/**
* @since 23.0.0
@@ -151,6 +152,7 @@ interface IAccountManager {
self::PROPERTY_WEBSITE,
self::PROPERTY_ADDRESS,
self::PROPERTY_TWITTER,
+ self::PROPERTY_FEDIVERSE,
self::PROPERTY_ORGANISATION,
self::PROPERTY_ROLE,
self::PROPERTY_HEADLINE,
diff --git a/lib/public/AppFramework/Db/Mapper.php b/lib/public/AppFramework/Db/Mapper.php
deleted file mode 100644
index 2d0dc87ebb3..00000000000
--- a/lib/public/AppFramework/Db/Mapper.php
+++ /dev/null
@@ -1,370 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Bernhard Posselt <dev@bernhard-posselt.com>
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Lukas Reschke <lukas@statuscode.ch>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- * @author Thomas Müller <thomas.mueller@tmit.eu>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * 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, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-namespace OCP\AppFramework\Db;
-
-use OCP\IDBConnection;
-
-/**
- * Simple parent class for inheriting your data access layer from. This class
- * may be subject to change in the future
- * @since 7.0.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
-abstract class Mapper {
- protected $tableName;
- protected $entityClass;
- protected $db;
-
- /**
- * @param IDBConnection $db Instance of the Db abstraction layer
- * @param string $tableName the name of the table. set this to allow entity
- * @param string $entityClass the name of the entity that the sql should be
- * mapped to queries without using sql
- * @since 7.0.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- public function __construct(IDBConnection $db, $tableName, $entityClass = null) {
- $this->db = $db;
- $this->tableName = '*PREFIX*' . $tableName;
-
- // if not given set the entity name to the class without the mapper part
- // cache it here for later use since reflection is slow
- if ($entityClass === null) {
- $this->entityClass = str_replace('Mapper', '', get_class($this));
- } else {
- $this->entityClass = $entityClass;
- }
- }
-
-
- /**
- * @return string the table name
- * @since 7.0.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- public function getTableName() {
- return $this->tableName;
- }
-
-
- /**
- * Deletes an entity from the table
- * @param Entity $entity the entity that should be deleted
- * @return Entity the deleted entity
- * @since 7.0.0 - return value added in 8.1.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- public function delete(Entity $entity) {
- $sql = 'DELETE FROM `' . $this->tableName . '` WHERE `id` = ?';
- $stmt = $this->execute($sql, [$entity->getId()]);
- $stmt->closeCursor();
- return $entity;
- }
-
-
- /**
- * Creates a new entry in the db from an entity
- * @param Entity $entity the entity that should be created
- * @return Entity the saved entity with the set id
- * @since 7.0.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- public function insert(Entity $entity) {
- // get updated fields to save, fields have to be set using a setter to
- // be saved
- $properties = $entity->getUpdatedFields();
- $values = '';
- $columns = '';
- $params = [];
-
- // build the fields
- $i = 0;
- foreach ($properties as $property => $updated) {
- $column = $entity->propertyToColumn($property);
- $getter = 'get' . ucfirst($property);
-
- $columns .= '`' . $column . '`';
- $values .= '?';
-
- // only append colon if there are more entries
- if ($i < count($properties) - 1) {
- $columns .= ',';
- $values .= ',';
- }
-
- $params[] = $entity->$getter();
- $i++;
- }
-
- $sql = 'INSERT INTO `' . $this->tableName . '`(' .
- $columns . ') VALUES(' . $values . ')';
-
- $stmt = $this->execute($sql, $params);
-
- $entity->setId((int) $this->db->lastInsertId($this->tableName));
-
- $stmt->closeCursor();
-
- return $entity;
- }
-
-
-
- /**
- * Updates an entry in the db from an entity
- * @throws \InvalidArgumentException if entity has no id
- * @param Entity $entity the entity that should be created
- * @return Entity the saved entity with the set id
- * @since 7.0.0 - return value was added in 8.0.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- public function update(Entity $entity) {
- // if entity wasn't changed it makes no sense to run a db query
- $properties = $entity->getUpdatedFields();
- if (count($properties) === 0) {
- return $entity;
- }
-
- // entity needs an id
- $id = $entity->getId();
- if ($id === null) {
- throw new \InvalidArgumentException(
- 'Entity which should be updated has no id');
- }
-
- // get updated fields to save, fields have to be set using a setter to
- // be saved
- // do not update the id field
- unset($properties['id']);
-
- $columns = '';
- $params = [];
-
- // build the fields
- $i = 0;
- foreach ($properties as $property => $updated) {
- $column = $entity->propertyToColumn($property);
- $getter = 'get' . ucfirst($property);
-
- $columns .= '`' . $column . '` = ?';
-
- // only append colon if there are more entries
- if ($i < count($properties) - 1) {
- $columns .= ',';
- }
-
- $params[] = $entity->$getter();
- $i++;
- }
-
- $sql = 'UPDATE `' . $this->tableName . '` SET ' .
- $columns . ' WHERE `id` = ?';
- $params[] = $id;
-
- $stmt = $this->execute($sql, $params);
- $stmt->closeCursor();
-
- return $entity;
- }
-
- /**
- * Checks if an array is associative
- * @param array $array
- * @return bool true if associative
- * @since 8.1.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- private function isAssocArray(array $array) {
- return array_values($array) !== $array;
- }
-
- /**
- * Returns the correct PDO constant based on the value type
- * @param $value
- * @return int PDO constant
- * @since 8.1.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- private function getPDOType($value) {
- switch (gettype($value)) {
- case 'integer':
- return \PDO::PARAM_INT;
- case 'boolean':
- return \PDO::PARAM_BOOL;
- default:
- return \PDO::PARAM_STR;
- }
- }
-
-
- /**
- * Runs an sql query
- * @param string $sql the prepare string
- * @param array $params the params which should replace the ? in the sql query
- * @param int $limit the maximum number of rows
- * @param int $offset from which row we want to start
- * @return \PDOStatement the database query result
- * @since 7.0.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- protected function execute($sql, array $params = [], $limit = null, $offset = null) {
- $query = $this->db->prepare($sql, $limit, $offset);
-
- if ($this->isAssocArray($params)) {
- foreach ($params as $key => $param) {
- $pdoConstant = $this->getPDOType($param);
- $query->bindValue($key, $param, $pdoConstant);
- }
- } else {
- $index = 1; // bindParam is 1 indexed
- foreach ($params as $param) {
- $pdoConstant = $this->getPDOType($param);
- $query->bindValue($index, $param, $pdoConstant);
- $index++;
- }
- }
-
- $query->execute();
-
- return $query;
- }
-
- /**
- * Returns an db result and throws exceptions when there are more or less
- * results
- * @see findEntity
- * @param string $sql the sql query
- * @param array $params the parameters of the sql query
- * @param int $limit the maximum number of rows
- * @param int $offset from which row we want to start
- * @throws DoesNotExistException if the item does not exist
- * @throws MultipleObjectsReturnedException if more than one item exist
- * @return array the result as row
- * @since 7.0.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- protected function findOneQuery($sql, array $params = [], $limit = null, $offset = null) {
- $stmt = $this->execute($sql, $params, $limit, $offset);
- $row = $stmt->fetch();
-
- if ($row === false || $row === null) {
- $stmt->closeCursor();
- $msg = $this->buildDebugMessage(
- 'Did expect one result but found none when executing', $sql, $params, $limit, $offset
- );
- throw new DoesNotExistException($msg);
- }
- $row2 = $stmt->fetch();
- $stmt->closeCursor();
- //MDB2 returns null, PDO and doctrine false when no row is available
- if (! ($row2 === false || $row2 === null)) {
- $msg = $this->buildDebugMessage(
- 'Did not expect more than one result when executing', $sql, $params, $limit, $offset
- );
- throw new MultipleObjectsReturnedException($msg);
- } else {
- return $row;
- }
- }
-
- /**
- * Builds an error message by prepending the $msg to an error message which
- * has the parameters
- * @see findEntity
- * @param string $sql the sql query
- * @param array $params the parameters of the sql query
- * @param int $limit the maximum number of rows
- * @param int $offset from which row we want to start
- * @return string formatted error message string
- * @since 9.1.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- private function buildDebugMessage($msg, $sql, array $params = [], $limit = null, $offset = null) {
- return $msg .
- ': query "' . $sql . '"; ' .
- 'parameters ' . print_r($params, true) . '; ' .
- 'limit "' . $limit . '"; '.
- 'offset "' . $offset . '"';
- }
-
-
- /**
- * Creates an entity from a row. Automatically determines the entity class
- * from the current mapper name (MyEntityMapper -> MyEntity)
- * @param array $row the row which should be converted to an entity
- * @return Entity the entity
- * @since 7.0.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- protected function mapRowToEntity($row) {
- return call_user_func($this->entityClass .'::fromRow', $row);
- }
-
-
- /**
- * Runs a sql query and returns an array of entities
- * @param string $sql the prepare string
- * @param array $params the params which should replace the ? in the sql query
- * @param int $limit the maximum number of rows
- * @param int $offset from which row we want to start
- * @return array all fetched entities
- * @since 7.0.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- protected function findEntities($sql, array $params = [], $limit = null, $offset = null) {
- $stmt = $this->execute($sql, $params, $limit, $offset);
-
- $entities = [];
-
- while ($row = $stmt->fetch()) {
- $entities[] = $this->mapRowToEntity($row);
- }
-
- $stmt->closeCursor();
-
- return $entities;
- }
-
-
- /**
- * Returns an db result and throws exceptions when there are more or less
- * results
- * @param string $sql the sql query
- * @param array $params the parameters of the sql query
- * @param int $limit the maximum number of rows
- * @param int $offset from which row we want to start
- * @throws DoesNotExistException if the item does not exist
- * @throws MultipleObjectsReturnedException if more than one item exist
- * @return Entity the entity
- * @since 7.0.0
- * @deprecated 14.0.0 Move over to QBMapper
- */
- protected function findEntity($sql, array $params = [], $limit = null, $offset = null) {
- return $this->mapRowToEntity($this->findOneQuery($sql, $params, $limit, $offset));
- }
-}
diff --git a/lib/public/AppFramework/Http/RedirectToDefaultAppResponse.php b/lib/public/AppFramework/Http/RedirectToDefaultAppResponse.php
index e957b245e53..ad11b53637b 100644
--- a/lib/public/AppFramework/Http/RedirectToDefaultAppResponse.php
+++ b/lib/public/AppFramework/Http/RedirectToDefaultAppResponse.php
@@ -32,14 +32,14 @@ use OCP\IURLGenerator;
* Redirects to the default app
*
* @since 16.0.0
- * @depreacted 23.0.0 Use RedirectResponse() with IURLGenerator::linkToDefaultPageUrl() instead
+ * @deprecated 23.0.0 Use RedirectResponse() with IURLGenerator::linkToDefaultPageUrl() instead
*/
class RedirectToDefaultAppResponse extends RedirectResponse {
/**
* Creates a response that redirects to the default app
*
* @since 16.0.0
- * @depreacted 23.0.0 Use RedirectResponse() with IURLGenerator::linkToDefaultPageUrl() instead
+ * @deprecated 23.0.0 Use RedirectResponse() with IURLGenerator::linkToDefaultPageUrl() instead
*/
public function __construct() {
/** @var IURLGenerator $urlGenerator */
diff --git a/lib/public/AppFramework/OCSController.php b/lib/public/AppFramework/OCSController.php
index 09c28667dcd..11bac9effd5 100644
--- a/lib/public/AppFramework/OCSController.php
+++ b/lib/public/AppFramework/OCSController.php
@@ -61,7 +61,7 @@ abstract class OCSController extends ApiController {
public function __construct($appName,
IRequest $request,
$corsMethods = 'PUT, POST, GET, DELETE, PATCH',
- $corsAllowedHeaders = 'Authorization, Content-Type, Accept',
+ $corsAllowedHeaders = 'Authorization, Content-Type, Accept, OCS-APIRequest',
$corsMaxAge = 1728000) {
parent::__construct($appName, $request, $corsMethods,
$corsAllowedHeaders, $corsMaxAge);
diff --git a/lib/public/Authentication/Events/AnyLoginFailedEvent.php b/lib/public/Authentication/Events/AnyLoginFailedEvent.php
new file mode 100644
index 00000000000..ddfec6d9da8
--- /dev/null
+++ b/lib/public/Authentication/Events/AnyLoginFailedEvent.php
@@ -0,0 +1,62 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright Copyright (c) 2022, Roeland Jago Douma <roeland@famdouma.nl>
+ *
+ * @author Roeland Jago Douma <roeland@famdouma.nl>
+ *
+ * @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/>.
+ *
+ */
+namespace OCP\Authentication\Events;
+
+use OCP\EventDispatcher\Event;
+
+/**
+ * Emitted when the authentication fails
+ *
+ * @since 26.0.0
+ */
+class AnyLoginFailedEvent extends Event {
+ private string $loginName;
+ private ?string $password;
+
+ /**
+ * @since 26.0.0
+ */
+ public function __construct(string $loginName, ?string $password) {
+ parent::__construct();
+
+ $this->loginName = $loginName;
+ $this->password = $password;
+ }
+
+ /**
+ * @since 26.0.0
+ */
+ public function geLoginName(): string {
+ return $this->loginName;
+ }
+
+ /**
+ * @since 26.0.0
+ */
+ public function getPassword(): ?string {
+ return $this->password;
+ }
+}
diff --git a/lib/public/Authentication/TwoFactorAuth/IRegistry.php b/lib/public/Authentication/TwoFactorAuth/IRegistry.php
index 1f1b82a4426..0f164902f67 100644
--- a/lib/public/Authentication/TwoFactorAuth/IRegistry.php
+++ b/lib/public/Authentication/TwoFactorAuth/IRegistry.php
@@ -53,7 +53,7 @@ interface IRegistry {
* the given user.
*
* @since 14.0.0
- * @return string[] where the array key is the provider ID (string) and the
+ * @return array<string, bool> where the array key is the provider ID (string) and the
* value is the enabled state (bool)
*/
public function getProviderStates(IUser $user): array;
diff --git a/lib/public/BeforeSabrePubliclyLoadedEvent.php b/lib/public/BeforeSabrePubliclyLoadedEvent.php
new file mode 100644
index 00000000000..afb68a8a952
--- /dev/null
+++ b/lib/public/BeforeSabrePubliclyLoadedEvent.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * @copyright Julien Veyssier <eneiluj@posteo.net> 2022
+ *
+ * @author Julien Veyssier <eneiluj@posteo.net>
+ *
+ * @license AGPL-3.0-or-later
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+namespace OCP;
+
+/**
+ * Dispatched before Sabre is loaded when accessing public webdav endpoints
+ * This can be used to inject a Sabre plugin for example
+ *
+ * @since 26.0.0
+ */
+class BeforeSabrePubliclyLoadedEvent extends SabrePluginEvent {
+}
diff --git a/lib/public/Calendar/ICalendar.php b/lib/public/Calendar/ICalendar.php
index 0d08e2ba268..2631ef327fc 100644
--- a/lib/public/Calendar/ICalendar.php
+++ b/lib/public/Calendar/ICalendar.php
@@ -37,9 +37,10 @@ interface ICalendar {
* @return string defining the technical unique key
* @since 13.0.0
*/
- public function getKey();
+ public function getKey(): string;
/**
+ * In comparison to getKey() this function returns a unique uri within the scope of the principal
* @since 24.0.0
*/
public function getUri(): string;
@@ -49,30 +50,36 @@ interface ICalendar {
* @return null|string
* @since 13.0.0
*/
- public function getDisplayName();
+ public function getDisplayName(): ?string;
/**
* Calendar color
* @return null|string
* @since 13.0.0
*/
- public function getDisplayColor();
+ public function getDisplayColor(): ?string;
/**
* @param string $pattern which should match within the $searchProperties
* @param array $searchProperties defines the properties within the query pattern should match
* @param array $options - optional parameters:
* ['timerange' => ['start' => new DateTime(...), 'end' => new DateTime(...)]]
- * @param integer|null $limit - limit number of search results
- * @param integer|null $offset - offset for paging of search results
+ * @param int|null $limit - limit number of search results
+ * @param int|null $offset - offset for paging of search results
* @return array an array of events/journals/todos which are arrays of key-value-pairs
* @since 13.0.0
*/
- public function search($pattern, array $searchProperties = [], array $options = [], $limit = null, $offset = null);
+ public function search(string $pattern, array $searchProperties = [], array $options = [], ?int $limit = null, ?int $offset = null): array;
/**
- * @return integer build up using \OCP\Constants
+ * @return int build up using \OCP\Constants
* @since 13.0.0
*/
- public function getPermissions();
+ public function getPermissions(): int;
+
+ /**
+ * Whether the calendar is deleted
+ * @since 26.0.0
+ */
+ public function isDeleted(): bool;
}
diff --git a/lib/public/Calendar/ICreateFromString.php b/lib/public/Calendar/ICreateFromString.php
index 8c4bdd44041..17d529cdef3 100644
--- a/lib/public/Calendar/ICreateFromString.php
+++ b/lib/public/Calendar/ICreateFromString.php
@@ -40,11 +40,4 @@ interface ICreateFromString extends ICalendar {
* @throws CalendarException
*/
public function createFromString(string $name, string $calendarData): void;
-
- /**
- * @since 25.0.0
- *
- * @throws CalendarException
- */
- public function handleIMipMessage(string $name, string $calendarData): void;
}
diff --git a/lib/public/Calendar/IHandleImipMessage.php b/lib/public/Calendar/IHandleImipMessage.php
new file mode 100644
index 00000000000..58c1400d987
--- /dev/null
+++ b/lib/public/Calendar/IHandleImipMessage.php
@@ -0,0 +1,48 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * @copyright 2022 Anna Larch <anna.larch@gmx.net>
+ *
+ * @author Anna Larch <anna.larch@gmx.net>
+ *
+ * @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/>.
+ *
+ */
+namespace OCP\Calendar;
+
+use OCP\Calendar\Exceptions\CalendarException;
+
+/**
+ * Extends the current ICalendar interface
+ * to add a public write method to handle
+ * iMIP data
+ *
+ * @link https://www.rfc-editor.org/rfc/rfc6047
+ *
+ * @since 26.0.0
+ */
+interface IHandleImipMessage extends ICalendar {
+
+ /**
+ * Handle an iMIP VEvent for validation and processing
+ *
+ * @since 26.0.0
+ *
+ * @throws CalendarException on validation failure or calendar write error
+ */
+ public function handleIMipMessage(string $name, string $calendarData): void;
+}
diff --git a/lib/public/Collaboration/Reference/IReference.php b/lib/public/Collaboration/Reference/IReference.php
index 0155ae86dd8..31608b52cc5 100644
--- a/lib/public/Collaboration/Reference/IReference.php
+++ b/lib/public/Collaboration/Reference/IReference.php
@@ -98,7 +98,7 @@ interface IReference extends JsonSerializable {
/**
* @since 25.0.0
*/
- public function getUrl(): ?string;
+ public function getUrl(): string;
/**
* Set the reference specific rich object representation
diff --git a/lib/private/Collaboration/Reference/Reference.php b/lib/public/Collaboration/Reference/Reference.php
index 22dc57782d8..6b92a0fae52 100644
--- a/lib/private/Collaboration/Reference/Reference.php
+++ b/lib/public/Collaboration/Reference/Reference.php
@@ -23,85 +23,149 @@ declare(strict_types=1);
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-namespace OC\Collaboration\Reference;
-
-use OCP\Collaboration\Reference\IReference;
+namespace OCP\Collaboration\Reference;
+/**
+ * @since 25.0.0
+ */
class Reference implements IReference {
- private string $reference;
+ protected string $reference;
- private bool $accessible = true;
+ protected bool $accessible = true;
- private ?string $title = null;
- private ?string $description = null;
- private ?string $imageUrl = null;
- private ?string $contentType = null;
- private ?string $url = null;
+ protected ?string $title = null;
+ protected ?string $description = null;
+ protected ?string $imageUrl = null;
+ protected ?string $contentType = null;
+ protected ?string $url = null;
- private ?string $richObjectType = null;
- private ?array $richObject = null;
+ protected ?string $richObjectType = null;
+ protected ?array $richObject = null;
+ /**
+ * @since 25.0.0
+ */
public function __construct(string $reference) {
$this->reference = $reference;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function getId(): string {
return $this->reference;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function setAccessible(bool $accessible): void {
$this->accessible = $accessible;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function getAccessible(): bool {
return $this->accessible;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function setTitle(string $title): void {
$this->title = $title;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function getTitle(): string {
return $this->title ?? $this->reference;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function setDescription(?string $description): void {
$this->description = $description;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function getDescription(): ?string {
return $this->description;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function setImageUrl(?string $imageUrl): void {
$this->imageUrl = $imageUrl;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function getImageUrl(): ?string {
return $this->imageUrl;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function setImageContentType(?string $contentType): void {
$this->contentType = $contentType;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function getImageContentType(): ?string {
return $this->contentType;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function setUrl(?string $url): void {
$this->url = $url;
}
- public function getUrl(): ?string {
- return $this->url;
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
+ public function getUrl(): string {
+ return $this->url ?? $this->reference;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function setRichObject(string $type, ?array $richObject): void {
$this->richObjectType = $type;
$this->richObject = $richObject;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function getRichObjectType(): string {
if ($this->richObjectType === null) {
return 'open-graph';
@@ -109,6 +173,10 @@ class Reference implements IReference {
return $this->richObjectType;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function getRichObject(): array {
if ($this->richObject === null) {
return $this->getOpenGraphObject();
@@ -116,6 +184,10 @@ class Reference implements IReference {
return $this->richObject;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function getOpenGraphObject(): array {
return [
'id' => $this->getId(),
@@ -126,6 +198,11 @@ class Reference implements IReference {
];
}
+ /**
+ * @param IReference $reference
+ * @return array
+ * @since 25.0.0
+ */
public static function toCache(IReference $reference): array {
return [
'id' => $reference->getId(),
@@ -140,6 +217,11 @@ class Reference implements IReference {
];
}
+ /**
+ * @param array $cache
+ * @return IReference
+ * @since 25.0.0
+ */
public static function fromCache(array $cache): IReference {
$reference = new Reference($cache['id']);
$reference->setTitle($cache['title']);
@@ -152,6 +234,10 @@ class Reference implements IReference {
return $reference;
}
+ /**
+ * @inheritdoc
+ * @since 25.0.0
+ */
public function jsonSerialize() {
return [
'richObjectType' => $this->getRichObjectType(),
diff --git a/lib/public/Contacts/IManager.php b/lib/public/Contacts/IManager.php
index 65be12c4c39..ce50f8d5b32 100644
--- a/lib/public/Contacts/IManager.php
+++ b/lib/public/Contacts/IManager.php
@@ -160,15 +160,6 @@ interface IManager {
public function register(\Closure $callable);
/**
- * Return a list of the user's addressbooks display names
- *
- * @return array
- * @since 6.0.0
- * @deprecated 16.0.0 - Use `$this->getUserAddressBooks()` instead
- */
- public function getAddressBooks();
-
- /**
* Return a list of the user's addressbooks
*
* @return \OCP\IAddressBook[]
diff --git a/lib/public/Dashboard/IConditionalWidget.php b/lib/public/Dashboard/IConditionalWidget.php
new file mode 100644
index 00000000000..4fdeec700d3
--- /dev/null
+++ b/lib/public/Dashboard/IConditionalWidget.php
@@ -0,0 +1,44 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright Copyright (c) 2022 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.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/>.
+ *
+ */
+
+namespace OCP\Dashboard;
+
+/**
+ * interface IConditionalWidget
+ *
+ * Allows an app to lazy-register a widget and in the lazy part of the code
+ * it can decide if the widget should really be registered.
+ *
+ * @since 26.0.0
+ */
+interface IConditionalWidget extends IWidget {
+
+ /**
+ * @return bool Whether the widget is enabled and should be registered
+ * @since 26.0.0
+ */
+ public function isEnabled(): bool;
+}
diff --git a/lib/public/Defaults.php b/lib/public/Defaults.php
index 7c6d73bcaea..cbef0ec79a4 100644
--- a/lib/public/Defaults.php
+++ b/lib/public/Defaults.php
@@ -135,7 +135,7 @@ class Defaults {
* name of your ownCloud instance containing HTML styles
* @return string
* @since 8.0.0
- * @depreacted 22.0.0
+ * @deprecated 22.0.0
*/
public function getHTMLName(): string {
return $this->defaults->getHTMLName();
diff --git a/lib/public/Files/SimpleFS/ISimpleFolder.php b/lib/public/Files/SimpleFS/ISimpleFolder.php
index 3c8e6e88ab3..ca60cc4c418 100644
--- a/lib/public/Files/SimpleFS/ISimpleFolder.php
+++ b/lib/public/Files/SimpleFS/ISimpleFolder.php
@@ -80,4 +80,21 @@ interface ISimpleFolder {
* @since 11.0.0
*/
public function getName(): string;
+
+ /**
+ * Get the folder named $name from the current folder
+ *
+ * @throws NotFoundException
+ * @since 25.0.0
+ */
+ public function getFolder(string $name): ISimpleFolder;
+
+ /**
+ * Creates a new folder with $name in the current folder
+ *
+ * @param string|resource|null $content @since 19.0.0
+ * @throws NotPermittedException
+ * @since 25.0.0
+ */
+ public function newFolder(string $path): ISimpleFolder;
}
diff --git a/lib/public/Files/Storage.php b/lib/public/Files/Storage.php
index 0a1a504b137..6f5a2f53673 100644
--- a/lib/public/Files/Storage.php
+++ b/lib/public/Files/Storage.php
@@ -244,22 +244,22 @@ interface Storage extends IStorage {
/**
* see https://www.php.net/manual/en/function.rename.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $source
+ * @param string $target
* @return bool
* @since 6.0.0
*/
- public function rename($path1, $path2);
+ public function rename($source, $target);
/**
* see https://www.php.net/manual/en/function.copy.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $soruce
+ * @param string $target
* @return bool
* @since 6.0.0
*/
- public function copy($path1, $path2);
+ public function copy($source, $target);
/**
* see https://www.php.net/manual/en/function.fopen.php
diff --git a/lib/public/Files/Storage/IStorage.php b/lib/public/Files/Storage/IStorage.php
index f42eb81bfec..eb5522909c6 100644
--- a/lib/public/Files/Storage/IStorage.php
+++ b/lib/public/Files/Storage/IStorage.php
@@ -241,22 +241,22 @@ interface IStorage {
/**
* see https://www.php.net/manual/en/function.rename.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $source
+ * @param string $target
* @return bool
* @since 9.0.0
*/
- public function rename($path1, $path2);
+ public function rename($source, $target);
/**
* see https://www.php.net/manual/en/function.copy.php
*
- * @param string $path1
- * @param string $path2
+ * @param string $source
+ * @param string $target
* @return bool
* @since 9.0.0
*/
- public function copy($path1, $path2);
+ public function copy($source, $target);
/**
* see https://www.php.net/manual/en/function.fopen.php
diff --git a/lib/public/Group/Events/GroupChangedEvent.php b/lib/public/Group/Events/GroupChangedEvent.php
new file mode 100644
index 00000000000..9cb5007a916
--- /dev/null
+++ b/lib/public/Group/Events/GroupChangedEvent.php
@@ -0,0 +1,94 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2022 Anna Larch <anna.larch@gmx.net>
+ *
+ * @author Anna Larch <anna.larch@gmx.net>
+ *
+ * @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/>.
+ *
+ */
+namespace OCP\Group\Events;
+
+use OCP\EventDispatcher\Event;
+use OCP\IGroup;
+
+/**
+ * @since 26.0.0
+ */
+class GroupChangedEvent extends Event {
+ private IGroup $group;
+ private string $feature;
+ /** @var mixed */
+ private $value;
+ /** @var mixed */
+ private $oldValue;
+
+ /**
+ * @since 26.0.0
+ */
+ public function __construct(IGroup $group,
+ string $feature,
+ $value,
+ $oldValue = null) {
+ parent::__construct();
+ $this->group = $group;
+ $this->feature = $feature;
+ $this->value = $value;
+ $this->oldValue = $oldValue;
+ }
+
+ /**
+ *
+ * @since 26.0.0
+ *
+ * @return IGroup
+ */
+ public function getGroup(): IGroup {
+ return $this->group;
+ }
+
+ /**
+ *
+ * @since 26.0.0
+ *
+ * @return string
+ */
+ public function getFeature(): string {
+ return $this->feature;
+ }
+
+ /**
+ * @since 26.0.0
+ *
+ * @return mixed
+ */
+ public function getValue() {
+ return $this->value;
+ }
+
+ /**
+ *
+ * @since 26.0.0
+ *
+ * @return mixed
+ */
+ public function getOldValue() {
+ return $this->oldValue;
+ }
+}
diff --git a/lib/public/IGroupManager.php b/lib/public/IGroupManager.php
index d942caac9b4..2e2685eeeb4 100644
--- a/lib/public/IGroupManager.php
+++ b/lib/public/IGroupManager.php
@@ -145,4 +145,14 @@ interface IGroupManager {
* @since 8.0.0
*/
public function isInGroup($userId, $group);
+
+ /**
+ * Get the display name of a Nextcloud group
+ *
+ * @param string $groupId
+ * @return ?string display name, if any
+ *
+ * @since 26.0.0
+ */
+ public function getDisplayName(string $groupId): ?string;
}
diff --git a/lib/public/IImage.php b/lib/public/IImage.php
index 659cd24720d..f1ac3bf1a50 100644
--- a/lib/public/IImage.php
+++ b/lib/public/IImage.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
@@ -33,69 +36,60 @@ interface IImage {
/**
* Determine whether the object contains an image resource.
*
- * @return bool
* @since 8.1.0
*/
- public function valid();
+ public function valid(): bool;
/**
- * Returns the MIME type of the image or an empty string if no image is loaded.
+ * Returns the MIME type of the image or null if no image is loaded.
*
- * @return string
* @since 8.1.0
*/
- public function mimeType();
+ public function mimeType(): ?string;
/**
* Returns the width of the image or -1 if no image is loaded.
*
- * @return int
* @since 8.1.0
*/
- public function width();
+ public function width(): int;
/**
* Returns the height of the image or -1 if no image is loaded.
*
- * @return int
* @since 8.1.0
*/
- public function height();
+ public function height(): int;
/**
* Returns the width when the image orientation is top-left.
*
- * @return int
* @since 8.1.0
*/
- public function widthTopLeft();
+ public function widthTopLeft(): int;
/**
* Returns the height when the image orientation is top-left.
*
- * @return int
* @since 8.1.0
*/
- public function heightTopLeft();
+ public function heightTopLeft(): int;
/**
* Outputs the image.
*
- * @param string $mimeType
- * @return bool
* @since 8.1.0
*/
- public function show($mimeType = null);
+ public function show(?string $mimeType = null): bool;
/**
* Saves the image.
*
* @param string $filePath
* @param string $mimeType
- * @return bool
* @since 8.1.0
*/
- public function save($filePath = null, $mimeType = null);
+ public function save(?string $filePath = null, ?string $mimeType = null): bool;
/**
* @return false|resource|\GdImage Returns the image resource if any
@@ -104,16 +98,17 @@ interface IImage {
public function resource();
/**
- * @return string Returns the raw data mimetype
+ * @return string Returns the mimetype of the data. Returns null
+ * if the data is not valid.
* @since 13.0.0
*/
- public function dataMimeType();
+ public function dataMimeType(): ?string;
/**
* @return string Returns the raw image data.
* @since 8.1.0
*/
- public function data();
+ public function data(): ?string;
/**
* (I'm open for suggestions on better method name ;)
@@ -122,25 +117,23 @@ interface IImage {
* @return int The orientation or -1 if no EXIF data is available.
* @since 8.1.0
*/
- public function getOrientation();
+ public function getOrientation(): int;
/**
* (I'm open for suggestions on better method name ;)
* Fixes orientation based on EXIF data.
*
- * @return bool
* @since 8.1.0
*/
- public function fixOrientation();
+ public function fixOrientation(): bool;
/**
* Resizes the image preserving ratio.
*
* @param integer $maxSize The maximum size of either the width or height.
- * @return bool
* @since 8.1.0
*/
- public function resize($maxSize);
+ public function resize(int $maxSize): bool;
/**
* @param int $width
@@ -157,7 +150,7 @@ interface IImage {
* @return bool for success or failure
* @since 8.1.0
*/
- public function centerCrop($size = 0);
+ public function centerCrop(int $size = 0): bool;
/**
* Crops the image from point $x$y with dimension $wx$h.
@@ -174,22 +167,22 @@ interface IImage {
/**
* Resizes the image to fit within a boundary while preserving ratio.
*
- * @param integer $maxWidth
- * @param integer $maxHeight
- * @return bool
+ * Warning: Images smaller than $maxWidth x $maxHeight will end up being scaled up
+ *
+ * @param int $maxWidth
+ * @param int $maxHeight
* @since 8.1.0
*/
- public function fitIn($maxWidth, $maxHeight);
+ public function fitIn(int $maxWidth, int $maxHeight): bool;
/**
* Shrinks the image to fit within a boundary while preserving ratio.
*
- * @param integer $maxWidth
- * @param integer $maxHeight
- * @return bool
+ * @param int $maxWidth
+ * @param int $maxHeight
* @since 8.1.0
*/
- public function scaleDownToFit($maxWidth, $maxHeight);
+ public function scaleDownToFit(int $maxWidth, int $maxHeight): bool;
/**
* create a copy of this image
@@ -222,9 +215,9 @@ interface IImage {
public function preciseResizeCopy(int $width, int $height): IImage;
/**
- * create a new resized copy of this image
+ * Resizes the image preserving ratio, returning a new copy
*
- * @param integer $maxSize The maximum size of either the width or height.
+ * @param int $maxSize The maximum size of either the width or height.
* @return IImage
* @since 19.0.0
*/
diff --git a/lib/public/ITags.php b/lib/public/ITags.php
index 03bcb845f4e..06497781bee 100644
--- a/lib/public/ITags.php
+++ b/lib/public/ITags.php
@@ -32,9 +32,6 @@ namespace OCP;
use OC\Tags;
-// FIXME: Where should I put this? Or should it be implemented as a Listener?
-\OC_Hook::connect('OC_User', 'post_deleteUser', Tags::class, 'post_deleteUser');
-
/**
* Class for easily tagging objects by their id
*
@@ -55,11 +52,9 @@ interface ITags {
/**
* Check if any tags are saved for this type and user.
- *
- * @return boolean
* @since 6.0.0
*/
- public function isEmpty();
+ public function isEmpty(): bool;
/**
* Returns an array mapping a given tag's properties to its values:
@@ -69,34 +64,40 @@ interface ITags {
* @return array|false
* @since 8.0.0
*/
- public function getTag($id);
+ public function getTag(string $id);
/**
* Get the tags for a specific user.
*
* This returns an array with id/name maps:
+ *
+ * ```php
* [
* ['id' => 0, 'name' = 'First tag'],
* ['id' => 1, 'name' = 'Second tag'],
* ]
+ * ```
*
- * @return array
+ * @return array<array-key, array{id: int, name: string}>
* @since 6.0.0
*/
- public function getTags();
+ public function getTags(): array;
/**
* Get a list of tags for the given item ids.
*
* This returns an array with object id / tag names:
+ *
+ * ```php
* [
* 1 => array('First tag', 'Second tag'),
* 2 => array('Second tag'),
* 3 => array('Second tag', 'Third tag'),
* ]
+ * ```
*
* @param array $objIds item ids
- * @return array|boolean with object id as key and an array
+ * @return array|false with object id as key and an array
* of tag names as value or false if an error occurred
* @since 8.0.0
*/
@@ -117,10 +118,9 @@ interface ITags {
* Checks whether a tag is already saved.
*
* @param string $name The name to check for.
- * @return bool
* @since 6.0.0
*/
- public function hasTag($name);
+ public function hasTag(string $name): bool;
/**
* Checks whether a tag is saved for the given user,
@@ -131,7 +131,7 @@ interface ITags {
* @return bool
* @since 8.0.0
*/
- public function userHasTag($name, $user);
+ public function userHasTag(string $name, string $user): bool;
/**
* Add a new tag.
@@ -140,7 +140,7 @@ interface ITags {
* @return int|false the id of the added tag or false if it already exists.
* @since 6.0.0
*/
- public function add($name);
+ public function add(string $name);
/**
* Rename tag.
@@ -150,19 +150,19 @@ interface ITags {
* @return bool
* @since 6.0.0
*/
- public function rename($from, $to);
+ public function rename($from, string $to): bool;
/**
* Add a list of new tags.
*
- * @param string[] $names A string with a name or an array of strings containing
+ * @param string|string[] $names A string with a name or an array of strings containing
* the name(s) of the to add.
* @param bool $sync When true, save the tags
* @param int|null $id int Optional object id to add to this|these tag(s)
* @return bool Returns false on error.
* @since 6.0.0
*/
- public function addMultiple($names, $sync = false, $id = null);
+ public function addMultiple($names, bool $sync = false, ?int $id = null): bool;
/**
* Delete tag/object relations from the db
diff --git a/lib/public/IURLGenerator.php b/lib/public/IURLGenerator.php
index 808ba66c862..b6d78876478 100644
--- a/lib/public/IURLGenerator.php
+++ b/lib/public/IURLGenerator.php
@@ -43,7 +43,16 @@ interface IURLGenerator {
*
* @since 25.0.0
*/
- public const URL_REGEX = '/(\s|\n|^)(https?:\/\/)?((?:[-A-Z0-9+_]+\.)+[-A-Z]+(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|\n|$)/mi';
+ public const URL_REGEX = '/' . self::URL_REGEX_NO_MODIFIERS . '/mi';
+
+ /**
+ * Regex for matching http(s) urls (without modifiers for client compatibility)
+ *
+ * This is a copy of the frontend regex in core/src/OCP/comments.js, make sure to adjust both when changing
+ *
+ * @since 25.0.0
+ */
+ public const URL_REGEX_NO_MODIFIERS = '(\s|\n|^)(https?:\/\/)((?:[-A-Z0-9+_]+\.)+[-A-Z]+(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|\n|$)';
/**
* Returns the URL for a route
diff --git a/lib/public/IUserManager.php b/lib/public/IUserManager.php
index af0d5f08809..8caa027468b 100644
--- a/lib/public/IUserManager.php
+++ b/lib/public/IUserManager.php
@@ -212,4 +212,12 @@ interface IUserManager {
* @since 9.1.0
*/
public function getByEmail($email);
+
+ /**
+ * @param string $uid The user ID to validate
+ * @param bool $checkDataDirectory Whether it should be checked if files for the ID exist inside the data directory
+ * @throws \InvalidArgumentException Message is an already translated string with a reason why the ID is not valid
+ * @since 26.0.0
+ */
+ public function validateUserId(string $uid, bool $checkDataDirectory = false): void;
}
diff --git a/lib/public/Migration/IMigrationStep.php b/lib/public/Migration/IMigrationStep.php
index 1b5aa828994..da9f62e861e 100644
--- a/lib/public/Migration/IMigrationStep.php
+++ b/lib/public/Migration/IMigrationStep.php
@@ -27,6 +27,7 @@ declare(strict_types=1);
*/
namespace OCP\Migration;
+use Closure;
use OCP\DB\ISchemaWrapper;
/**
@@ -34,7 +35,7 @@ use OCP\DB\ISchemaWrapper;
*/
interface IMigrationStep {
/**
- * Human readable name of the migration step
+ * Human-readable name of the migration step
*
* @return string
* @since 14.0.0
@@ -42,7 +43,7 @@ interface IMigrationStep {
public function name(): string;
/**
- * Human readable description of the migration steps
+ * Human-readable description of the migration step
*
* @return string
* @since 14.0.0
@@ -51,29 +52,29 @@ interface IMigrationStep {
/**
* @param IOutput $output
- * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @psalm-param Closure():ISchemaWrapper $schemaClosure
* @param array $options
* @since 13.0.0
*/
- public function preSchemaChange(IOutput $output, \Closure $schemaClosure, array $options);
+ public function preSchemaChange(IOutput $output, Closure $schemaClosure, array $options);
/**
* @param IOutput $output
- * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @psalm-param Closure():ISchemaWrapper $schemaClosure
* @param array $options
* @return null|ISchemaWrapper
* @since 13.0.0
*/
- public function changeSchema(IOutput $output, \Closure $schemaClosure, array $options);
+ public function changeSchema(IOutput $output, Closure $schemaClosure, array $options);
/**
* @param IOutput $output
- * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @psalm-param Closure():ISchemaWrapper $schemaClosure
* @param array $options
* @since 13.0.0
*/
- public function postSchemaChange(IOutput $output, \Closure $schemaClosure, array $options);
+ public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options);
}
diff --git a/lib/public/Migration/SimpleMigrationStep.php b/lib/public/Migration/SimpleMigrationStep.php
index e8d19f533ac..ee657cda470 100644
--- a/lib/public/Migration/SimpleMigrationStep.php
+++ b/lib/public/Migration/SimpleMigrationStep.php
@@ -28,12 +28,15 @@ declare(strict_types=1);
*/
namespace OCP\Migration;
+use Closure;
+use OCP\DB\ISchemaWrapper;
+
/**
* @since 13.0.0
*/
abstract class SimpleMigrationStep implements IMigrationStep {
/**
- * Human readable name of the migration step
+ * Human-readable name of the migration step
*
* @return string
* @since 14.0.0
@@ -43,7 +46,7 @@ abstract class SimpleMigrationStep implements IMigrationStep {
}
/**
- * Human readable description of the migration step
+ * Human-readable description of the migration step
*
* @return string
* @since 14.0.0
@@ -53,16 +56,21 @@ abstract class SimpleMigrationStep implements IMigrationStep {
}
/**
- * {@inheritDoc}
- *
+ * @param IOutput $output
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @psalm-param Closure():ISchemaWrapper $schemaClosure
+ * @param array $options
* @since 13.0.0
*/
public function preSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {
}
/**
- * {@inheritDoc}
- *
+ * @param IOutput $output
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @psalm-param Closure():ISchemaWrapper $schemaClosure
+ * @param array $options
+ * @return null|ISchemaWrapper
* @since 13.0.0
*/
public function changeSchema(IOutput $output, \Closure $schemaClosure, array $options) {
@@ -70,8 +78,10 @@ abstract class SimpleMigrationStep implements IMigrationStep {
}
/**
- * {@inheritDoc}
- *
+ * @param IOutput $output
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @psalm-param Closure():ISchemaWrapper $schemaClosure
+ * @param array $options
* @since 13.0.0
*/
public function postSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {
diff --git a/lib/public/Notification/IManager.php b/lib/public/Notification/IManager.php
index dbf4aab4ea4..82f0ced07ed 100644
--- a/lib/public/Notification/IManager.php
+++ b/lib/public/Notification/IManager.php
@@ -52,7 +52,7 @@ interface IManager extends IApp, INotifier {
* @param string $notifierService The service must implement INotifier, otherwise a
* \InvalidArgumentException is thrown later
* @since 17.0.0
- * @depreacted 22.0.0 use the IBootStrap registration context
+ * @deprecated 22.0.0 use the IBootStrap registration context
*/
public function registerNotifierService(string $notifierService): void;
diff --git a/lib/public/Preview/BeforePreviewFetchedEvent.php b/lib/public/Preview/BeforePreviewFetchedEvent.php
new file mode 100644
index 00000000000..37da63b95a1
--- /dev/null
+++ b/lib/public/Preview/BeforePreviewFetchedEvent.php
@@ -0,0 +1,51 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright Copyright (c) 2022 Julius Härtl <jus@bitgrid.net>
+ *
+ * @author Julius Härtl <jus@bitgrid.net>
+ *
+ * @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/>.
+ */
+
+
+namespace OCP\Preview;
+
+use OCP\Files\Node;
+
+/**
+ * @since 25.0.1
+ */
+class BeforePreviewFetchedEvent extends \OCP\EventDispatcher\Event {
+ private Node $node;
+
+ /**
+ * @since 25.0.1
+ */
+ public function __construct(Node $node) {
+ parent::__construct();
+ $this->node = $node;
+ }
+
+ /**
+ * @since 25.0.1
+ */
+ public function getNode(): Node {
+ return $this->node;
+ }
+}
diff --git a/lib/public/Profiler/IProfiler.php b/lib/public/Profiler/IProfiler.php
index 78325089523..5fa4582add7 100644
--- a/lib/public/Profiler/IProfiler.php
+++ b/lib/public/Profiler/IProfiler.php
@@ -98,4 +98,10 @@ interface IProfiler {
* @since 24.0.0
*/
public function collect(Request $request, Response $response): IProfile;
+
+ /**
+ * Clear the stored profiles
+ * @since 25.0.0
+ */
+ public function clear(): void;
}
diff --git a/lib/public/Security/IRemoteHostValidator.php b/lib/public/Security/IRemoteHostValidator.php
new file mode 100644
index 00000000000..99f149aee04
--- /dev/null
+++ b/lib/public/Security/IRemoteHostValidator.php
@@ -0,0 +1,51 @@
+<?php
+
+declare(strict_types=1);
+
+/*
+ * @copyright 2022 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @author 2022 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @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/>.
+ */
+
+namespace OCP\Security;
+
+/**
+ * Validator for remote hosts
+ *
+ * @since 26.0.0
+ */
+interface IRemoteHostValidator {
+
+ /**
+ * Validate if a host may be connected to
+ *
+ * By default, Nextcloud does not connect to any local servers. That is neither
+ * localhost nor any host in the local network.
+ *
+ * Admins can overwrite this behavior with the global `allow_local_remote_servers`
+ * settings flag. If the flag is set to `true`, local hosts will be considered
+ * valid.
+ *
+ * @param string $host hostname of the remote server, IPv4 or IPv6 address
+ *
+ * @return bool
+ * @since 26.0.0
+ */
+ public function isValid(string $host): bool;
+}
diff --git a/lib/public/Server.php b/lib/public/Server.php
index f4522e8ae10..92560e2b17e 100644
--- a/lib/public/Server.php
+++ b/lib/public/Server.php
@@ -41,9 +41,11 @@ use Psr\Container\NotFoundExceptionInterface;
final class Server {
/**
* @template T
- * @template S as class-string<T>|string
- * @param S $serviceName
- * @return (S is class-string<T> ? T : mixed)
+ * @param class-string<T>|string $serviceName
+ * @return T|mixed
+ * @psalm-template S as class-string<T>|string
+ * @psalm-param S $serviceName
+ * @psalm-return (S is class-string<T> ? T : mixed)
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
* @since 25.0.0
diff --git a/lib/public/Share/IManager.php b/lib/public/Share/IManager.php
index 0810acc673a..82a92428b31 100644
--- a/lib/public/Share/IManager.php
+++ b/lib/public/Share/IManager.php
@@ -211,7 +211,7 @@ interface IManager {
* Verify the password of a public share
*
* @param IShare $share
- * @param string $password
+ * @param ?string $password
* @return bool
* @since 9.0.0
*/
diff --git a/lib/public/Support/Subscription/IAssertion.php b/lib/public/Support/Subscription/IAssertion.php
new file mode 100644
index 00000000000..1ef6a7b7187
--- /dev/null
+++ b/lib/public/Support/Subscription/IAssertion.php
@@ -0,0 +1,44 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright Copyright (c) 2022 Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @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 <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCP\Support\Subscription;
+
+use OCP\HintException;
+
+/**
+ * @since 26.0.0
+ */
+interface IAssertion {
+ /**
+ * This method throws a localized exception when user limits are exceeded,
+ * if applicable. Notifications are also created in that case. It is a
+ * shorthand for a check against IRegistry::delegateIsHardUserLimitReached().
+ *
+ * @throws HintException
+ * @since 26.0.0
+ */
+ public function createUserIsLegit(): void;
+}
diff --git a/lib/public/Talk/IBroker.php b/lib/public/Talk/IBroker.php
index d28771544c8..705c39d2c01 100644
--- a/lib/public/Talk/IBroker.php
+++ b/lib/public/Talk/IBroker.php
@@ -71,4 +71,15 @@ interface IBroker {
public function createConversation(string $name,
array $moderators,
IConversationOptions $options = null): IConversation;
+
+ /**
+ * Delete a conversation by id
+ *
+ * @param string $id conversation id
+ *
+ * @return void
+ * @throws NoBackendException when Talk is not available
+ * @since 26.0.0
+ */
+ public function deleteConversation(string $id): void;
}
diff --git a/lib/public/Talk/IConversation.php b/lib/public/Talk/IConversation.php
index 43698b9069f..efa33c0b357 100644
--- a/lib/public/Talk/IConversation.php
+++ b/lib/public/Talk/IConversation.php
@@ -31,6 +31,14 @@ namespace OCP\Talk;
interface IConversation {
/**
+ * Get the unique token that identifies this conversation
+ *
+ * @return string
+ * @since 26.0.0
+ */
+ public function getId(): string;
+
+ /**
* Get the absolute URL to this conversation
*
* @return string
diff --git a/lib/public/Talk/ITalkBackend.php b/lib/public/Talk/ITalkBackend.php
index 700d5d8c4d3..605a15680d0 100644
--- a/lib/public/Talk/ITalkBackend.php
+++ b/lib/public/Talk/ITalkBackend.php
@@ -49,4 +49,14 @@ interface ITalkBackend {
public function createConversation(string $name,
array $moderators,
IConversationOptions $options): IConversation;
+
+ /**
+ * Delete a conversation by id
+ *
+ * @param string $id conversation id
+ *
+ * @return void
+ * @since 26.0.0
+ */
+ public function deleteConversation(string $id): void;
}
diff --git a/lib/private/App/AppStore/Bundles/CoreBundle.php b/lib/public/User/Backend/ICountMappedUsersBackend.php
index b1b182fd1ac..bf8770d484f 100644
--- a/lib/private/App/AppStore/Bundles/CoreBundle.php
+++ b/lib/public/User/Backend/ICountMappedUsersBackend.php
@@ -1,8 +1,11 @@
<?php
+
+declare(strict_types=1);
+
/**
- * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ * @copyright Copyright (c) 2022 Côme Chilliet <come.chilliet@nextcloud.com>
*
- * @author Lukas Reschke <lukas@statuscode.ch>
+ * @author Côme Chilliet <come.chilliet@nextcloud.com>
*
* @license GNU AGPL version 3 or any later version
*
@@ -20,23 +23,17 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-namespace OC\App\AppStore\Bundles;
-class CoreBundle extends Bundle {
-
- /**
- * {@inheritDoc}
- */
- public function getName() {
- return 'Core bundle';
- }
+namespace OCP\User\Backend;
+/**
+ * @since 24.0.7
+ */
+interface ICountMappedUsersBackend {
/**
- * {@inheritDoc}
+ * @since 24.0.7
+ *
+ * @return int The number of users already mapped to a Nextcloud account
*/
- public function getAppIdentifiers() {
- return [
- 'bruteforcesettings',
- ];
- }
+ public function countMappedUsers(): int;
}
diff --git a/lib/public/Util.php b/lib/public/Util.php
index 6cd3eaa7f85..b2b3322fe86 100644
--- a/lib/public/Util.php
+++ b/lib/public/Util.php
@@ -56,27 +56,6 @@ use bantu\IniGetWrapper\IniGetWrapper;
* @since 4.0.0
*/
class Util {
- /**
- * @deprecated 14.0.0 use \OCP\ILogger::DEBUG
- */
- public const DEBUG = 0;
- /**
- * @deprecated 14.0.0 use \OCP\ILogger::INFO
- */
- public const INFO = 1;
- /**
- * @deprecated 14.0.0 use \OCP\ILogger::WARN
- */
- public const WARN = 2;
- /**
- * @deprecated 14.0.0 use \OCP\ILogger::ERROR
- */
- public const ERROR = 3;
- /**
- * @deprecated 14.0.0 use \OCP\ILogger::FATAL
- */
- public const FATAL = 4;
-
/** @var \OCP\Share\IManager */
private static $shareManager;
@@ -344,11 +323,11 @@ class Util {
* is passed to this function
* @since 5.0.0
*/
- public static function getDefaultEmailAddress($user_part) {
+ public static function getDefaultEmailAddress(string $user_part): string {
$config = \OC::$server->getConfig();
- $user_part = $config->getSystemValue('mail_from_address', $user_part);
+ $user_part = $config->getSystemValueString('mail_from_address', $user_part);
$host_name = self::getServerHostName();
- $host_name = $config->getSystemValue('mail_domain', $host_name);
+ $host_name = $config->getSystemValueString('mail_domain', $host_name);
$defaultEmailAddress = $user_part.'@'.$host_name;
$mailer = \OC::$server->getMailer();