diff --git a/.github/translators.txt b/.github/translators.txt index e38cb8a51..aab08d764 100644 --- a/.github/translators.txt +++ b/.github/translators.txt @@ -484,3 +484,6 @@ Ilya Shaulov (ishaulov) :: Russian Konstantin Bobkov (b.konstantv) :: Russian Ruben Sutter (rubensutter) :: German jellium :: French +Qxlkdr :: Swedish +Hari (muhhari) :: Indonesian +仙君御 (xjy) :: Chinese Simplified diff --git a/app/Config/filesystems.php b/app/Config/filesystems.php index 08ae7b047..ab507a2f8 100644 --- a/app/Config/filesystems.php +++ b/app/Config/filesystems.php @@ -32,7 +32,6 @@ return [ 'local' => [ 'driver' => 'local', 'root' => public_path(), - 'visibility' => 'public', 'serve' => false, 'throw' => true, ], @@ -47,7 +46,6 @@ return [ 'local_secure_images' => [ 'driver' => 'local', 'root' => storage_path('uploads/images/'), - 'visibility' => 'public', 'serve' => false, 'throw' => true, ], diff --git a/app/Uploads/ImageStorageDisk.php b/app/Uploads/ImageStorageDisk.php index da8bacb34..8e364831f 100644 --- a/app/Uploads/ImageStorageDisk.php +++ b/app/Uploads/ImageStorageDisk.php @@ -5,6 +5,8 @@ namespace BookStack\Uploads; use BookStack\Util\FilePathNormalizer; use Illuminate\Contracts\Filesystem\Filesystem; use Illuminate\Filesystem\FilesystemAdapter; +use Illuminate\Support\Facades\Log; +use League\Flysystem\UnableToSetVisibility; use Symfony\Component\HttpFoundation\StreamedResponse; class ImageStorageDisk @@ -74,12 +76,19 @@ class ImageStorageDisk $path = $this->adjustPathForDisk($path); $this->filesystem->put($path, $data); - // Set visibility when a non-AWS-s3, s3-like storage option is in use. - // Done since this call can break s3-like services but desired for other image stores. - // Attempting to set ACL during above put request requires different permissions - // hence would technically be a breaking change for actual s3 usage. + // Set public visibility to ensure public access on S3, or that the file is accessible + // to other processes (like web-servers) for local file storage options. + // We avoid attempting this for (non-AWS) s3-like systems (even in a try-catch) as + // we've always avoided setting permissions for s3-like due to potential issues, + // with docs advising setting pre-configured permissions instead. + // We also don't do this as the default filesystem/driver level as that can technically + // require different ACLs for S3, and this provides us more logical control. if ($makePublic && !$this->isS3Like()) { - $this->filesystem->setVisibility($path, 'public'); + try { + $this->filesystem->setVisibility($path, 'public'); + } catch (UnableToSetVisibility $e) { + Log::warning("Unable to set visibility for image upload with relative path: {$path}"); + } } } diff --git a/composer.lock b/composer.lock index e3e592852..b3604dd47 100644 --- a/composer.lock +++ b/composer.lock @@ -62,16 +62,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.342.18", + "version": "3.343.3", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "e6c81bf323b082f8fe2b76d8d41e2614806d5892" + "reference": "d7ad5f6bdee792a16d2c9d5a3d9b56acfaaaf979" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/e6c81bf323b082f8fe2b76d8d41e2614806d5892", - "reference": "e6c81bf323b082f8fe2b76d8d41e2614806d5892", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d7ad5f6bdee792a16d2c9d5a3d9b56acfaaaf979", + "reference": "d7ad5f6bdee792a16d2c9d5a3d9b56acfaaaf979", "shasum": "" }, "require": { @@ -153,9 +153,9 @@ "support": { "forum": "https://github.com/aws/aws-sdk-php/discussions", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.342.18" + "source": "https://github.com/aws/aws-sdk-php/tree/3.343.3" }, - "time": "2025-04-01T18:15:02+00:00" + "time": "2025-05-02T18:04:58+00:00" }, { "name": "bacon/bacon-qr-code", @@ -922,16 +922,16 @@ }, { "name": "firebase/php-jwt", - "version": "v6.11.0", + "version": "v6.11.1", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "8f718f4dfc9c5d5f0c994cdfd103921b43592712" + "reference": "d1e91ecf8c598d073d0995afa8cd5c75c6e19e66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/8f718f4dfc9c5d5f0c994cdfd103921b43592712", - "reference": "8f718f4dfc9c5d5f0c994cdfd103921b43592712", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/d1e91ecf8c598d073d0995afa8cd5c75c6e19e66", + "reference": "d1e91ecf8c598d073d0995afa8cd5c75c6e19e66", "shasum": "" }, "require": { @@ -979,9 +979,9 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v6.11.0" + "source": "https://github.com/firebase/php-jwt/tree/v6.11.1" }, - "time": "2025-01-23T05:11:06+00:00" + "time": "2025-04-09T20:32:01+00:00" }, { "name": "fruitcake/php-cors", @@ -1740,16 +1740,16 @@ }, { "name": "laravel/framework", - "version": "v11.44.2", + "version": "v11.44.7", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "f85216c82cbd38b66d67ebd20ea762cb3751a4b4" + "reference": "00bc6ac91a6d577bf051c18ddaa638c0d221e1c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/f85216c82cbd38b66d67ebd20ea762cb3751a4b4", - "reference": "f85216c82cbd38b66d67ebd20ea762cb3751a4b4", + "url": "https://api.github.com/repos/laravel/framework/zipball/00bc6ac91a6d577bf051c18ddaa638c0d221e1c7", + "reference": "00bc6ac91a6d577bf051c18ddaa638c0d221e1c7", "shasum": "" }, "require": { @@ -1951,7 +1951,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-03-12T14:34:30+00:00" + "time": "2025-04-25T12:40:47+00:00" }, { "name": "laravel/prompts", @@ -2075,16 +2075,16 @@ }, { "name": "laravel/socialite", - "version": "v5.19.0", + "version": "v5.20.0", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", - "reference": "c40f843c5643fb6b089e46ce9794b8408bf08319" + "reference": "30972c12a41f71abeb418bc9ff157da8d9231519" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/c40f843c5643fb6b089e46ce9794b8408bf08319", - "reference": "c40f843c5643fb6b089e46ce9794b8408bf08319", + "url": "https://api.github.com/repos/laravel/socialite/zipball/30972c12a41f71abeb418bc9ff157da8d9231519", + "reference": "30972c12a41f71abeb418bc9ff157da8d9231519", "shasum": "" }, "require": { @@ -2143,7 +2143,7 @@ "issues": "https://github.com/laravel/socialite/issues", "source": "https://github.com/laravel/socialite" }, - "time": "2025-03-27T17:26:42+00:00" + "time": "2025-04-21T14:21:34+00:00" }, { "name": "laravel/tinker", @@ -2213,16 +2213,16 @@ }, { "name": "league/commonmark", - "version": "2.6.1", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "d990688c91cedfb69753ffc2512727ec646df2ad" + "reference": "6fbb36d44824ed4091adbcf4c7d4a3923cdb3405" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d990688c91cedfb69753ffc2512727ec646df2ad", - "reference": "d990688c91cedfb69753ffc2512727ec646df2ad", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/6fbb36d44824ed4091adbcf4c7d4a3923cdb3405", + "reference": "6fbb36d44824ed4091adbcf4c7d4a3923cdb3405", "shasum": "" }, "require": { @@ -2259,7 +2259,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.7-dev" + "dev-main": "2.8-dev" } }, "autoload": { @@ -2316,7 +2316,7 @@ "type": "tidelift" } ], - "time": "2024-12-29T14:10:59+00:00" + "time": "2025-05-05T12:20:28+00:00" }, { "name": "league/config", @@ -3285,16 +3285,16 @@ }, { "name": "nesbot/carbon", - "version": "3.9.0", + "version": "3.9.1", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "6d16a8a015166fe54e22c042e0805c5363aef50d" + "reference": "ced71f79398ece168e24f7f7710462f462310d4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/6d16a8a015166fe54e22c042e0805c5363aef50d", - "reference": "6d16a8a015166fe54e22c042e0805c5363aef50d", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/ced71f79398ece168e24f7f7710462f462310d4d", + "reference": "ced71f79398ece168e24f7f7710462f462310d4d", "shasum": "" }, "require": { @@ -3387,7 +3387,7 @@ "type": "tidelift" } ], - "time": "2025-03-27T12:57:33+00:00" + "time": "2025-05-01T19:51:51+00:00" }, { "name": "nette/schema", @@ -4102,16 +4102,16 @@ }, { "name": "predis/predis", - "version": "v2.3.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/predis/predis.git", - "reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9" + "reference": "f49e13ee3a2a825631562aa0223ac922ec5d058b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/predis/predis/zipball/bac46bfdb78cd6e9c7926c697012aae740cb9ec9", - "reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9", + "url": "https://api.github.com/repos/predis/predis/zipball/f49e13ee3a2a825631562aa0223ac922ec5d058b", + "reference": "f49e13ee3a2a825631562aa0223ac922ec5d058b", "shasum": "" }, "require": { @@ -4120,6 +4120,7 @@ "require-dev": { "friendsofphp/php-cs-fixer": "^3.3", "phpstan/phpstan": "^1.9", + "phpunit/phpcov": "^6.0 || ^8.0", "phpunit/phpunit": "^8.0 || ^9.4" }, "suggest": { @@ -4142,7 +4143,7 @@ "role": "Maintainer" } ], - "description": "A flexible and feature-complete Redis client for PHP.", + "description": "A flexible and feature-complete Redis/Valkey client for PHP.", "homepage": "http://github.com/predis/predis", "keywords": [ "nosql", @@ -4151,7 +4152,7 @@ ], "support": { "issues": "https://github.com/predis/predis/issues", - "source": "https://github.com/predis/predis/tree/v2.3.0" + "source": "https://github.com/predis/predis/tree/v2.4.0" }, "funding": [ { @@ -4159,7 +4160,7 @@ "type": "github" } ], - "time": "2024-11-21T20:00:02+00:00" + "time": "2025-04-30T15:16:02+00:00" }, { "name": "psr/clock", @@ -5189,16 +5190,16 @@ }, { "name": "socialiteproviders/okta", - "version": "4.4.0", + "version": "4.5.0", "source": { "type": "git", "url": "https://github.com/SocialiteProviders/Okta.git", - "reference": "5e47cd7b4c19da94ecafbd91fa430e4151c09806" + "reference": "b8b0d5ea72325ead82481524a48576aaf39356ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SocialiteProviders/Okta/zipball/5e47cd7b4c19da94ecafbd91fa430e4151c09806", - "reference": "5e47cd7b4c19da94ecafbd91fa430e4151c09806", + "url": "https://api.github.com/repos/SocialiteProviders/Okta/zipball/b8b0d5ea72325ead82481524a48576aaf39356ed", + "reference": "b8b0d5ea72325ead82481524a48576aaf39356ed", "shasum": "" }, "require": { @@ -5235,7 +5236,7 @@ "issues": "https://github.com/socialiteproviders/providers/issues", "source": "https://github.com/socialiteproviders/providers" }, - "time": "2023-12-12T01:59:17+00:00" + "time": "2024-11-07T21:57:40+00:00" }, { "name": "socialiteproviders/twitch", @@ -5488,16 +5489,16 @@ }, { "name": "symfony/console", - "version": "v7.2.5", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "e51498ea18570c062e7df29d05a7003585b19b88" + "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/e51498ea18570c062e7df29d05a7003585b19b88", - "reference": "e51498ea18570c062e7df29d05a7003585b19b88", + "url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218", + "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218", "shasum": "" }, "require": { @@ -5561,7 +5562,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.2.5" + "source": "https://github.com/symfony/console/tree/v7.2.6" }, "funding": [ { @@ -5577,7 +5578,7 @@ "type": "tidelift" } ], - "time": "2025-03-12T08:11:12+00:00" + "time": "2025-04-07T19:09:28+00:00" }, { "name": "symfony/css-selector", @@ -6008,16 +6009,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.2.5", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "371272aeb6286f8135e028ca535f8e4d6f114126" + "reference": "6023ec7607254c87c5e69fb3558255aca440d72b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/371272aeb6286f8135e028ca535f8e4d6f114126", - "reference": "371272aeb6286f8135e028ca535f8e4d6f114126", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/6023ec7607254c87c5e69fb3558255aca440d72b", + "reference": "6023ec7607254c87c5e69fb3558255aca440d72b", "shasum": "" }, "require": { @@ -6066,7 +6067,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.2.5" + "source": "https://github.com/symfony/http-foundation/tree/v7.2.6" }, "funding": [ { @@ -6082,20 +6083,20 @@ "type": "tidelift" } ], - "time": "2025-03-25T15:54:33+00:00" + "time": "2025-04-09T08:14:01+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.2.5", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "b1fe91bc1fa454a806d3f98db4ba826eb9941a54" + "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b1fe91bc1fa454a806d3f98db4ba826eb9941a54", - "reference": "b1fe91bc1fa454a806d3f98db4ba826eb9941a54", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f9dec01e6094a063e738f8945ef69c0cfcf792ec", + "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec", "shasum": "" }, "require": { @@ -6180,7 +6181,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.2.5" + "source": "https://github.com/symfony/http-kernel/tree/v7.2.6" }, "funding": [ { @@ -6196,20 +6197,20 @@ "type": "tidelift" } ], - "time": "2025-03-28T13:32:50+00:00" + "time": "2025-05-02T09:04:03+00:00" }, { "name": "symfony/mime", - "version": "v7.2.4", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "87ca22046b78c3feaff04b337f33b38510fd686b" + "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/87ca22046b78c3feaff04b337f33b38510fd686b", - "reference": "87ca22046b78c3feaff04b337f33b38510fd686b", + "url": "https://api.github.com/repos/symfony/mime/zipball/706e65c72d402539a072d0d6ad105fff6c161ef1", + "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1", "shasum": "" }, "require": { @@ -6264,7 +6265,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.2.4" + "source": "https://github.com/symfony/mime/tree/v7.2.6" }, "funding": [ { @@ -6280,11 +6281,11 @@ "type": "tidelift" } ], - "time": "2025-02-19T08:51:20+00:00" + "time": "2025-04-27T13:34:41+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -6343,7 +6344,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" }, "funding": [ { @@ -6363,7 +6364,7 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", @@ -6421,7 +6422,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" }, "funding": [ { @@ -6441,16 +6442,16 @@ }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", "shasum": "" }, "require": { @@ -6504,7 +6505,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.32.0" }, "funding": [ { @@ -6520,11 +6521,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-09-10T14:38:51+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -6585,7 +6586,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" }, "funding": [ { @@ -6605,19 +6606,20 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { + "ext-iconv": "*", "php": ">=7.2" }, "provide": { @@ -6665,7 +6667,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" }, "funding": [ { @@ -6681,20 +6683,20 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "shasum": "" }, "require": { @@ -6745,7 +6747,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" }, "funding": [ { @@ -6761,11 +6763,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", @@ -6821,7 +6823,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.32.0" }, "funding": [ { @@ -6841,7 +6843,7 @@ }, { "name": "symfony/polyfill-uuid", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", @@ -6900,7 +6902,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.32.0" }, "funding": [ { @@ -7145,16 +7147,16 @@ }, { "name": "symfony/string", - "version": "v7.2.0", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82" + "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82", - "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82", + "url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931", + "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931", "shasum": "" }, "require": { @@ -7212,7 +7214,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.2.0" + "source": "https://github.com/symfony/string/tree/v7.2.6" }, "funding": [ { @@ -7228,20 +7230,20 @@ "type": "tidelift" } ], - "time": "2024-11-13T13:31:26+00:00" + "time": "2025-04-20T20:18:16+00:00" }, { "name": "symfony/translation", - "version": "v7.2.4", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "283856e6981286cc0d800b53bd5703e8e363f05a" + "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/283856e6981286cc0d800b53bd5703e8e363f05a", - "reference": "283856e6981286cc0d800b53bd5703e8e363f05a", + "url": "https://api.github.com/repos/symfony/translation/zipball/e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", + "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", "shasum": "" }, "require": { @@ -7307,7 +7309,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.2.4" + "source": "https://github.com/symfony/translation/tree/v7.2.6" }, "funding": [ { @@ -7323,7 +7325,7 @@ "type": "tidelift" } ], - "time": "2025-02-13T10:27:23+00:00" + "time": "2025-04-07T19:09:28+00:00" }, { "name": "symfony/translation-contracts", @@ -7479,16 +7481,16 @@ }, { "name": "symfony/var-dumper", - "version": "v7.2.3", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "82b478c69745d8878eb60f9a049a4d584996f73a" + "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/82b478c69745d8878eb60f9a049a4d584996f73a", - "reference": "82b478c69745d8878eb60f9a049a4d584996f73a", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9c46038cd4ed68952166cf7001b54eb539184ccb", + "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb", "shasum": "" }, "require": { @@ -7542,7 +7544,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.2.3" + "source": "https://github.com/symfony/var-dumper/tree/v7.2.6" }, "funding": [ { @@ -7558,7 +7560,7 @@ "type": "tidelift" } ], - "time": "2025-01-17T11:39:41+00:00" + "time": "2025-04-09T08:14:01+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -7617,16 +7619,16 @@ }, { "name": "vlucas/phpdotenv", - "version": "v5.6.1", + "version": "v5.6.2", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2" + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", "shasum": "" }, "require": { @@ -7685,7 +7687,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" }, "funding": [ { @@ -7697,7 +7699,7 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:52:34+00:00" + "time": "2025-04-30T23:37:27+00:00" }, { "name": "voku/portable-ascii", @@ -7969,20 +7971,20 @@ }, { "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" + "php": "^7.4|^8.0" }, "replace": { "cordoval/hamcrest-php": "*", @@ -7990,8 +7992,8 @@ "kodova/hamcrest-php": "*" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { @@ -8014,22 +8016,22 @@ ], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" }, - "time": "2020-07-09T08:09:16+00:00" + "time": "2025-04-30T06:54:44+00:00" }, { "name": "iamcal/sql-parser", - "version": "v0.5", + "version": "v0.6", "source": { "type": "git", "url": "https://github.com/iamcal/SQLParser.git", - "reference": "644fd994de3b54e5d833aecf406150aa3b66ca88" + "reference": "947083e2dca211a6f12fb1beb67a01e387de9b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/iamcal/SQLParser/zipball/644fd994de3b54e5d833aecf406150aa3b66ca88", - "reference": "644fd994de3b54e5d833aecf406150aa3b66ca88", + "url": "https://api.github.com/repos/iamcal/SQLParser/zipball/947083e2dca211a6f12fb1beb67a01e387de9b62", + "reference": "947083e2dca211a6f12fb1beb67a01e387de9b62", "shasum": "" }, "require-dev": { @@ -8055,9 +8057,9 @@ "description": "MySQL schema parser", "support": { "issues": "https://github.com/iamcal/SQLParser/issues", - "source": "https://github.com/iamcal/SQLParser/tree/v0.5" + "source": "https://github.com/iamcal/SQLParser/tree/v0.6" }, - "time": "2024-03-22T22:46:32+00:00" + "time": "2025-03-17T16:59:46+00:00" }, { "name": "itsgoingd/clockwork", @@ -8137,40 +8139,40 @@ }, { "name": "larastan/larastan", - "version": "v3.2.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/larastan/larastan.git", - "reference": "d84d5a3b6536a586899ad6855a3e098473703690" + "reference": "1042fa0c2ee490bb6da7381f3323f7292ad68222" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/larastan/larastan/zipball/d84d5a3b6536a586899ad6855a3e098473703690", - "reference": "d84d5a3b6536a586899ad6855a3e098473703690", + "url": "https://api.github.com/repos/larastan/larastan/zipball/1042fa0c2ee490bb6da7381f3323f7292ad68222", + "reference": "1042fa0c2ee490bb6da7381f3323f7292ad68222", "shasum": "" }, "require": { "ext-json": "*", - "iamcal/sql-parser": "^0.5.0", - "illuminate/console": "^11.41.3 || ^12.0", - "illuminate/container": "^11.41.3 || ^12.0", - "illuminate/contracts": "^11.41.3 || ^12.0", - "illuminate/database": "^11.41.3 || ^12.0", - "illuminate/http": "^11.41.3 || ^12.0", - "illuminate/pipeline": "^11.41.3 || ^12.0", - "illuminate/support": "^11.41.3 || ^12.0", + "iamcal/sql-parser": "^0.6.0", + "illuminate/console": "^11.44.2 || ^12.4.1", + "illuminate/container": "^11.44.2 || ^12.4.1", + "illuminate/contracts": "^11.44.2 || ^12.4.1", + "illuminate/database": "^11.44.2 || ^12.4.1", + "illuminate/http": "^11.44.2 || ^12.4.1", + "illuminate/pipeline": "^11.44.2 || ^12.4.1", + "illuminate/support": "^11.44.2 || ^12.4.1", "php": "^8.2", - "phpstan/phpstan": "^2.1.3" + "phpstan/phpstan": "^2.1.11" }, "require-dev": { - "doctrine/coding-standard": "^12.0", - "laravel/framework": "^11.41.3 || ^12.0", - "mockery/mockery": "^1.6", - "nikic/php-parser": "^5.3", - "orchestra/canvas": "^v9.1.3 || ^10.0", - "orchestra/testbench-core": "^9.5.2 || ^10.0", - "phpstan/phpstan-deprecation-rules": "^2.0.0", - "phpunit/phpunit": "^10.5.35 || ^11.3.6" + "doctrine/coding-standard": "^13", + "laravel/framework": "^11.44.2 || ^12.7.2", + "mockery/mockery": "^1.6.12", + "nikic/php-parser": "^5.4", + "orchestra/canvas": "^v9.2.2 || ^10.0.1", + "orchestra/testbench-core": "^9.12.0 || ^10.1", + "phpstan/phpstan-deprecation-rules": "^2.0.1", + "phpunit/phpunit": "^10.5.35 || ^11.5.15" }, "suggest": { "orchestra/testbench": "Using Larastan for analysing a package needs Testbench" @@ -8199,13 +8201,9 @@ { "name": "Can Vural", "email": "can9119@gmail.com" - }, - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" } ], - "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan wrapper for Laravel", + "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel", "keywords": [ "PHPStan", "code analyse", @@ -8218,7 +8216,7 @@ ], "support": { "issues": "https://github.com/larastan/larastan/issues", - "source": "https://github.com/larastan/larastan/tree/v3.2.0" + "source": "https://github.com/larastan/larastan/tree/v3.4.0" }, "funding": [ { @@ -8226,7 +8224,7 @@ "type": "github" } ], - "time": "2025-03-14T21:54:26+00:00" + "time": "2025-04-22T09:44:59+00:00" }, { "name": "mockery/mockery", @@ -8313,16 +8311,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.13.0", + "version": "1.13.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "024473a478be9df5fdaca2c793f2232fe788e414" + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414", - "reference": "024473a478be9df5fdaca2c793f2232fe788e414", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/1720ddd719e16cf0db4eb1c6eca108031636d46c", + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c", "shasum": "" }, "require": { @@ -8361,7 +8359,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.1" }, "funding": [ { @@ -8369,42 +8367,43 @@ "type": "tidelift" } ], - "time": "2025-02-12T12:17:51+00:00" + "time": "2025-04-29T12:36:36+00:00" }, { "name": "nunomaduro/collision", - "version": "v8.7.0", + "version": "v8.8.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "586cb8181a257a2152b6a855ca8d9598878a1a26" + "reference": "4cf9f3b47afff38b139fb79ce54fc71799022ce8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/586cb8181a257a2152b6a855ca8d9598878a1a26", - "reference": "586cb8181a257a2152b6a855ca8d9598878a1a26", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/4cf9f3b47afff38b139fb79ce54fc71799022ce8", + "reference": "4cf9f3b47afff38b139fb79ce54fc71799022ce8", "shasum": "" }, "require": { - "filp/whoops": "^2.17.0", + "filp/whoops": "^2.18.0", "nunomaduro/termwind": "^2.3.0", "php": "^8.2.0", - "symfony/console": "^7.2.1" + "symfony/console": "^7.2.5" }, "conflict": { - "laravel/framework": "<11.39.1 || >=13.0.0", - "phpunit/phpunit": "<11.5.3 || >=12.0.0" + "laravel/framework": "<11.44.2 || >=13.0.0", + "phpunit/phpunit": "<11.5.15 || >=13.0.0" }, "require-dev": { - "larastan/larastan": "^2.10.0", - "laravel/framework": "^11.44.2", + "brianium/paratest": "^7.8.3", + "larastan/larastan": "^3.2", + "laravel/framework": "^11.44.2 || ^12.6", "laravel/pint": "^1.21.2", "laravel/sail": "^1.41.0", "laravel/sanctum": "^4.0.8", "laravel/tinker": "^2.10.1", - "orchestra/testbench-core": "^9.12.0", - "pestphp/pest": "^3.7.4", - "sebastian/environment": "^6.1.0 || ^7.2.0" + "orchestra/testbench-core": "^9.12.0 || ^10.1", + "pestphp/pest": "^3.8.0", + "sebastian/environment": "^7.2.0 || ^8.0" }, "type": "library", "extra": { @@ -8467,7 +8466,7 @@ "type": "patreon" } ], - "time": "2025-03-14T22:37:40+00:00" + "time": "2025-04-03T14:33:09+00:00" }, { "name": "phar-io/manifest", @@ -8589,16 +8588,16 @@ }, { "name": "phpstan/phpstan", - "version": "2.1.11", + "version": "2.1.14", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "8ca5f79a8f63c49b2359065832a654e1ec70ac30" + "reference": "8f2e03099cac24ff3b379864d171c5acbfc6b9a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8ca5f79a8f63c49b2359065832a654e1ec70ac30", - "reference": "8ca5f79a8f63c49b2359065832a654e1ec70ac30", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8f2e03099cac24ff3b379864d171c5acbfc6b9a2", + "reference": "8f2e03099cac24ff3b379864d171c5acbfc6b9a2", "shasum": "" }, "require": { @@ -8643,7 +8642,7 @@ "type": "github" } ], - "time": "2025-03-24T13:45:00+00:00" + "time": "2025-05-02T15:32:28+00:00" }, { "name": "phpunit/php-code-coverage", @@ -8970,16 +8969,16 @@ }, { "name": "phpunit/phpunit", - "version": "11.5.15", + "version": "11.5.19", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c" + "reference": "0da1ebcdbc4d5bd2d189cfe02846a89936d8dda5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c", - "reference": "4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0da1ebcdbc4d5bd2d189cfe02846a89936d8dda5", + "reference": "0da1ebcdbc4d5bd2d189cfe02846a89936d8dda5", "shasum": "" }, "require": { @@ -8989,7 +8988,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.0", + "myclabs/deep-copy": "^1.13.1", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.2", @@ -9051,7 +9050,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.15" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.19" }, "funding": [ { @@ -9062,12 +9061,20 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2025-03-23T16:02:11+00:00" + "time": "2025-05-02T06:56:52+00:00" }, { "name": "sebastian/cli-parser", @@ -9997,16 +10004,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.12.0", + "version": "3.12.2", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "2d1b63db139c3c6ea0c927698e5160f8b3b8d630" + "reference": "6d4cf6032d4b718f168c90a96e36c7d0eaacb2aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/2d1b63db139c3c6ea0c927698e5160f8b3b8d630", - "reference": "2d1b63db139c3c6ea0c927698e5160f8b3b8d630", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/6d4cf6032d4b718f168c90a96e36c7d0eaacb2aa", + "reference": "6d4cf6032d4b718f168c90a96e36c7d0eaacb2aa", "shasum": "" }, "require": { @@ -10077,7 +10084,7 @@ "type": "thanks_dev" } ], - "time": "2025-03-18T05:04:51+00:00" + "time": "2025-04-13T04:10:18+00:00" }, { "name": "ssddanbrown/asserthtml", diff --git a/dev/licensing/js-library-licenses.txt b/dev/licensing/js-library-licenses.txt index 52949e3cd..14c0c8f49 100644 --- a/dev/licensing/js-library-licenses.txt +++ b/dev/licensing/js-library-licenses.txt @@ -3656,6 +3656,13 @@ Copyright: Copyright (c) 2017-present Devon Govett Source: https://github.com/parcel-bundler/watcher.git Link: https://github.com/parcel-bundler/watcher.git ----------- +@parcel/watcher-linux-x64-musl +License: MIT +License File: node_modules/@parcel/watcher-linux-x64-musl/LICENSE +Copyright: Copyright (c) 2017-present Devon Govett +Source: https://github.com/parcel-bundler/watcher.git +Link: https://github.com/parcel-bundler/watcher.git +----------- @parcel/watcher License: MIT License File: node_modules/@parcel/watcher/LICENSE diff --git a/lang/ar/activities.php b/lang/ar/activities.php index bf5d4411f..69da12138 100644 --- a/lang/ar/activities.php +++ b/lang/ar/activities.php @@ -64,7 +64,7 @@ return [ // Auth 'auth_login' => 'تم تسجيل الدخول', 'auth_register' => 'سجل كمستخدم جديد', - 'auth_password_reset_request' => 'طلب رابط جديد لإعادة تعيين كلمة المرور', + 'auth_password_reset_request' => 'طلب رابط جديد لإعادة تعيين كلمة السر', 'auth_password_reset_update' => 'إعادة تعيين كلمة مرور المستخدم', 'mfa_setup_method' => 'طريقة المصادقة متعددة العوامل المُهيأة', 'mfa_setup_method_notification' => 'تم إعداد المصادقة متعددة العوامل بنجاح', diff --git a/lang/ar/auth.php b/lang/ar/auth.php index 3890589cd..fb6f3d1cf 100644 --- a/lang/ar/auth.php +++ b/lang/ar/auth.php @@ -26,7 +26,7 @@ return [ 'remember_me' => 'تذكرني', 'ldap_email_hint' => 'الرجاء إدخال عنوان بريد إلكتروني لاستخدامه مع الحساب.', 'create_account' => 'إنشاء حساب', - 'already_have_account' => 'لديك حساب بالفعل؟', + 'already_have_account' => 'لديك حساب مسبقاً؟', 'dont_have_account' => 'ليس لديك حساب؟', 'social_login' => 'تسجيل الدخول باستخدام حسابات التواصل الاجتماعي', 'social_registration' => 'إنشاء حساب باستخدام حسابات التواصل الاجتماعي', @@ -45,7 +45,7 @@ return [ // Password Reset 'reset_password' => 'استعادة كلمة السر', - 'reset_password_send_instructions' => 'أدخل بريدك الإلكتروني بالأسفل وسيتم إرسال رسالة برابط لاستعادة كلمة المرور.', + 'reset_password_send_instructions' => 'أدخل بريدك الإلكتروني بالأسفل وسيتم إرسال رسالة برابط لاستعادة كلمة السر.', 'reset_password_send_button' => 'أرسل رابط الاستعادة', 'reset_password_sent' => 'سيتم إرسال رابط إعادة تعيين كلمة السر إلى عنوان البريد الإلكتروني هذا إذا كان موجودًا في النظام.', 'reset_password_success' => 'تمت استعادة كلمة السر بنجاح.', @@ -60,7 +60,7 @@ return [ 'email_confirm_action' => 'تأكيد البريد الإلكتروني', 'email_confirm_send_error' => 'تأكيد البريد الإلكتروني مطلوب ولكن النظام لم يستطع إرسال الرسالة. تواصل مع مشرف النظام للتأكد من إعدادات البريد.', 'email_confirm_success' => 'تم تأكيد بريدك الإلكتروني! يمكنك الآن تسجيل الدخول باستخدام عنوان البريد الإلكتروني هذا.', - 'email_confirm_resent' => 'تمت إعادة إرسال رسالة التأكيد. الرجاء مراجعة صندوق الوارد', + 'email_confirm_resent' => 'تمت إعادة إرسال رسالة التأكيد، الرجاء مراجعة صندوق الوارد.', 'email_confirm_thanks' => 'شكرا للتأكيد!', 'email_confirm_thanks_desc' => 'الرجاء الانتظار لحظة بينما يتم التعامل مع التأكيد الخاص بك. إذا لم يتم إعادة توجيهك بعد 3 ثوان اضغط على الرابط "المتابعة" أدناه للمتابعة.', @@ -72,24 +72,24 @@ return [ // User Invite 'user_invite_email_subject' => 'تمت دعوتك للانضمام إلى صفحة الحالة الخاصة بـ :app_name!', - 'user_invite_email_greeting' => 'تم إنشاء حساب مستخدم لك على %site%.', - 'user_invite_email_text' => 'انقر على الزر أدناه لتعيين كلمة مرور الحساب والحصول على الوصول:', + 'user_invite_email_greeting' => 'تم إنشاء حساب مستخدم لك على :appName.', + 'user_invite_email_text' => 'انقر على الزر أدناه لتعيين كلمة سر الحساب والحصول على الوصول:', 'user_invite_email_action' => 'كلمة سر المستخدم', 'user_invite_page_welcome' => 'مرحبا بكم في :appName!', 'user_invite_page_text' => 'لإكمال حسابك والحصول على حق الوصول تحتاج إلى تعيين كلمة السر سيتم استخدامها لتسجيل الدخول إلى :appName في الزيارات المستقبلية.', 'user_invite_page_confirm_button' => 'تأكيد كلمة السر', - 'user_invite_success_login' => 'تم تأكيد كلمة السر. يمكنك الآن تسجيل الدخول باستخدام كلمة المرور المحددة للوصول إلى :appName!', + 'user_invite_success_login' => 'تم تأكيد كلمة السر. يمكنك الآن تسجيل الدخول باستخدام كلمة السر المحددة للوصول إلى :appName !', // Multi-factor Authentication 'mfa_setup' => 'إعداد المصادقة متعددة العوامل', 'mfa_setup_desc' => 'إعداد المصادقة متعددة العوامل كطبقة إضافية من الأمان لحساب المستخدم الخاص بك.', 'mfa_setup_configured' => 'تم إعداده مسبقاً', 'mfa_setup_reconfigure' => 'إعادة التكوين', - 'mfa_setup_remove_confirmation' => 'هل أنت متأكد من أنك تريد إزالة طريقة المصادقة متعددة العوامل هذه؟', - 'mfa_setup_action' => 'إعداد (تنصيب)', + 'mfa_setup_remove_confirmation' => 'متأكد من أنك تريد إزالة طريقة المصادقة متعددة العوامل هذه؟', + 'mfa_setup_action' => 'إعداد', 'mfa_backup_codes_usage_limit_warning' => 'لديك أقل من 5 رموز احتياطية متبقية، الرجاء إنشاء وتخزين مجموعة جديدة قبل نفاد الرموز لتجنب إغلاق حسابك.', 'mfa_option_totp_title' => 'تطبيق الجوال', - 'mfa_option_totp_desc' => 'لاستخدام المصادقة المتعددة العوامل، ستحتاج إلى تطبيق جوال يدعم كلمة المرور المؤقته -TOTP- مثل جوجل أوثنتيكاتور -Google Authenticator- أو أوثي -Authy- أو مايكروسوفت أوثنتيكاتور -Microsoft Authenticator-.', + 'mfa_option_totp_desc' => 'لاستخدام المصادقة المتعددة العوامل، ستحتاج إلى تطبيق جوال يدعم كلمة السر المؤقته -TOTP- مثل جوجل أوثنتيكاتور -Google Authenticator- أو أوثي -Authy- أو مايكروسوفت أوثنتيكاتور -Microsoft Authenticator-.', 'mfa_option_backup_codes_title' => 'رموز النسخ الاحتياطي', 'mfa_option_backup_codes_desc' => 'إنشاء مجموعة من رموز النسخ الاحتياطية للاستخدام مرة واحدة و التي سَتُدِخلها عند تسجيل الدخول للتحقق من هويتك. احرص أن تخزينها في مكان آمن.', 'mfa_gen_confirm_and_enable' => 'تأكيد وتمكين', @@ -98,7 +98,7 @@ return [ 'mfa_gen_backup_codes_download' => 'تنزيل الرموز', 'mfa_gen_backup_codes_usage_warning' => 'يمكن استخدام كل رمز مرة واحدة فقط', 'mfa_gen_totp_title' => 'إعداد تطبيق الجوال', - 'mfa_gen_totp_desc' => 'لاستخدام المصادقة المتعددة ، ستحتاج إلى تطبيق جوال كلمة المرور المؤقته -TOTP- مثل جوجل أوثنتيكاتور -Google Authenticator- أو أوثي -Authy- أو مايكروسوفت أوثنتيكاتور -Microsoft Authenticator-.', + 'mfa_gen_totp_desc' => 'لاستخدام المصادقة المتعددة ، ستحتاج إلى تطبيق جوال كلمة السر المؤقته -TOTP- مثل جوجل أوثنتيكاتور -Google Authenticator- أو أوثي -Authy- أو مايكروسوفت أوثنتيكاتور -Microsoft Authenticator-.', 'mfa_gen_totp_scan' => 'امسح رمز الاستجابة السريعة -QR- أدناه باستخدام تطبيق المصادقة المفضل لديك للبدء.', 'mfa_gen_totp_verify_setup' => 'التحقق من الإعداد', 'mfa_gen_totp_verify_setup_desc' => 'تحقق أن كل شيء يعمل عن طريق إدخال رمز تم إنشاؤه داخل تطبيق المصادقة الخاص بك في مربع الإدخال أدناه:', diff --git a/lang/ar/errors.php b/lang/ar/errors.php index b50c95c23..4c6325cb3 100644 --- a/lang/ar/errors.php +++ b/lang/ar/errors.php @@ -16,7 +16,7 @@ return [ 'email_confirmation_expired' => 'صلاحية رابط التأكيد انتهت, تم إرسال رسالة تأكيد جديدة لعنوان البريد الإلكتروني.', 'email_confirmation_awaiting' => 'عنوان البريد الإلكتروني للحساب قيد الاستخدام يحتاج إلى تأكيد', 'ldap_fail_anonymous' => 'فشل الوصول إلى LDAP باستخدام الربط المجهول', - 'ldap_fail_authed' => 'فشل الوصول إلى LDAP باستخدام dn و password المعطاة', + 'ldap_fail_authed' => 'فشل الوصول إلى LDAP باستخدام dn و كلمة السر المعطاة', 'ldap_extension_not_installed' => 'لم يتم تثبيت إضافة LDAP PHP', 'ldap_cannot_connect' => 'لا يمكن الاتصال بخادم ldap, فشل الاتصال المبدئي', 'saml_already_logged_in' => 'تم تسجيل الدخول بالفعل', diff --git a/lang/ar/passwords.php b/lang/ar/passwords.php index 4ab447d5d..1e8a10ccc 100644 --- a/lang/ar/passwords.php +++ b/lang/ar/passwords.php @@ -6,10 +6,10 @@ */ return [ - 'password' => 'يجب أن تتكون كلمة المرور من ستة أحرف على الأقل وأن تطابق التأكيد.', + 'password' => 'يجب أن تتكون كلمة السر من ستة أحرف على الأقل وأن تطابق التأكيد.', 'user' => "لم يتم العثور على مستخدم بعنوان البريد الإلكتروني المعطى.", - 'token' => 'رمز إعادة تعيين كلمة المرور غير صالح لعنوان هذا البريد الإلكتروني.', - 'sent' => 'تم إرسال رابط تجديد كلمة المرور إلى بريدكم الإلكتروني!', - 'reset' => 'تم تجديد كلمة المرور الخاصة بكم!', + 'token' => 'رمز إعادة تعيين كلمة السر غير صالح لعنوان هذا البريد الإلكتروني.', + 'sent' => 'تم إرسال رابط تجديد كلمة السر إلى بريدكم الإلكتروني!', + 'reset' => 'تم تجديد كلمة السر الخاصة بكم!', ]; diff --git a/lang/ar/settings.php b/lang/ar/settings.php index b7c8ad411..8e615fc9c 100644 --- a/lang/ar/settings.php +++ b/lang/ar/settings.php @@ -220,12 +220,12 @@ return [ 'users_role' => 'أدوار المستخدمين', 'users_role_desc' => 'حدد الأدوار التي سيتم تعيين هذا المستخدم لها. إذا تم تعيين مستخدم لأدوار متعددة ، فسيتم تكديس الأذونات من هذه الأدوار وسيتلقى كل قدرات الأدوار المعينة.', 'users_password' => 'كلمة مرور المستخدم', - 'users_password_desc' => 'عيّن كلمة مرور لتسجيل الدخول إلى التطبيق. يجب ألا تقل عن 8 أحرف.', - 'users_send_invite_text' => 'يمكنك اختيار إرسال دعوة بالبريد الإلكتروني إلى هذا المستخدم مما يسمح له بتعيين كلمة المرور الخاصة به أو يمكنك تعيين كلمة المرور الخاصة به بنفسك.', + 'users_password_desc' => 'عيّن كلمة سر لتسجيل الدخول إلى التطبيق. يجب ألا تقل عن 8 أحرف.', + 'users_send_invite_text' => 'يمكنك اختيار إرسال دعوة بالبريد الإلكتروني إلى هذا المستخدم مما يسمح له بتعيين كلمة السر الخاصة به أو يمكنك تعيين كلمة المرور الخاصة به بنفسك.', 'users_send_invite_option' => 'أرسل بريدًا إلكترونيًا لدعوة المستخدم', 'users_external_auth_id' => 'ربط الحساب بمواقع التواصل', 'users_external_auth_id_desc' => 'عند استخدام نظام مصادقة خارجي (مثل SAML2 أو OIDC أو LDAP)، يكون هذا هو المعرف الذي يربط مستخدم بوكستاك -BookStack- بحساب نظام المصادقة. يمكنك تجاهل هذا الحقل عند استخدام المصادقة الافتراضية عبر البريد الإلكتروني.', - 'users_password_warning' => 'قم بملء الحقل أدناه فقط إذا كنت ترغب في تغيير كلمة المرور لهذا المستخدم.', + 'users_password_warning' => 'قم بملء الحقل أدناه فقط إذا كنت ترغب في تغيير كلمة السر لهذا المستخدم.', 'users_system_public' => 'هذا المستخدم يمثل أي ضيف يقوم بزيارة شيء يخصك. لا يمكن استخدامه لتسجيل الدخول ولكن يتم تعيينه تلقائياً.', 'users_delete' => 'حذف المستخدم', 'users_delete_named' => 'حذف المستخدم :userName', diff --git a/lang/ar/validation.php b/lang/ar/validation.php index 32a376865..c27770fe3 100644 --- a/lang/ar/validation.php +++ b/lang/ar/validation.php @@ -113,7 +113,7 @@ return [ // Custom validation lines 'custom' => [ 'password-confirm' => [ - 'required_with' => 'يجب تأكيد كلمة المرور', + 'required_with' => 'يجب تأكيد كلمة السر', ], ], diff --git a/lang/de/activities.php b/lang/de/activities.php index cfb21a4c9..025cbaeff 100644 --- a/lang/de/activities.php +++ b/lang/de/activities.php @@ -50,7 +50,7 @@ return [ 'bookshelf_delete_notification' => 'Regal erfolgreich gelöscht', // Revisions - 'revision_restore' => 'widerherstellte Revision', + 'revision_restore' => 'stellte Revision wieder her:', 'revision_delete' => 'löschte Revision', 'revision_delete_notification' => 'Revision erfolgreich gelöscht', @@ -128,12 +128,12 @@ return [ 'comment_delete' => 'Kommentar gelöscht', // Sort Rules - 'sort_rule_create' => 'Sortierregel erstellt', - 'sort_rule_create_notification' => 'Sort rule successfully created', - 'sort_rule_update' => 'updated sort rule', - 'sort_rule_update_notification' => 'Sort rule successfully updated', - 'sort_rule_delete' => 'deleted sort rule', - 'sort_rule_delete_notification' => 'Sort rule successfully deleted', + 'sort_rule_create' => 'hat eine Sortierregel erstellt', + 'sort_rule_create_notification' => 'Sortierregel erfolgreich angelegt', + 'sort_rule_update' => 'hat eine Sortierregel aktualisiert', + 'sort_rule_update_notification' => 'Sortierregel erfolgreich aktualisiert', + 'sort_rule_delete' => 'hat eine Sortierregel gelöscht', + 'sort_rule_delete_notification' => 'Sortierregel erfolgreich gelöscht', // Other 'permissions_update' => 'hat die Berechtigungen aktualisiert', diff --git a/lang/de/editor.php b/lang/de/editor.php index 179c66784..41ec74e52 100644 --- a/lang/de/editor.php +++ b/lang/de/editor.php @@ -13,7 +13,7 @@ return [ 'cancel' => 'Abbrechen', 'save' => 'Speichern', 'close' => 'Schließen', - 'apply' => 'Apply', + 'apply' => 'Übernehmen', 'undo' => 'Rückgängig', 'redo' => 'Wiederholen', 'left' => 'Links', @@ -148,7 +148,7 @@ return [ 'url' => 'URL', 'text_to_display' => 'Anzuzeigender Text', 'title' => 'Titel', - 'browse_links' => 'Browse links', + 'browse_links' => 'Links durchsuchen', 'open_link' => 'Link öffnen', 'open_link_in' => 'Link öffnen in...', 'open_link_current' => 'Aktuelles Fenster', diff --git a/lang/de/entities.php b/lang/de/entities.php index 9377c7efc..767696eb3 100644 --- a/lang/de/entities.php +++ b/lang/de/entities.php @@ -40,8 +40,8 @@ return [ 'export_text' => 'Textdatei', 'export_md' => 'Markdown-Datei', 'export_zip' => 'Portable ZIP', - 'default_template' => 'Standard Seitenvorlage', - 'default_template_explain' => 'Zuweisen einer Seitenvorlage, die als Standardinhalt für alle Seiten verwendet wird, die innerhalb dieses Elements erstellt wurden. Beachten Sie, dass dies nur dann verwendet wird, wenn der Ersteller der Seite Zugriff auf die ausgewählte Vorlagen-Seite hat.', + 'default_template' => 'Standard-Seitenvorlage', + 'default_template_explain' => 'Bestimmen Sie eine Seitenvorlage, die als Standardinhalt für alle Seiten verwendet wird, die innerhalb dieses Elements erstellt werden. Beachten Sie, dass dies nur dann verwendet wird, wenn der Ersteller der Seite Lesezugriff auf die ausgewählte Vorlagen-Seite hat.', 'default_template_select' => 'Wählen Sie eine Seitenvorlage', 'import' => 'Import', 'import_validate' => 'Import validieren', @@ -87,7 +87,7 @@ return [ 'search_terms' => 'Suchbegriffe', 'search_content_type' => 'Inhaltstyp', 'search_exact_matches' => 'Exakte Treffer', - 'search_tags' => 'Nach Schlagwort suchen', + 'search_tags' => 'Schlagwort-Suchen', 'search_options' => 'Optionen', 'search_viewed_by_me' => 'Schon von mir angesehen', 'search_not_viewed_by_me' => 'Noch nicht von mir angesehen', @@ -166,9 +166,9 @@ return [ 'books_search_this' => 'Dieses Buch durchsuchen', 'books_navigation' => 'Buchnavigation', 'books_sort' => 'Buchinhalte sortieren', - 'books_sort_desc' => 'Move chapters and pages within a book to reorganise its contents. Other books can be added which allows easy moving of chapters and pages between books. Optionally an auto sort rule can be set to automatically sort this book\'s contents upon changes.', - 'books_sort_auto_sort' => 'Auto Sort Option', - 'books_sort_auto_sort_active' => 'Auto Sort Active: :sortName', + 'books_sort_desc' => 'Kapitel und Seiten innerhalb eines Buches verschieben, um dessen Inhalt zu reorganisieren. Andere Bücher können hinzugefügt werden, was das Verschieben von Kapiteln und Seiten zwischen Büchern erleichtert. Optional kann eine automatische Sortierregel erstellt werden, um den Inhalt dieses Buches nach Änderungen automatisch zu sortieren.', + 'books_sort_auto_sort' => 'Auto-Sortieroption', + 'books_sort_auto_sort_active' => 'Automatische Sortierung aktiv: :sortName', 'books_sort_named' => 'Buch ":bookName" sortieren', 'books_sort_name' => 'Sortieren nach Namen', 'books_sort_created' => 'Sortieren nach Erstellungsdatum', @@ -243,12 +243,12 @@ return [ 'pages_edit_delete_draft' => 'Entwurf löschen', 'pages_edit_delete_draft_confirm' => 'Sind Sie sicher, dass Sie Ihren Entwurf löschen möchten? Alle Ihre Änderungen seit dem letzten vollständigen Speichern gehen verloren und der Editor wird mit dem letzten Speicherzustand aktualisiert, der kein Entwurf ist.', 'pages_edit_discard_draft' => 'Entwurf verwerfen', - 'pages_edit_switch_to_markdown' => 'Zum Markdown Editor wechseln', - 'pages_edit_switch_to_markdown_clean' => '(gesäuberter Output)', - 'pages_edit_switch_to_markdown_stable' => '(html beibehalten)', - 'pages_edit_switch_to_wysiwyg' => 'Wechseln Sie zum WYSIWYG-Editor', - 'pages_edit_switch_to_new_wysiwyg' => 'Zu neuem WYSIWYG wechseln', - 'pages_edit_switch_to_new_wysiwyg_desc' => '(In Alpha Testing)', + 'pages_edit_switch_to_markdown' => 'Zum Markdown-Editor wechseln', + 'pages_edit_switch_to_markdown_clean' => '(Gesäuberter Inhalt)', + 'pages_edit_switch_to_markdown_stable' => '(Stabiler Inhalt)', + 'pages_edit_switch_to_wysiwyg' => 'Zum WYSIWYG-Editor wechseln', + 'pages_edit_switch_to_new_wysiwyg' => 'Zum neuen WYSIWYG wechseln', + 'pages_edit_switch_to_new_wysiwyg_desc' => '(In Alpha-Testphase)', 'pages_edit_set_changelog' => 'Änderungsprotokoll hinzufügen', 'pages_edit_enter_changelog_desc' => 'Bitte geben Sie eine kurze Zusammenfassung Ihrer Änderungen ein', 'pages_edit_enter_changelog' => 'Änderungsprotokoll eingeben', @@ -332,7 +332,7 @@ return [ 'tag' => 'Schlagwort', 'tags' => 'Schlagwörter', 'tags_index_desc' => 'Tags können auf Inhalte im System angewendet werden, um eine flexible Form der Kategorisierung anzuwenden. Tags können sowohl einen Schlüssel als auch einen Wert haben, wobei der Wert optional ist. Einmal angewendet, können Inhalte unter Verwendung des Tag-Namens und Wertes abgefragt werden.', - 'tag_name' => 'Schlagwort Name', + 'tag_name' => 'Schlagwortname', 'tag_value' => 'Inhalt (Optional)', 'tags_explain' => "Fügen Sie Schlagwörter hinzu, um Ihren Inhalt zu kategorisieren.\nSie können einen erklärenden Inhalt hinzufügen, um eine genauere Unterteilung vorzunehmen.", 'tags_add' => 'Weiteres Schlagwort hinzufügen', @@ -392,7 +392,7 @@ return [ 'comment' => 'Kommentar', 'comments' => 'Kommentare', 'comment_add' => 'Kommentieren', - 'comment_placeholder' => 'Geben Sie hier Ihre Kommentare ein (Markdown unterstützt)', + 'comment_placeholder' => 'Geben Sie hier Ihre Kommentare ein', 'comment_count' => '{0} Keine Kommentare|{1} 1 Kommentar|[2,*] :count Kommentare', 'comment_save' => 'Kommentar speichern', 'comment_new' => 'Neuer Kommentar', diff --git a/lang/de/passwords.php b/lang/de/passwords.php index 5896297e0..c93ccb4dd 100644 --- a/lang/de/passwords.php +++ b/lang/de/passwords.php @@ -8,7 +8,7 @@ return [ 'password' => 'Passwörter müssen aus mindestens acht Zeichen bestehen und mit der eingegebenen Wiederholung übereinstimmen.', 'user' => "Es wurde kein Benutzer mit dieser E-Mail-Adresse gefunden.", - 'token' => 'Der Link zum Zurücksetzen Ihres Passworts ist entweder ungültig oder abgelaufen.', + 'token' => 'Der Token zum Zurücksetzen des Passworts ist für diese E-Mail-Adresse ungültig.', 'sent' => 'Der Link zum Zurücksetzen Ihres Passwortes wurde Ihnen per E-Mail zugesendet.', 'reset' => 'Ihr Passwort wurde zurückgesetzt!', diff --git a/lang/de/preferences.php b/lang/de/preferences.php index 291e0f9f6..26f0b05da 100644 --- a/lang/de/preferences.php +++ b/lang/de/preferences.php @@ -35,12 +35,12 @@ return [ 'auth_change_password_success' => 'Das Passwort wurde aktualisiert!', 'profile' => 'Profildetails', - 'profile_desc' => 'Verwalten Sie die Details Ihres Kontos welche Sie gegenüber anderen Benutzern repräsentiert, zusätzlich zu den Details die für die Kommunikation und Personalisierung des Systems genutzt werden.', - 'profile_view_public' => 'Öffentliches Profil zeigen', - 'profile_name_desc' => 'Konfigurieren Sie Ihren Anzeigenamen, der durch die Aktivität, die Sie ausführen, für andere Benutzer und Ihre eigenen Inhalte im System sichtbar ist.', + 'profile_desc' => 'Verwalten Sie die Details Ihres Kontos, welches Sie gegenüber anderen Benutzern repräsentiert, zusätzlich zu den Details, die für die Kommunikation und Personalisierung des Systems genutzt werden.', + 'profile_view_public' => 'Öffentliches Profil anzeigen', + 'profile_name_desc' => 'Konfigurieren Sie Ihren Anzeigenamen, der durch die Aktivität, die Sie ausführen, und die Ihnen gehörenden Inhalte für andere Benutzer sichtbar ist.', 'profile_email_desc' => 'Diese E-Mail wird für Benachrichtigungen und, je nach aktiver Systemauthentifizierung, den Systemzugriff verwendet.', 'profile_email_no_permission' => 'Leider haben Sie nicht die Berechtigung, Ihre E-Mail-Adresse zu ändern. Wenn Sie diese ändern möchten, wenden Sie sich bitte an Ihren Administrator.', - 'profile_avatar_desc' => 'Wählen Sie ein Bild, dass anderen im System angezeigt wird, um Sie zu repräsentieren. Idealerweise sollte dieses Bild quadratisch und etwa 256px breit und hoch sein.', + 'profile_avatar_desc' => 'Wählen Sie ein Bild aus, das anderen im System angezeigt wird, um Sie zu repräsentieren. Idealerweise sollte dieses Bild quadratisch und etwa 256px breit und hoch sein.', 'profile_admin_options' => 'Administratoroptionen', 'profile_admin_options_desc' => 'Weitere Administrator-Optionen wie zum Beispiel die Verwaltung von Rollenzuweisungen für Ihr Benutzerkonto finden Sie im Bereich "Einstellungen > Benutzer" der Anwendung.', diff --git a/lang/de/settings.php b/lang/de/settings.php index c83d0ef37..a6b6482e3 100644 --- a/lang/de/settings.php +++ b/lang/de/settings.php @@ -19,17 +19,17 @@ return [ 'app_name_desc' => 'Dieser Name wird im Header und in E-Mails angezeigt.', 'app_name_header' => 'Anwendungsname im Header anzeigen?', 'app_public_access' => 'Öffentlicher Zugriff', - 'app_public_access_desc' => 'Wenn Sie diese Option aktivieren können Besucher, die nicht angemeldet sind, auf Inhalte in Ihrer BookStack-Instanz zugreifen.', + 'app_public_access_desc' => 'Wenn Sie diese Option aktivieren, können Besucher, die nicht angemeldet sind, auf Inhalte in Ihrer BookStack-Instanz zugreifen.', 'app_public_access_desc_guest' => 'Der Zugang für öffentliche Besucher kann über den Benutzer "Guest" gesteuert werden.', 'app_public_access_toggle' => 'Öffentlichen Zugriff erlauben', 'app_public_viewing' => 'Öffentliche Ansicht erlauben?', 'app_secure_images' => 'Erhöhte Sicherheit für hochgeladene Bilder aktivieren?', - 'app_secure_images_toggle' => 'Aktiviere höhere Sicherheit für Bild-Uploads', + 'app_secure_images_toggle' => 'Höhere Sicherheit für Bild-Uploads aktivieren', 'app_secure_images_desc' => 'Aus Leistungsgründen sind alle Bilder öffentlich sichtbar. Diese Option fügt zufällige, schwer zu erratende, Zeichenketten zu Bild-URLs hinzu. Stellen Sie sicher, dass Verzeichnisindizes deaktiviert sind, um einen einfachen Zugriff zu verhindern.', 'app_default_editor' => 'Standard-Seiten-Editor', 'app_default_editor_desc' => 'Wählen Sie aus, welcher Editor standardmäßig beim Bearbeiten neuer Seiten verwendet wird. Dies kann auf einer Seitenebene überschrieben werden, wenn es die Berechtigungen erlauben.', - 'app_custom_html' => 'Benutzerdefinierter HTML
Inhalt', - 'app_custom_html_desc' => 'Jeder Inhalt, der hier hinzugefügt wird, wird am Ende der Sektion jeder Seite eingefügt. Diese kann praktisch sein, um CSS Styles anzupassen oder Analytics-Code hinzuzufügen.', + 'app_custom_html' => 'Benutzerdefinierter HTML-Head-Inhalt', + 'app_custom_html_desc' => 'Jeder Inhalt, der hier hinzugefügt wird, wird am Ende der -Sektion jeder Seite eingefügt. Diese kann praktisch sein, um CSS-Styles anzupassen oder Analytics-Code hinzuzufügen.', 'app_custom_html_disabled_notice' => 'Benutzerdefinierte HTML-Kopfzeileninhalte sind auf dieser Einstellungsseite deaktiviert, um sicherzustellen, dass alle Änderungen rückgängig gemacht werden können.', 'app_logo' => 'Anwendungslogo', 'app_logo_desc' => 'Dies wird unter anderem in der Kopfzeile der Anwendung verwendet. Dieses Bild sollte 86px hoch sein. Große Bilder werden herunterskaliert.', @@ -76,34 +76,34 @@ Hinweis: Benutzer können ihre E-Mail-Adresse nach erfolgreicher Registrierung 'reg_confirm_restrict_domain_placeholder' => 'Keine Einschränkung gesetzt', // Sorting Settings - 'sorting' => 'Sorting', - 'sorting_book_default' => 'Default Book Sort', - 'sorting_book_default_desc' => 'Select the default sort rule to apply to new books. This won\'t affect existing books, and can be overridden per-book.', - 'sorting_rules' => 'Sort Rules', - 'sorting_rules_desc' => 'These are predefined sorting operations which can be applied to content in the system.', - 'sort_rule_assigned_to_x_books' => 'Assigned to :count Book|Assigned to :count Books', - 'sort_rule_create' => 'Create Sort Rule', - 'sort_rule_edit' => 'Edit Sort Rule', - 'sort_rule_delete' => 'Delete Sort Rule', - 'sort_rule_delete_desc' => 'Remove this sort rule from the system. Books using this sort will revert to manual sorting.', - 'sort_rule_delete_warn_books' => 'This sort rule is currently used on :count book(s). Are you sure you want to delete this?', - 'sort_rule_delete_warn_default' => 'This sort rule is currently used as the default for books. Are you sure you want to delete this?', - 'sort_rule_details' => 'Sort Rule Details', - 'sort_rule_details_desc' => 'Set a name for this sort rule, which will appear in lists when users are selecting a sort.', - 'sort_rule_operations' => 'Sort Operations', - 'sort_rule_operations_desc' => 'Configure the sort actions to be performed by moving them from the list of available operations. Upon use, the operations will be applied in order, from top to bottom. Any changes made here will be applied to all assigned books upon save.', - 'sort_rule_available_operations' => 'Available Operations', - 'sort_rule_available_operations_empty' => 'No operations remaining', - 'sort_rule_configured_operations' => 'Configured Operations', - 'sort_rule_configured_operations_empty' => 'Drag/add operations from the "Available Operations" list', - 'sort_rule_op_asc' => '(Asc)', - 'sort_rule_op_desc' => '(Desc)', - 'sort_rule_op_name' => 'Name - Alphabetical', - 'sort_rule_op_name_numeric' => 'Name - Numeric', - 'sort_rule_op_created_date' => 'Created Date', - 'sort_rule_op_updated_date' => 'Updated Date', - 'sort_rule_op_chapters_first' => 'Chapters First', - 'sort_rule_op_chapters_last' => 'Chapters Last', + 'sorting' => 'Sortierung', + 'sorting_book_default' => 'Standard-Buchsortierung', + 'sorting_book_default_desc' => 'Wählen Sie die Standard-Sortierregel aus, die auf neue Bücher angewendet werden soll. Dies wirkt sich nicht auf bestehende Bücher aus und kann pro Buch überschrieben werden.', + 'sorting_rules' => 'Sortierregeln', + 'sorting_rules_desc' => 'Dies sind vordefinierte Sortieraktionen, die auf Inhalte im System angewendet werden können.', + 'sort_rule_assigned_to_x_books' => ':count Buch zugewiesen|:count Büchern zugewiesen', + 'sort_rule_create' => 'Sortierregel erstellen', + 'sort_rule_edit' => 'Sortierregel bearbeiten', + 'sort_rule_delete' => 'Sortierregel löschen', + 'sort_rule_delete_desc' => 'Diese Sortierregel aus dem System entfernen. Bücher mit dieser Sortierung werden auf manuelle Sortierung zurückgesetzt.', + 'sort_rule_delete_warn_books' => 'Diese Sortierregel wird derzeit in :count Bücher(n) verwendet. Sind Sie sicher, dass Sie dies löschen möchten?', + 'sort_rule_delete_warn_default' => 'Diese Sortierregel wird derzeit als Standard für Bücher verwendet. Sind Sie sicher, dass Sie dies löschen möchten?', + 'sort_rule_details' => 'Sortierregel-Details', + 'sort_rule_details_desc' => 'Legen Sie einen Namen für diese Sortierregel fest, der in Listen erscheint, wenn Benutzer eine Sortierung auswählen.', + 'sort_rule_operations' => 'Sortierungs-Aktionen', + 'sort_rule_operations_desc' => 'Konfigurieren Sie die durchzuführenden Sortieraktionen durch Verschieben von der Liste der verfügbaren Aktionen. Bei der Verwendung werden die Aktionen von oben nach unten angewendet. Alle hier vorgenommenen Änderungen werden beim Speichern auf alle zugewiesenen Bücher angewendet.', + 'sort_rule_available_operations' => 'Verfügbare Aktionen', + 'sort_rule_available_operations_empty' => 'Keine verbleibenden Aktionen', + 'sort_rule_configured_operations' => 'Konfigurierte Aktionen', + 'sort_rule_configured_operations_empty' => 'Aktionen aus der Liste "Verfügbare Operationen" ziehen/hinzufügen', + 'sort_rule_op_asc' => '(Aufst.)', + 'sort_rule_op_desc' => '(Abst.)', + 'sort_rule_op_name' => 'Name - Alphabetisch', + 'sort_rule_op_name_numeric' => 'Name - Numerisch', + 'sort_rule_op_created_date' => 'Erstellungsdatum', + 'sort_rule_op_updated_date' => 'Aktualisierungsdatum', + 'sort_rule_op_chapters_first' => 'Kapitel zuerst', + 'sort_rule_op_chapters_last' => 'Kapitel zuletzt', // Maintenance settings 'maint' => 'Wartung', @@ -114,11 +114,11 @@ Hinweis: Benutzer können ihre E-Mail-Adresse nach erfolgreicher Registrierung 'maint_image_cleanup_warning' => ':count eventuell unbenutze Bilder wurden gefunden. Möchten Sie diese Bilder löschen?', 'maint_image_cleanup_success' => ':count eventuell unbenutze Bilder wurden gefunden und gelöscht.', 'maint_image_cleanup_nothing_found' => 'Keine unbenutzen Bilder gefunden. Nichts zu löschen!', - 'maint_send_test_email' => 'Test Email versenden', - 'maint_send_test_email_desc' => 'Dies sendet eine Test E-Mail an Ihre in Ihrem Profil angegebene E-Mail-Adresse.', - 'maint_send_test_email_run' => 'Sende eine Test E-Mail', + 'maint_send_test_email' => 'Eine Test-E-Mail versenden', + 'maint_send_test_email_desc' => 'Dies sendet eine Test-E-Mail an Ihre in Ihrem Profil angegebene E-Mail-Adresse.', + 'maint_send_test_email_run' => 'Test-E-Mail senden', 'maint_send_test_email_success' => 'E-Mail wurde an :address gesendet', - 'maint_send_test_email_mail_subject' => 'Test E-Mail', + 'maint_send_test_email_mail_subject' => 'Test-E-Mail', 'maint_send_test_email_mail_greeting' => 'E-Mail-Versand scheint zu funktionieren!', 'maint_send_test_email_mail_text' => 'Glückwunsch! Da Sie diese E-Mail Benachrichtigung erhalten haben, scheinen Ihre E-Mail-Einstellungen korrekt konfiguriert zu sein.', 'maint_recycle_bin_desc' => 'Gelöschte Regale, Bücher, Kapitel & Seiten werden in den Papierkorb verschoben, so dass sie wiederhergestellt oder dauerhaft gelöscht werden können. Ältere Gegenstände im Papierkorb können, in Abhängigkeit von der Systemkonfiguration, nach einer Weile automatisch entfernt werden.', @@ -159,7 +159,7 @@ Hinweis: Benutzer können ihre E-Mail-Adresse nach erfolgreicher Registrierung 'audit_table_user' => 'Benutzer', 'audit_table_event' => 'Ereignis', 'audit_table_related' => 'Verknüpftes Element oder Detail', - 'audit_table_ip' => 'IP Adresse', + 'audit_table_ip' => 'IP-Adresse', 'audit_table_date' => 'Aktivitätsdatum', 'audit_date_from' => 'Zeitraum von', 'audit_date_to' => 'Zeitraum bis', diff --git a/lang/de/validation.php b/lang/de/validation.php index 10961eb7f..2ffad0529 100644 --- a/lang/de/validation.php +++ b/lang/de/validation.php @@ -9,7 +9,7 @@ return [ // Standard laravel validation lines 'accepted' => ':attribute muss akzeptiert werden.', - 'active_url' => ':attribute ist keine valide URL.', + 'active_url' => ':attribute ist keine gültige URL.', 'after' => ':attribute muss ein Datum nach :date sein.', 'alpha' => ':attribute kann nur Buchstaben enthalten.', 'alpha_dash' => ':attribute kann nur Buchstaben, Zahlen und Bindestriche enthalten.', @@ -25,12 +25,12 @@ return [ ], 'boolean' => ':attribute Feld muss wahr oder falsch sein.', 'confirmed' => ':attribute stimmt nicht überein.', - 'date' => ':attribute ist kein valides Datum.', + 'date' => ':attribute ist kein gültiges Datum.', 'date_format' => ':attribute entspricht nicht dem Format :format.', 'different' => ':attribute und :other müssen unterschiedlich sein.', 'digits' => ':attribute muss :digits Stellen haben.', 'digits_between' => ':attribute muss zwischen :min und :max Stellen haben.', - 'email' => ':attribute muss eine valide E-Mail-Adresse sein.', + 'email' => ':attribute muss eine gültige E-Mail-Adresse sein.', 'ends_with' => ':attribute muss mit einem der folgenden Werte: :values enden', 'file' => ':attribute muss als gültige Datei angegeben werden.', 'filled' => ':attribute ist erforderlich.', @@ -51,8 +51,8 @@ return [ 'image_extension' => ':attribute muss eine gültige und unterstützte Bild-Dateiendung haben.', 'in' => ':attribute ist ungültig.', 'integer' => ':attribute muss eine Zahl sein.', - 'ip' => ':attribute muss eine valide IP-Adresse sein.', - 'ipv4' => ':attribute muss eine gültige IPv4 Adresse sein.', + 'ip' => ':attribute muss eine gültige IP-Adresse sein.', + 'ipv4' => ':attribute muss eine gültige IPv4-Adresse sein.', 'ipv6' => ':attribute muss eine gültige IPv6-Adresse sein.', 'json' => 'Das Attribut muss eine gültige JSON-Zeichenfolge sein.', 'lt' => [ @@ -80,8 +80,8 @@ return [ 'string' => ':attribute muss mindestens :min Zeichen lang sein.', 'array' => ':attribute muss mindesten :min Elemente enthalten.', ], - 'not_in' => ':attribute ist ungültig.', - 'not_regex' => ':attribute ist kein valides Format.', + 'not_in' => 'Das ausgewählte :attribute ist ungültig.', + 'not_regex' => ':attribute ist kein gültiges Format.', 'numeric' => ':attribute muss eine Zahl sein.', 'regex' => ':attribute ist in einem ungültigen Format.', 'required' => ':attribute ist erforderlich.', @@ -99,10 +99,10 @@ return [ 'array' => ':attribute muss :size Elemente enthalten.', ], 'string' => ':attribute muss eine Zeichenkette sein.', - 'timezone' => ':attribute muss eine valide zeitzone sein.', + 'timezone' => ':attribute muss eine gültige Zeitzone sein.', 'totp' => 'Der angegebene Code ist ungültig oder abgelaufen.', 'unique' => ':attribute wird bereits verwendet.', - 'url' => ':attribute ist kein valides Format.', + 'url' => ':attribute ist kein gültiges Format.', 'uploaded' => 'Die Datei konnte nicht hochgeladen werden. Der Server akzeptiert möglicherweise keine Dateien dieser Größe.', 'zip_file' => ':attribute muss eine Datei innerhalb des ZIP referenzieren.', diff --git a/lang/de_informal/activities.php b/lang/de_informal/activities.php index 3ebd8dfd2..990bfa0bc 100644 --- a/lang/de_informal/activities.php +++ b/lang/de_informal/activities.php @@ -6,51 +6,51 @@ return [ // Pages - 'page_create' => 'erstellt Seite', + 'page_create' => 'erstellte Seite', 'page_create_notification' => 'Seite erfolgreich erstellt', - 'page_update' => 'Seite aktualisiert', + 'page_update' => 'aktualisierte Seite', 'page_update_notification' => 'Seite erfolgreich aktualisiert', - 'page_delete' => 'Seite gelöscht', + 'page_delete' => 'löschte Seite', 'page_delete_notification' => 'Seite erfolgreich gelöscht', - 'page_restore' => 'Seite wiederhergestellt', + 'page_restore' => 'stellte Seite wieder her', 'page_restore_notification' => 'Seite erfolgreich wiederhergestellt', - 'page_move' => 'Seite verschoben', + 'page_move' => 'verschob Seite', 'page_move_notification' => 'Seite erfolgreich verschoben', // Chapters - 'chapter_create' => 'Kapitel erstellt', + 'chapter_create' => 'erstellte Kapitel', 'chapter_create_notification' => 'Kapitel erfolgreich erstellt', - 'chapter_update' => 'Kapitel aktualisiert', + 'chapter_update' => 'aktualisierte Kapitel', 'chapter_update_notification' => 'Kapitel erfolgreich aktualisiert', - 'chapter_delete' => 'Kapitel gelöscht', + 'chapter_delete' => 'löschte Kapitel', 'chapter_delete_notification' => 'Kapitel erfolgreich gelöscht', - 'chapter_move' => 'Kapitel verschoben', + 'chapter_move' => 'verschob Kapitel', 'chapter_move_notification' => 'Kapitel erfolgreich verschoben', // Books - 'book_create' => 'Buch erstellt', + 'book_create' => 'erstellte Buch', 'book_create_notification' => 'Buch erfolgreich erstellt', - 'book_create_from_chapter' => 'Kapitel zu Buch umgewandelt', + 'book_create_from_chapter' => 'wandelte Kapitel zu Buch um', 'book_create_from_chapter_notification' => 'Kapitel erfolgreich in ein Buch umgewandelt', - 'book_update' => 'Buch aktualisiert', + 'book_update' => 'aktualisierte Buch', 'book_update_notification' => 'Buch erfolgreich aktualisiert', - 'book_delete' => 'Buch gelöscht', + 'book_delete' => 'löschte Buch', 'book_delete_notification' => 'Buch erfolgreich gelöscht', - 'book_sort' => 'Buch sortiert', + 'book_sort' => 'sortierte Buch', 'book_sort_notification' => 'Buch erfolgreich umsortiert', // Bookshelves - 'bookshelf_create' => 'Regal erstellt', + 'bookshelf_create' => 'erstellte Regal', 'bookshelf_create_notification' => 'Regal erfolgreich erstellt', - 'bookshelf_create_from_book' => 'Buch zu Regal umgewandelt', + 'bookshelf_create_from_book' => 'wandelte Buch zu Regal um', 'bookshelf_create_from_book_notification' => 'Buch erfolgreich zu einem Regal umgewandelt', - 'bookshelf_update' => 'Regal aktualisiert', + 'bookshelf_update' => 'aktualisierte Regal', 'bookshelf_update_notification' => 'Regal erfolgreich aktualisiert', - 'bookshelf_delete' => 'Regal gelöscht', + 'bookshelf_delete' => 'löschte Regal', 'bookshelf_delete_notification' => 'Regal erfolgreich gelöscht', // Revisions - 'revision_restore' => 'Revision wiederhergestellt', + 'revision_restore' => 'stellte Revision wieder her', 'revision_delete' => 'Revision gelöscht', 'revision_delete_notification' => 'Revision erfolgreich gelöscht', @@ -128,12 +128,12 @@ return [ 'comment_delete' => 'Kommentar gelöscht', // Sort Rules - 'sort_rule_create' => 'Sortierregel erstellt', - 'sort_rule_create_notification' => 'Sort rule successfully created', - 'sort_rule_update' => 'updated sort rule', - 'sort_rule_update_notification' => 'Sort rule successfully updated', - 'sort_rule_delete' => 'deleted sort rule', - 'sort_rule_delete_notification' => 'Sort rule successfully deleted', + 'sort_rule_create' => 'hat eine Sortierregel erstellt', + 'sort_rule_create_notification' => 'Sortierregel erfolgreich angelegt', + 'sort_rule_update' => 'hat eine Sortierregel aktualisiert', + 'sort_rule_update_notification' => 'Sortierregel erfolgreich aktualisiert', + 'sort_rule_delete' => 'hat eine Sortierregel gelöscht', + 'sort_rule_delete_notification' => 'Sortierregel erfolgreich gelöscht', // Other 'permissions_update' => 'aktualisierte Berechtigungen', diff --git a/lang/de_informal/auth.php b/lang/de_informal/auth.php index 779726f4b..17dcdbcb2 100644 --- a/lang/de_informal/auth.php +++ b/lang/de_informal/auth.php @@ -33,7 +33,7 @@ return [ 'social_registration_text' => 'Mit einem dieser Dienste registrieren oder anmelden', 'register_thanks' => 'Vielen Dank für deine Registrierung!', - 'register_confirm' => 'Bitte prüfe deinen Posteingang und bestätige die Registrierung.', + 'register_confirm' => 'Bitte prüfe deinen Posteingang und bestätige die Registrierung, um :appName nutzen zu können.', 'registrations_disabled' => 'Eine Registrierung ist momentan nicht möglich', 'registration_email_domain_invalid' => 'Du kannst dich mit dieser E-Mail nicht registrieren.', 'register_success' => 'Vielen Dank für deine Registrierung! Du bist jetzt registriert und eingeloggt.', @@ -82,7 +82,7 @@ return [ // Multi-factor Authentication 'mfa_setup' => 'Multi-Faktor-Authentifizierung einrichten', - 'mfa_setup_desc' => 'Richte eine Multi-Faktor-Authentifizierung als zusätzliche Sicherheitsstufe für dein Benutzerkonto ein.', + 'mfa_setup_desc' => 'Richte Multi-Faktor-Authentifizierung als zusätzliche Sicherheitsstufe für dein Benutzerkonto ein.', 'mfa_setup_configured' => 'Bereits konfiguriert', 'mfa_setup_reconfigure' => 'Umkonfigurieren', 'mfa_setup_remove_confirmation' => 'Bist du sicher, dass du diese Multi-Faktor-Authentifizierungsmethode entfernen möchtest?', diff --git a/lang/de_informal/editor.php b/lang/de_informal/editor.php index 0567ed6c2..3d6e24a23 100644 --- a/lang/de_informal/editor.php +++ b/lang/de_informal/editor.php @@ -13,7 +13,7 @@ return [ 'cancel' => 'Abbrechen', 'save' => 'Speichern', 'close' => 'Schließen', - 'apply' => 'Apply', + 'apply' => 'Übernehmen', 'undo' => 'Rückgängig machen', 'redo' => 'Wiederholen', 'left' => 'Links', @@ -148,7 +148,7 @@ return [ 'url' => 'URL', 'text_to_display' => 'Anzuzeigender Text', 'title' => 'Titel', - 'browse_links' => 'Browse links', + 'browse_links' => 'Links durchsuchen', 'open_link' => 'Link öffnen', 'open_link_in' => 'Link öffnen in...', 'open_link_current' => 'Aktuellem Fenster', @@ -163,7 +163,7 @@ return [ // About view 'about' => 'Über den Editor', - 'about_title' => 'Über den WYSIWYG Editor', + 'about_title' => 'Über den WYSIWYG-Editor', 'editor_license' => 'Editorlizenz & Copyright', 'editor_lexical_license' => 'Dieser Editor wurde mithilfe von :lexicalLink erstellt, der unter der MIT-Lizenz bereitgestellt wird.', 'editor_lexical_license_link' => 'Vollständige Lizenzdetails findest du hier.', diff --git a/lang/de_informal/entities.php b/lang/de_informal/entities.php index 08f2b2927..9891bcb67 100644 --- a/lang/de_informal/entities.php +++ b/lang/de_informal/entities.php @@ -40,8 +40,8 @@ return [ 'export_text' => 'Textdatei', 'export_md' => 'Markdown-Datei', 'export_zip' => 'Portable ZIP', - 'default_template' => 'Standard Seitenvorlage', - 'default_template_explain' => 'Zuweisen einer Seitenvorlage, die als Standardinhalt für alle Seiten verwendet wird, die innerhalb dieses Elements erstellt wurden. Beachten Sie, dass dies nur dann verwendet wird, wenn der Ersteller der Seite Zugriff auf die ausgewählte Vorlagen-Seite hat.', + 'default_template' => 'Standard-Seitenvorlage', + 'default_template_explain' => 'Bestimme eine Seitenvorlage, die als Standardinhalt für alle Seiten verwendet wird, die innerhalb dieses Elements erstellt werden. Beachte, dass dies nur dann verwendet wird, wenn der Ersteller der Seite Lesezugriff auf die ausgewählte Vorlagen-Seite hat.', 'default_template_select' => 'Wähle eine Seitenvorlage', 'import' => 'Importieren', 'import_validate' => 'Import validieren', @@ -87,7 +87,7 @@ return [ 'search_terms' => 'Suchbegriffe', 'search_content_type' => 'Inhaltstyp', 'search_exact_matches' => 'Exakte Treffer', - 'search_tags' => 'Nach Schlagwort suchen', + 'search_tags' => 'Schlagwort-Suchen', 'search_options' => 'Optionen', 'search_viewed_by_me' => 'Schon von mir angesehen', 'search_not_viewed_by_me' => 'Noch nicht von mir angesehen', @@ -166,9 +166,9 @@ return [ 'books_search_this' => 'Dieses Buch durchsuchen', 'books_navigation' => 'Buchnavigation', 'books_sort' => 'Buchinhalte sortieren', - 'books_sort_desc' => 'Move chapters and pages within a book to reorganise its contents. Other books can be added which allows easy moving of chapters and pages between books. Optionally an auto sort rule can be set to automatically sort this book\'s contents upon changes.', - 'books_sort_auto_sort' => 'Auto Sort Option', - 'books_sort_auto_sort_active' => 'Auto Sort Active: :sortName', + 'books_sort_desc' => 'Kapitel und Seiten innerhalb eines Buches verschieben, um dessen Inhalt zu reorganisieren. Andere Bücher können hinzugefügt werden, was das Verschieben von Kapiteln und Seiten zwischen Büchern erleichtert. Optional kann eine automatische Sortierregel erstellt werden, um den Inhalt dieses Buches nach Änderungen automatisch zu sortieren.', + 'books_sort_auto_sort' => 'Auto-Sortieroption', + 'books_sort_auto_sort_active' => 'Automatische Sortierung aktiv: :sortName', 'books_sort_named' => 'Buch ":bookName" sortieren', 'books_sort_name' => 'Sortieren nach Namen', 'books_sort_created' => 'Sortieren nach Erstellungsdatum', @@ -243,12 +243,12 @@ return [ 'pages_edit_delete_draft' => 'Entwurf löschen', 'pages_edit_delete_draft_confirm' => 'Bist du sicher, dass du deinen Entwurf löschen möchtest? Alle deine Änderungen seit dem letzten vollständigen Speichern gehen verloren und der Editor wird mit dem letzten Speicherzustand aktualisiert, der kein Entwurf ist.', 'pages_edit_discard_draft' => 'Entwurf verwerfen', - 'pages_edit_switch_to_markdown' => 'Zum Markdown Editor wechseln', - 'pages_edit_switch_to_markdown_clean' => '(Sauberer Inhalt)', + 'pages_edit_switch_to_markdown' => 'Zum Markdown-Editor wechseln', + 'pages_edit_switch_to_markdown_clean' => '(Gesäuberter Inhalt)', 'pages_edit_switch_to_markdown_stable' => '(Stabiler Inhalt)', - 'pages_edit_switch_to_wysiwyg' => 'Zum WYSIWYG Editor wechseln', - 'pages_edit_switch_to_new_wysiwyg' => 'Wechsel zum neuen WYSIWYG', - 'pages_edit_switch_to_new_wysiwyg_desc' => '(In Alpha Testphase)', + 'pages_edit_switch_to_wysiwyg' => 'Zum WYSIWYG-Editor wechseln', + 'pages_edit_switch_to_new_wysiwyg' => 'Zum neuen WYSIWYG wechseln', + 'pages_edit_switch_to_new_wysiwyg_desc' => '(In Alpha-Testphase)', 'pages_edit_set_changelog' => 'Änderungsprotokoll hinzufügen', 'pages_edit_enter_changelog_desc' => 'Bitte gib eine kurze Zusammenfassung deiner Änderungen ein', 'pages_edit_enter_changelog' => 'Änderungsprotokoll eingeben', @@ -332,7 +332,7 @@ return [ 'tag' => 'Schlagwort', 'tags' => 'Schlagwörter', 'tags_index_desc' => 'Tags können auf Inhalte im System angewendet werden, um eine flexible Form der Kategorisierung anzuwenden. Tags können sowohl einen Schlüssel als auch einen Wert haben, wobei der Wert optional ist. Einmal angewendet, können Inhalte unter Verwendung des Tag-Namens und Wertes abgefragt werden.', - 'tag_name' => 'Schlagwort Name', + 'tag_name' => 'Schlagwortname', 'tag_value' => 'Inhalt (Optional)', 'tags_explain' => "Füge Schlagwörter hinzu, um ihren Inhalt zu kategorisieren.\nDu kannst einen erklärenden Inhalt hinzufügen, um eine genauere Unterteilung vorzunehmen.", 'tags_add' => 'Weiteres Schlagwort hinzufügen', @@ -392,7 +392,7 @@ return [ 'comment' => 'Kommentar', 'comments' => 'Kommentare', 'comment_add' => 'Kommentieren', - 'comment_placeholder' => 'Gib hier deine Kommentare ein (Markdown unterstützt)', + 'comment_placeholder' => 'Gib hier deine Kommentare ein', 'comment_count' => '{0} Keine Kommentare|{1} 1 Kommentar|[2,*] :count Kommentare', 'comment_save' => 'Kommentar speichern', 'comment_new' => 'Neuer Kommentar', diff --git a/lang/de_informal/passwords.php b/lang/de_informal/passwords.php index e3606760b..862382379 100644 --- a/lang/de_informal/passwords.php +++ b/lang/de_informal/passwords.php @@ -8,7 +8,7 @@ return [ 'password' => 'Passwörter müssen aus mindestens acht Zeichen bestehen und mit der eingegebenen Wiederholung übereinstimmen.', 'user' => "Es wurde kein Benutzer mit dieser E-Mail-Adresse gefunden.", - 'token' => 'Der Token zum Zurücksetzen des Passworts für diese E-Mail-Adresse ist ungültig.', + 'token' => 'Der Token zum Zurücksetzen des Passworts ist für diese E-Mail-Adresse ungültig.', 'sent' => 'Wir haben dir einen Link zum Zurücksetzen des Passwortes per E-Mail geschickt!', 'reset' => 'Dein Passwort wurde zurückgesetzt!', diff --git a/lang/de_informal/preferences.php b/lang/de_informal/preferences.php index 8211e2336..07b83a8da 100644 --- a/lang/de_informal/preferences.php +++ b/lang/de_informal/preferences.php @@ -35,12 +35,12 @@ return [ 'auth_change_password_success' => 'Das Passwort wurde aktualisiert!', 'profile' => 'Profildetails', - 'profile_desc' => 'Verwalte die Details für dein Konto, welche dich gegenüber anderen Benutzern repräsentieren, zusätzlich zu den Details, die für die Kommunikation und die Personalisierung des Systems verwendet werden.', + 'profile_desc' => 'Verwalte die Details deines Kontos, welches dich gegenüber anderen Benutzern repräsentiert, zusätzlich zu den Details, die für die Kommunikation und die Personalisierung des Systems genutzt werden.', 'profile_view_public' => 'Öffentliches Profil anzeigen', - 'profile_name_desc' => 'Konfiguriere deinen Anzeigenamen, der durch die Aktivität, die du durchführst, für andere Benutzer und deine eigenen Inhalte im System sichtbar ist.', + 'profile_name_desc' => 'Konfiguriere deinen Anzeigenamen, der durch die Aktivität, die du ausführst, und die dir gehörenden Inhalte für andere Benutzer sichtbar ist.', 'profile_email_desc' => 'Diese E-Mail wird für Benachrichtigungen und, je nach aktiver Systemauthentifizierung, den Systemzugriff verwendet.', 'profile_email_no_permission' => 'Leider hast du nicht die Berechtigung, deine E-Mail-Adresse zu ändern. Wenn du diese ändern möchtest, wende dich bitte an deinen Administrator.', - 'profile_avatar_desc' => 'Wähle ein Bild aus, dass anderen im System angezeigt wird, um dich zu repräsentieren. Idealerweise sollte dieses Bild quadratisch und etwa 256px breit und hoch sein.', + 'profile_avatar_desc' => 'Wähle ein Bild aus, das anderen im System angezeigt wird, um dich zu repräsentieren. Idealerweise sollte dieses Bild quadratisch und etwa 256px breit und hoch sein.', 'profile_admin_options' => 'Administratoroptionen', 'profile_admin_options_desc' => 'Weitere Administrator-Optionen, wie zum Beispiel die Verwaltung von Rollenzuweisungen, findest du in deinem Benutzerkonto im Bereich "Einstellungen > Benutzer" der Anwendung.', diff --git a/lang/de_informal/settings.php b/lang/de_informal/settings.php index fe8e88b89..0b7b74c0d 100644 --- a/lang/de_informal/settings.php +++ b/lang/de_informal/settings.php @@ -24,12 +24,12 @@ return [ 'app_public_access_toggle' => 'Öffentlichen Zugriff erlauben', 'app_public_viewing' => 'Öffentliche Ansicht erlauben?', 'app_secure_images' => 'Erhöhte Sicherheit für hochgeladene Bilder aktivieren?', - 'app_secure_images_toggle' => 'Aktiviere Bild-Upload mit höherer Sicherheit', - 'app_secure_images_desc' => 'Aus Leistungsgründen sind alle Bilder öffentlich sichtbar. Diese Option fügt zufällige, schwer zu erratene, Zeichenketten zu Bild-URLs hinzu. Stelle sicher, dass Verzeichnisindizes deaktiviert sind, um einen einfachen Zugriff zu verhindern.', + 'app_secure_images_toggle' => 'Höhere Sicherheit für Bild-Uploads aktivieren', + 'app_secure_images_desc' => 'Aus Leistungsgründen sind alle Bilder öffentlich sichtbar. Diese Option fügt zufällige, schwer zu erratende, Zeichenketten zu Bild-URLs hinzu. Stelle sicher, dass Verzeichnisindizes deaktiviert sind, um einen einfachen Zugriff zu verhindern.', 'app_default_editor' => 'Standard Seiteneditor', 'app_default_editor_desc' => 'Wähle aus, welcher Editor bei der Bearbeitung neuer Seiten standardmäßig verwendet werden soll. Dies kann auf Seitenebene außer Kraft gesetzt werden, sofern die Berechtigungen dies zulassen.', - 'app_custom_html' => 'Benutzerdefinierter HTML Inhalt', - 'app_custom_html_desc' => 'Jeder Inhalt, der hier hinzugefügt wird, wird am Ende der Sektion jeder Seite eingefügt. Diese kann praktisch sein, um CSS Styles anzupassen oder Analytics-Code hinzuzufügen.', + 'app_custom_html' => 'Benutzerdefinierter HTML-Head-Inhalt', + 'app_custom_html_desc' => 'Jeder Inhalt, der hier hinzugefügt wird, wird am Ende der -Sektion jeder Seite eingefügt. Diese kann praktisch sein, um CSS-Styles anzupassen oder Analytics-Code hinzuzufügen.', 'app_custom_html_disabled_notice' => 'Benutzerdefinierte HTML-Kopfzeileninhalte sind auf dieser Einstellungsseite deaktiviert, um sicherzustellen, dass alle Änderungen rückgängig gemacht werden können.', 'app_logo' => 'Anwendungslogo', 'app_logo_desc' => 'Dies wird unter anderem in der Kopfzeile der Anwendung verwendet. Dieses Bild sollte 86px hoch sein. Große Bilder werden herunterskaliert.', @@ -76,34 +76,34 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung 'reg_confirm_restrict_domain_placeholder' => 'Keine Einschränkung gesetzt', // Sorting Settings - 'sorting' => 'Sorting', - 'sorting_book_default' => 'Default Book Sort', - 'sorting_book_default_desc' => 'Select the default sort rule to apply to new books. This won\'t affect existing books, and can be overridden per-book.', - 'sorting_rules' => 'Sort Rules', - 'sorting_rules_desc' => 'These are predefined sorting operations which can be applied to content in the system.', - 'sort_rule_assigned_to_x_books' => 'Assigned to :count Book|Assigned to :count Books', - 'sort_rule_create' => 'Create Sort Rule', - 'sort_rule_edit' => 'Edit Sort Rule', - 'sort_rule_delete' => 'Delete Sort Rule', - 'sort_rule_delete_desc' => 'Remove this sort rule from the system. Books using this sort will revert to manual sorting.', - 'sort_rule_delete_warn_books' => 'This sort rule is currently used on :count book(s). Are you sure you want to delete this?', - 'sort_rule_delete_warn_default' => 'This sort rule is currently used as the default for books. Are you sure you want to delete this?', - 'sort_rule_details' => 'Sort Rule Details', - 'sort_rule_details_desc' => 'Set a name for this sort rule, which will appear in lists when users are selecting a sort.', - 'sort_rule_operations' => 'Sort Operations', - 'sort_rule_operations_desc' => 'Configure the sort actions to be performed by moving them from the list of available operations. Upon use, the operations will be applied in order, from top to bottom. Any changes made here will be applied to all assigned books upon save.', - 'sort_rule_available_operations' => 'Available Operations', - 'sort_rule_available_operations_empty' => 'No operations remaining', - 'sort_rule_configured_operations' => 'Configured Operations', - 'sort_rule_configured_operations_empty' => 'Drag/add operations from the "Available Operations" list', - 'sort_rule_op_asc' => '(Asc)', - 'sort_rule_op_desc' => '(Desc)', - 'sort_rule_op_name' => 'Name - Alphabetical', - 'sort_rule_op_name_numeric' => 'Name - Numeric', - 'sort_rule_op_created_date' => 'Created Date', - 'sort_rule_op_updated_date' => 'Updated Date', - 'sort_rule_op_chapters_first' => 'Chapters First', - 'sort_rule_op_chapters_last' => 'Chapters Last', + 'sorting' => 'Sortierung', + 'sorting_book_default' => 'Standard-Buchsortierung', + 'sorting_book_default_desc' => 'Wähle die Standard-Sortierregel aus, die auf neue Bücher angewendet werden soll. Dies wirkt sich nicht auf bestehende Bücher aus und kann pro Buch überschrieben werden.', + 'sorting_rules' => 'Sortierregeln', + 'sorting_rules_desc' => 'Dies sind vordefinierte Sortieraktionen, die auf Inhalte im System angewendet werden können.', + 'sort_rule_assigned_to_x_books' => ':count Buch zugewiesen|:count Büchern zugewiesen', + 'sort_rule_create' => 'Sortierregel erstellen', + 'sort_rule_edit' => 'Sortierregel bearbeiten', + 'sort_rule_delete' => 'Sortierregel löschen', + 'sort_rule_delete_desc' => 'Diese Sortierregel aus dem System entfernen. Bücher mit dieser Sortierung werden auf manuelle Sortierung zurückgesetzt.', + 'sort_rule_delete_warn_books' => 'Diese Sortierregel wird derzeit in :count Bücher(n) verwendet. Bist du sicher, dass du dies löschen möchtest?', + 'sort_rule_delete_warn_default' => 'Diese Sortierregel wird derzeit als Standard für Bücher verwendet. Bist du sicher, dass du dies löschen möchtest?', + 'sort_rule_details' => 'Sortierregel-Details', + 'sort_rule_details_desc' => 'Lege einen Namen für diese Sortierregel fest, der in Listen erscheint, wenn Benutzer eine Sortierung auswählen.', + 'sort_rule_operations' => 'Sortierungs-Aktionen', + 'sort_rule_operations_desc' => 'Konfiguriere die durchzuführenden Sortieraktionen durch Verschieben von der Liste der verfügbaren Aktionen. Bei der Verwendung werden die Aktionen von oben nach unten angewendet. Alle hier vorgenommenen Änderungen werden beim Speichern auf alle zugewiesenen Bücher angewendet.', + 'sort_rule_available_operations' => 'Verfügbare Aktionen', + 'sort_rule_available_operations_empty' => 'Keine verbleibenden Aktionen', + 'sort_rule_configured_operations' => 'Konfigurierte Aktionen', + 'sort_rule_configured_operations_empty' => 'Aktionen aus der Liste "Verfügbare Operationen" ziehen/hinzufügen', + 'sort_rule_op_asc' => '(Aufst.)', + 'sort_rule_op_desc' => '(Abst.)', + 'sort_rule_op_name' => 'Name - Alphabetisch', + 'sort_rule_op_name_numeric' => 'Name - Numerisch', + 'sort_rule_op_created_date' => 'Erstellungsdatum', + 'sort_rule_op_updated_date' => 'Aktualisierungsdatum', + 'sort_rule_op_chapters_first' => 'Kapitel zuerst', + 'sort_rule_op_chapters_last' => 'Kapitel zuletzt', // Maintenance settings 'maint' => 'Wartung', @@ -114,11 +114,11 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung 'maint_image_cleanup_warning' => ':count eventuell unbenutze Bilder wurden gefunden. Möchtest du diese Bilder löschen?', 'maint_image_cleanup_success' => ':count eventuell unbenutze Bilder wurden gefunden und gelöscht.', 'maint_image_cleanup_nothing_found' => 'Keine unbenutzen Bilder gefunden. Nichts zu löschen!', - 'maint_send_test_email' => 'Test E-Mail versenden', - 'maint_send_test_email_desc' => 'Dies sendet eine Test E-Mail an die in deinem Profil angegebene E-Mail-Adresse.', - 'maint_send_test_email_run' => 'Sende eine Test E-Mail', + 'maint_send_test_email' => 'Eine Test-E-Mail versenden', + 'maint_send_test_email_desc' => 'Dies sendet eine Test-E-Mail an die in deinem Profil angegebene E-Mail-Adresse.', + 'maint_send_test_email_run' => 'Test-E-Mail senden', 'maint_send_test_email_success' => 'E-Mail wurde an :address gesendet', - 'maint_send_test_email_mail_subject' => 'Test E-Mail', + 'maint_send_test_email_mail_subject' => 'Test-E-Mail', 'maint_send_test_email_mail_greeting' => 'E-Mail-Versand scheint zu funktionieren!', 'maint_send_test_email_mail_text' => 'Glückwunsch! Da du diese E-Mail Benachrichtigung erhalten hast, scheinen deine E-Mail-Einstellungen korrekt konfiguriert zu sein.', 'maint_recycle_bin_desc' => 'Gelöschte Regale, Bücher, Kapitel & Seiten werden in den Papierkorb verschoben, so dass sie wiederhergestellt oder dauerhaft gelöscht werden können. Ältere Einträge im Papierkorb können, in Abhängigkeit von der Systemkonfiguration, nach einer Weile automatisch entfernt werden.', @@ -159,7 +159,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung 'audit_table_user' => 'Benutzer', 'audit_table_event' => 'Ereignis', 'audit_table_related' => 'Verknüpfter Eintrag oder Detail', - 'audit_table_ip' => 'IP Adresse', + 'audit_table_ip' => 'IP-Adresse', 'audit_table_date' => 'Aktivitätsdatum', 'audit_date_from' => 'Zeitraum von', 'audit_date_to' => 'Zeitraum bis', @@ -257,7 +257,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung 'users_api_tokens_expires' => 'Endet', 'users_api_tokens_docs' => 'API Dokumentation', 'users_mfa' => 'Multi-Faktor-Authentifizierung', - 'users_mfa_desc' => 'Richte die Multi-Faktor-Authentifizierung als zusätzliche Sicherheitsstufe für dein Benutzerkonto ein.', + 'users_mfa_desc' => 'Richte Multi-Faktor-Authentifizierung als zusätzliche Sicherheitsstufe für dein Benutzerkonto ein.', 'users_mfa_x_methods' => ':count Methode konfiguriert|:count Methoden konfiguriert', 'users_mfa_configure' => 'Methoden konfigurieren', diff --git a/lang/de_informal/validation.php b/lang/de_informal/validation.php index 0d26dfd29..f7be5a016 100644 --- a/lang/de_informal/validation.php +++ b/lang/de_informal/validation.php @@ -9,7 +9,7 @@ return [ // Standard laravel validation lines 'accepted' => ':attribute muss akzeptiert werden.', - 'active_url' => ':attribute ist keine valide URL.', + 'active_url' => ':attribute ist keine gültige URL.', 'after' => ':attribute muss ein Datum nach :date sein.', 'alpha' => ':attribute kann nur Buchstaben enthalten.', 'alpha_dash' => ':attribute kann nur Buchstaben, Zahlen und Bindestriche enthalten.', @@ -25,12 +25,12 @@ return [ ], 'boolean' => ':attribute Feld muss wahr oder falsch sein.', 'confirmed' => ':attribute stimmt nicht überein.', - 'date' => ':attribute ist kein valides Datum.', + 'date' => ':attribute ist kein gültiges Datum.', 'date_format' => ':attribute entspricht nicht dem Format :format.', 'different' => ':attribute und :other müssen unterschiedlich sein.', 'digits' => ':attribute muss :digits Stellen haben.', 'digits_between' => ':attribute muss zwischen :min und :max Stellen haben.', - 'email' => ':attribute muss eine valide E-Mail-Adresse sein.', + 'email' => ':attribute muss eine gültige E-Mail-Adresse sein.', 'ends_with' => ':attribute muss mit einem der folgenden Werte: :values enden', 'file' => ':attribute muss als gültige Datei angegeben werden.', 'filled' => ':attribute ist erforderlich.', @@ -51,8 +51,8 @@ return [ 'image_extension' => ':attribute muss eine gültige und unterstützte Bild-Dateiendung haben.', 'in' => ':attribute ist ungültig.', 'integer' => ':attribute muss eine Zahl sein.', - 'ip' => ':attribute muss eine valide IP-Adresse sein.', - 'ipv4' => ':attribute muss eine gültige IPv4 Adresse sein.', + 'ip' => ':attribute muss eine gültige IP-Adresse sein.', + 'ipv4' => ':attribute muss eine gültige IPv4-Adresse sein.', 'ipv6' => ':attribute muss eine gültige IPv6-Adresse sein.', 'json' => ':attribute muss ein gültiger JSON-String sein.', 'lt' => [ @@ -80,7 +80,7 @@ return [ 'string' => ':attribute muss mindestens :min Zeichen lang sein.', 'array' => ':attribute muss mindesten :min Elemente enthalten.', ], - 'not_in' => ':attribute ist ungültig.', + 'not_in' => 'Das ausgewählte :attribute ist ungültig.', 'not_regex' => ':attribute ist kein gültiges Format.', 'numeric' => ':attribute muss eine Zahl sein.', 'regex' => ':attribute ist in einem ungültigen Format.', @@ -99,14 +99,14 @@ return [ 'array' => ':attribute muss :size Elemente enthalten.', ], 'string' => ':attribute muss eine Zeichenkette sein.', - 'timezone' => ':attribute muss eine valide zeitzone sein.', + 'timezone' => ':attribute muss eine gültige Zeitzone sein.', 'totp' => 'Der angegebene Code ist ungültig oder abgelaufen.', 'unique' => ':attribute wird bereits verwendet.', 'url' => ':attribute ist kein valides Format.', 'uploaded' => 'Die Datei konnte nicht hochgeladen werden. Der Server akzeptiert möglicherweise keine Dateien dieser Größe.', 'zip_file' => ':attribute muss auf eine Datei innerhalb des ZIP verweisen.', - 'zip_file_mime' => ':attribute muss auf eine Datei des Typs :validType verweisen, gefunden :foundType.', + 'zip_file_mime' => ':attribute muss eine Datei des Typs :validType referenzieren, gefunden :foundType.', 'zip_model_expected' => 'Datenobjekt erwartet, aber ":type" gefunden.', 'zip_unique' => ':attribute muss für den Objekttyp innerhalb des ZIP eindeutig sein.', diff --git a/lang/et/entities.php b/lang/et/entities.php index 6e47d2dfb..87b625ed7 100644 --- a/lang/et/entities.php +++ b/lang/et/entities.php @@ -248,7 +248,7 @@ return [ 'pages_edit_switch_to_markdown_stable' => '(Stabiilne sisu)', 'pages_edit_switch_to_wysiwyg' => 'Kasuta WYSIWYG redaktorit', 'pages_edit_switch_to_new_wysiwyg' => 'Kasuta uut tekstiredaktorit', - 'pages_edit_switch_to_new_wysiwyg_desc' => '(Alfa-testimisel)', + 'pages_edit_switch_to_new_wysiwyg_desc' => '(alfatestimisel)', 'pages_edit_set_changelog' => 'Muudatuste logi', 'pages_edit_enter_changelog_desc' => 'Sisesta tehtud muudatuste lühikirjeldus', 'pages_edit_enter_changelog' => 'Salvesta muudatuste logi', diff --git a/lang/et/errors.php b/lang/et/errors.php index 8f4f99396..49e755fcc 100644 --- a/lang/et/errors.php +++ b/lang/et/errors.php @@ -10,7 +10,7 @@ return [ // Auth 'error_user_exists_different_creds' => 'See e-posti aadress on juba seotud teise kasutajaga.', - 'auth_pre_register_theme_prevention' => 'Etteantud detailidega kasutajakontot ei saadud registreerida', + 'auth_pre_register_theme_prevention' => 'Etteantud detailidega kasutajakontot ei õnnestunud registreerida', 'email_already_confirmed' => 'E-posti aadress on juba kinnitatud. Proovi sisse logida.', 'email_confirmation_invalid' => 'Kinnituslink ei ole kehtiv või on seda juba kasutatud. Proovi uuesti registreeruda.', 'email_confirmation_expired' => 'Kinnituslink on aegunud. Sulle saadeti aadressi kinnitamiseks uus e-kiri.', @@ -78,7 +78,7 @@ return [ // Users 'users_cannot_delete_only_admin' => 'Ainsat administraatorit ei saa kustutada', 'users_cannot_delete_guest' => 'Külaliskasutajat ei saa kustutada', - 'users_could_not_send_invite' => 'Kasutajat ei saadud luua, kuna kutse e-kirja saatmine ebaõnnestus', + 'users_could_not_send_invite' => 'Kasutajat ei õnnestunud luua, kuna kutse e-kirja saatmine ebaõnnestus', // Roles 'role_cannot_be_edited' => 'Seda rolli ei saa muuta', diff --git a/lang/id/settings.php b/lang/id/settings.php index 8c26cbe97..53d1b576a 100644 --- a/lang/id/settings.php +++ b/lang/id/settings.php @@ -9,8 +9,8 @@ return [ // Common Messages 'settings' => 'Pengaturan', 'settings_save' => 'Simpan Pengaturan', - 'system_version' => 'System Version', - 'categories' => 'Categories', + 'system_version' => 'Versi Sistem', + 'categories' => 'Kategori', // App Settings 'app_customization' => 'Kustomisasi', @@ -26,15 +26,15 @@ return [ 'app_secure_images' => 'Unggahan Gambar Keamanan Lebih Tinggi', 'app_secure_images_toggle' => 'Aktifkan unggahan gambar dengan keamanan lebih tinggi', 'app_secure_images_desc' => 'Untuk alasan performa, semua gambar bersifat publik. Opsi ini menambahkan string acak yang sulit ditebak di depan url gambar. Pastikan indeks direktori tidak diaktifkan untuk mencegah akses mudah.', - 'app_default_editor' => 'Default Page Editor', - 'app_default_editor_desc' => 'Select which editor will be used by default when editing new pages. This can be overridden at a page level where permissions allow.', + 'app_default_editor' => 'Editor Halaman Default', + 'app_default_editor_desc' => 'Pilih editor yang akan digunakan secara default saat mengedit halaman baru. Pengaturan ini dapat diganti di tingkat halaman di mana itu diizinkan.', 'app_custom_html' => 'Kustom Konten HTML Head', 'app_custom_html_desc' => 'Konten apa pun yang ditambahkan di sini akan dimasukkan ke bagian bawah bagian dari setiap halaman. Ini berguna untuk mengganti gaya atau menambahkan kode analitik.', 'app_custom_html_disabled_notice' => 'Kustom konten HTML Head dinonaktifkan pada halaman pengaturan ini untuk memastikan setiap perubahan yang mengganggu dapat dikembalikan.', 'app_logo' => 'Logo Aplikasi', - 'app_logo_desc' => 'This is used in the application header bar, among other areas. This image should be 86px in height. Large images will be scaled down.', - 'app_icon' => 'Application Icon', - 'app_icon_desc' => 'This icon is used for browser tabs and shortcut icons. This should be a 256px square PNG image.', + 'app_logo_desc' => 'Ini digunakan di bilah tajuk aplikasi, di antara area lainnya. Gambar ini harus memiliki tinggi 86px. Gambar besar akan diperkecil.', + 'app_icon' => 'Ikon Aplikasi', + 'app_icon_desc' => 'Ikon digunakan pada tab browser dan ikon-ikon pintasan. Berkas harus berupa gambar IMG persegi dengan ukuran 256px.', 'app_homepage' => 'Beranda Aplikasi', 'app_homepage_desc' => 'Pilih tampilan untuk ditampilkan di beranda alih-alih tampilan default. Izin halaman diabaikan untuk halaman yang dipilih.', 'app_homepage_select' => 'Pilih halaman', @@ -48,12 +48,12 @@ return [ 'app_disable_comments_desc' => 'Menonaktifkan komentar di semua halaman dalam aplikasi.