diff --git a/.deploy/heroku/.locales b/.deploy/heroku/.locales
index 125223c72d..d56ea57b9a 100644
--- a/.deploy/heroku/.locales
+++ b/.deploy/heroku/.locales
@@ -7,3 +7,4 @@ nl_NL
pl_PL
pt_BR
ru_RU
+nb_NO
\ No newline at end of file
diff --git a/.sandstorm/changelog.md b/.sandstorm/changelog.md
index 5f36a383fe..bd03a0689c 100644
--- a/.sandstorm/changelog.md
+++ b/.sandstorm/changelog.md
@@ -1,3 +1,13 @@
+# 4.7.17 (API 0.9.2)
+- Support for Norwegian!
+- Clear cache during install routine.
+- Add Firefly III version number to install routine.
+- Initial release.
+- [Issue 2159](https://github.com/firefly-iii/firefly-iii/issues/2159) Bad redirect due to Laravel upgrade.
+- [Issue 2166](https://github.com/firefly-iii/firefly-iii/issues/2166) Importer had some issues with distinguishing double transfers.
+- [Issue 2167](https://github.com/firefly-iii/firefly-iii/issues/2167) New LDAP package gave some configuration changes.
+- [Issue 2173](https://github.com/firefly-iii/firefly-iii/issues/2173) Missing class when generating 2FA codes.
+
# 4.7.16 (API 0.9.2)
- 4.7.16 was released to fix a persistent issue with broken user preferences.
- Firefly III now uses Laravel 5.8
diff --git a/.sandstorm/sandstorm-files.list b/.sandstorm/sandstorm-files.list
index 5b5df94da5..d39ad4f733 100644
--- a/.sandstorm/sandstorm-files.list
+++ b/.sandstorm/sandstorm-files.list
@@ -223,13 +223,9 @@ lib/x86_64-linux-gnu/libz.so.1
lib/x86_64-linux-gnu/libz.so.1.2.8
lib64/ld-linux-x86-64.so.2
opt/app/.env
-opt/app/.env.docker
opt/app/.env.example
-opt/app/.env.heroku
-opt/app/.env.sandstorm
opt/app/.gitattributes
opt/app/.htaccess
-opt/app/.locales
opt/app/.sandstorm/.gitattributes
opt/app/.sandstorm/.vagrant/machines/default/virtualbox/action_provision
opt/app/.sandstorm/.vagrant/machines/default/virtualbox/action_set_name
@@ -1019,8 +1015,6 @@ opt/app/composer.json
opt/app/composer.lock
opt/app/composer.phar
opt/app/config
-opt/app/config/adldap.php
-opt/app/config/adldap_auth.php
opt/app/config/app.php
opt/app/config/auth.php
opt/app/config/breadcrumbs.php
@@ -1034,6 +1028,8 @@ opt/app/config/google2fa.php
opt/app/config/hashing.php
opt/app/config/import.php
opt/app/config/intro.php
+opt/app/config/ldap.php
+opt/app/config/ldap_auth.php
opt/app/config/logging.php
opt/app/config/mail.php
opt/app/config/queue.php
@@ -1073,6 +1069,7 @@ opt/app/database/migrations/2018_09_05_195147_changes_for_v477.php
opt/app/database/migrations/2018_11_06_172532_changes_for_v479.php
opt/app/database/migrations/2019_01_28_193833_changes_for_v4710.php
opt/app/database/migrations/2019_02_05_055516_changes_for_v4711.php
+opt/app/database/migrations/2019_02_11_170529_changes_for_v4712.php
opt/app/database/seeds/AccountTypeSeeder.php
opt/app/database/seeds/ConfigSeeder.php
opt/app/database/seeds/DatabaseSeeder.php
@@ -2585,11 +2582,26 @@ opt/app/routes/web.php
opt/app/server.php
opt/app/storage
opt/app/vendor/adldap2/adldap2-laravel/.github/issue_template.md
-opt/app/vendor/adldap2/adldap2-laravel/changelog.md
opt/app/vendor/adldap2/adldap2-laravel/composer.json
+opt/app/vendor/adldap2/adldap2-laravel/docs/.nojekyll
+opt/app/vendor/adldap2/adldap2-laravel/docs/_sidebar.md
opt/app/vendor/adldap2/adldap2-laravel/docs/auth.md
-opt/app/vendor/adldap2/adldap2-laravel/docs/importing.md
-opt/app/vendor/adldap2/adldap2-laravel/docs/quick-start.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/auth/events.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/auth/importing.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/auth/installation.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/auth/introduction.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/auth/middleware.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/auth/model-binding.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/auth/setup.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/auth/testing.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/index.html
+opt/app/vendor/adldap2/adldap2-laravel/docs/installation.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/readme.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/setup.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/tutorials/basics.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/tutorials/users.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/upgrading.md
+opt/app/vendor/adldap2/adldap2-laravel/docs/usage.md
opt/app/vendor/adldap2/adldap2-laravel/license.md
opt/app/vendor/adldap2/adldap2-laravel/readme.md
opt/app/vendor/adldap2/adldap2-laravel/src/AdldapAuthServiceProvider.php
@@ -2615,7 +2627,6 @@ opt/app/vendor/adldap2/adldap2-laravel/src/Events/Imported.php
opt/app/vendor/adldap2/adldap2-laravel/src/Events/Importing.php
opt/app/vendor/adldap2/adldap2-laravel/src/Events/Synchronized.php
opt/app/vendor/adldap2/adldap2-laravel/src/Events/Synchronizing.php
-opt/app/vendor/adldap2/adldap2-laravel/src/Exceptions/ConfigurationMissingException.php
opt/app/vendor/adldap2/adldap2-laravel/src/Facades/Adldap.php
opt/app/vendor/adldap2/adldap2-laravel/src/Facades/Resolver.php
opt/app/vendor/adldap2/adldap2-laravel/src/Listeners/BindsLdapUserModel.php
@@ -2650,7 +2661,18 @@ opt/app/vendor/adldap2/adldap2-laravel/tests/DatabaseTestCase.php
opt/app/vendor/adldap2/adldap2-laravel/tests/EloquentAuthenticateTest.php
opt/app/vendor/adldap2/adldap2-laravel/tests/Handlers/LdapAttributeHandler.php
opt/app/vendor/adldap2/adldap2-laravel/tests/HasLdapUserTest.php
-opt/app/vendor/adldap2/adldap2-laravel/tests/Models/User.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogAuthenticatedTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogAuthenticationFailureTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogAuthenticationRejectionTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogAuthenticationSuccessTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogAuthenticationTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogDiscoveryTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogImportTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogSynchronizedTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogSynchronizingTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogTrashedModelTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Listeners/LogWindowsAuthTest.php
+opt/app/vendor/adldap2/adldap2-laravel/tests/Models/TestUser.php
opt/app/vendor/adldap2/adldap2-laravel/tests/NoDatabaseProviderTest.php
opt/app/vendor/adldap2/adldap2-laravel/tests/NoDatabaseTestCase.php
opt/app/vendor/adldap2/adldap2-laravel/tests/Scopes/JohnDoeScope.php
@@ -2659,16 +2681,17 @@ opt/app/vendor/adldap2/adldap2-laravel/tests/UserResolverTest.php
opt/app/vendor/adldap2/adldap2-laravel/tests/WindowsAuthenticateTest.php
opt/app/vendor/adldap2/adldap2/.gitattributes
opt/app/vendor/adldap2/adldap2/.github/issue_template.md
-opt/app/vendor/adldap2/adldap2/changelog.md
opt/app/vendor/adldap2/adldap2/composer.json
-opt/app/vendor/adldap2/adldap2/docs/authenticating.md
-opt/app/vendor/adldap2/adldap2/docs/configuration.md
-opt/app/vendor/adldap2/adldap2/docs/connecting.md
+opt/app/vendor/adldap2/adldap2/docs/.nojekyll
+opt/app/vendor/adldap2/adldap2/docs/_sidebar.md
opt/app/vendor/adldap2/adldap2/docs/distinguished-names.md
+opt/app/vendor/adldap2/adldap2/docs/events.md
+opt/app/vendor/adldap2/adldap2/docs/index.html
+opt/app/vendor/adldap2/adldap2/docs/installation.md
+opt/app/vendor/adldap2/adldap2/docs/logging.md
opt/app/vendor/adldap2/adldap2/docs/models/computer.md
opt/app/vendor/adldap2/adldap2/docs/models/contact.md
opt/app/vendor/adldap2/adldap2/docs/models/container.md
-opt/app/vendor/adldap2/adldap2/docs/models/entry.md
opt/app/vendor/adldap2/adldap2/docs/models/group.md
opt/app/vendor/adldap2/adldap2/docs/models/model.md
opt/app/vendor/adldap2/adldap2/docs/models/ou.md
@@ -2679,9 +2702,9 @@ opt/app/vendor/adldap2/adldap2/docs/models/traits/has-description.md
opt/app/vendor/adldap2/adldap2/docs/models/traits/has-last-login-last-logoff.md
opt/app/vendor/adldap2/adldap2/docs/models/traits/has-member-of.md
opt/app/vendor/adldap2/adldap2/docs/models/user.md
-opt/app/vendor/adldap2/adldap2/docs/query-builder.md
-opt/app/vendor/adldap2/adldap2/docs/quick-start.md
-opt/app/vendor/adldap2/adldap2/docs/schema.md
+opt/app/vendor/adldap2/adldap2/docs/readme.md
+opt/app/vendor/adldap2/adldap2/docs/searching.md
+opt/app/vendor/adldap2/adldap2/docs/setup.md
opt/app/vendor/adldap2/adldap2/docs/troubleshooting.md
opt/app/vendor/adldap2/adldap2/license.md
opt/app/vendor/adldap2/adldap2/readme.md
@@ -2689,6 +2712,12 @@ opt/app/vendor/adldap2/adldap2/src/Adldap.php
opt/app/vendor/adldap2/adldap2/src/AdldapException.php
opt/app/vendor/adldap2/adldap2/src/AdldapInterface.php
opt/app/vendor/adldap2/adldap2/src/Auth/BindException.php
+opt/app/vendor/adldap2/adldap2/src/Auth/Events/Attempting.php
+opt/app/vendor/adldap2/adldap2/src/Auth/Events/Binding.php
+opt/app/vendor/adldap2/adldap2/src/Auth/Events/Bound.php
+opt/app/vendor/adldap2/adldap2/src/Auth/Events/Event.php
+opt/app/vendor/adldap2/adldap2/src/Auth/Events/Failed.php
+opt/app/vendor/adldap2/adldap2/src/Auth/Events/Passed.php
opt/app/vendor/adldap2/adldap2/src/Auth/Guard.php
opt/app/vendor/adldap2/adldap2/src/Auth/GuardInterface.php
opt/app/vendor/adldap2/adldap2/src/Auth/PasswordRequiredException.php
@@ -2697,31 +2726,52 @@ opt/app/vendor/adldap2/adldap2/src/Configuration/ConfigurationException.php
opt/app/vendor/adldap2/adldap2/src/Configuration/DomainConfiguration.php
opt/app/vendor/adldap2/adldap2/src/Configuration/Validators/ArrayValidator.php
opt/app/vendor/adldap2/adldap2/src/Configuration/Validators/BooleanValidator.php
+opt/app/vendor/adldap2/adldap2/src/Configuration/Validators/ClassValidator.php
opt/app/vendor/adldap2/adldap2/src/Configuration/Validators/IntegerValidator.php
opt/app/vendor/adldap2/adldap2/src/Configuration/Validators/StringOrNullValidator.php
opt/app/vendor/adldap2/adldap2/src/Configuration/Validators/Validator.php
opt/app/vendor/adldap2/adldap2/src/Connections/ConnectionException.php
opt/app/vendor/adldap2/adldap2/src/Connections/ConnectionInterface.php
+opt/app/vendor/adldap2/adldap2/src/Connections/DetailedError.php
opt/app/vendor/adldap2/adldap2/src/Connections/Ldap.php
-opt/app/vendor/adldap2/adldap2/src/Connections/LdapFunctionSupportTrait.php
opt/app/vendor/adldap2/adldap2/src/Connections/Provider.php
opt/app/vendor/adldap2/adldap2/src/Connections/ProviderInterface.php
+opt/app/vendor/adldap2/adldap2/src/Events/Dispatcher.php
+opt/app/vendor/adldap2/adldap2/src/Events/DispatcherInterface.php
+opt/app/vendor/adldap2/adldap2/src/Events/DispatchesEvents.php
+opt/app/vendor/adldap2/adldap2/src/Log/EventLogger.php
+opt/app/vendor/adldap2/adldap2/src/Log/LogsInformation.php
opt/app/vendor/adldap2/adldap2/src/Models/Attributes/AccountControl.php
opt/app/vendor/adldap2/adldap2/src/Models/Attributes/DistinguishedName.php
opt/app/vendor/adldap2/adldap2/src/Models/Attributes/Guid.php
+opt/app/vendor/adldap2/adldap2/src/Models/Attributes/MbString.php
opt/app/vendor/adldap2/adldap2/src/Models/Attributes/Sid.php
+opt/app/vendor/adldap2/adldap2/src/Models/Attributes/TSProperty.php
+opt/app/vendor/adldap2/adldap2/src/Models/Attributes/TSPropertyArray.php
opt/app/vendor/adldap2/adldap2/src/Models/BatchModification.php
opt/app/vendor/adldap2/adldap2/src/Models/Computer.php
opt/app/vendor/adldap2/adldap2/src/Models/Concerns/HasAttributes.php
opt/app/vendor/adldap2/adldap2/src/Models/Concerns/HasCriticalSystemObject.php
opt/app/vendor/adldap2/adldap2/src/Models/Concerns/HasDescription.php
+opt/app/vendor/adldap2/adldap2/src/Models/Concerns/HasEvents.php
opt/app/vendor/adldap2/adldap2/src/Models/Concerns/HasLastLogonAndLogOff.php
opt/app/vendor/adldap2/adldap2/src/Models/Concerns/HasMemberOf.php
opt/app/vendor/adldap2/adldap2/src/Models/Concerns/HasUserAccountControl.php
+opt/app/vendor/adldap2/adldap2/src/Models/Concerns/HasUserProperties.php
opt/app/vendor/adldap2/adldap2/src/Models/Contact.php
opt/app/vendor/adldap2/adldap2/src/Models/Container.php
opt/app/vendor/adldap2/adldap2/src/Models/Entry.php
+opt/app/vendor/adldap2/adldap2/src/Models/Events/Created.php
+opt/app/vendor/adldap2/adldap2/src/Models/Events/Creating.php
+opt/app/vendor/adldap2/adldap2/src/Models/Events/Deleted.php
+opt/app/vendor/adldap2/adldap2/src/Models/Events/Deleting.php
+opt/app/vendor/adldap2/adldap2/src/Models/Events/Event.php
+opt/app/vendor/adldap2/adldap2/src/Models/Events/Saved.php
+opt/app/vendor/adldap2/adldap2/src/Models/Events/Saving.php
+opt/app/vendor/adldap2/adldap2/src/Models/Events/Updated.php
+opt/app/vendor/adldap2/adldap2/src/Models/Events/Updating.php
opt/app/vendor/adldap2/adldap2/src/Models/Factory.php
+opt/app/vendor/adldap2/adldap2/src/Models/ForeignSecurityPrincipal.php
opt/app/vendor/adldap2/adldap2/src/Models/Group.php
opt/app/vendor/adldap2/adldap2/src/Models/Model.php
opt/app/vendor/adldap2/adldap2/src/Models/ModelDoesNotExistException.php
@@ -2739,72 +2789,76 @@ opt/app/vendor/adldap2/adldap2/src/Query/Operator.php
opt/app/vendor/adldap2/adldap2/src/Query/Paginator.php
opt/app/vendor/adldap2/adldap2/src/Query/Processor.php
opt/app/vendor/adldap2/adldap2/src/Schemas/ActiveDirectory.php
-opt/app/vendor/adldap2/adldap2/src/Schemas/BaseSchema.php
opt/app/vendor/adldap2/adldap2/src/Schemas/FreeIPA.php
opt/app/vendor/adldap2/adldap2/src/Schemas/OpenLDAP.php
+opt/app/vendor/adldap2/adldap2/src/Schemas/Schema.php
opt/app/vendor/adldap2/adldap2/src/Schemas/SchemaInterface.php
opt/app/vendor/adldap2/adldap2/src/Utilities.php
opt/app/vendor/autoload.php
+opt/app/vendor/bacon/bacon-qr-code/CHANGELOG.md
opt/app/vendor/bacon/bacon-qr-code/LICENSE
-opt/app/vendor/bacon/bacon-qr-code/Module.php
opt/app/vendor/bacon/bacon-qr-code/README.md
-opt/app/vendor/bacon/bacon-qr-code/autoload_classmap.php
-opt/app/vendor/bacon/bacon-qr-code/autoload_function.php
-opt/app/vendor/bacon/bacon-qr-code/autoload_register.php
opt/app/vendor/bacon/bacon-qr-code/composer.json
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/AbstractEnum.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/BitArray.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/BitMatrix.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/BitUtils.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/CharacterSetEci.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/EcBlock.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/EcBlocks.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/ErrorCorrectionLevel.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/FormatInformation.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/Mode.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/ReedSolomonCodec.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/Version.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/BlockPair.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/ByteMatrix.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/Encoder.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/MaskUtil.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/MatrixUtil.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/QrCode.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/ExceptionInterface.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/InvalidArgumentException.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/OutOfBoundsException.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/RuntimeException.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/UnexpectedValueException.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/WriterException.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/Cmyk.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/ColorInterface.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/Gray.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/Rgb.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/AbstractRenderer.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Decorator/DecoratorInterface.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Decorator/FinderPattern.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Eps.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Png.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/RendererInterface.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Svg.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/RendererInterface.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Text/Html.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Text/Plain.php
-opt/app/vendor/bacon/bacon-qr-code/src/BaconQrCode/Writer.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/BitArrayTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/BitMatrixTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/BitUtilsTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/ErrorCorrectionLevelTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/FormatInformationTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/ModeTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/ReedSolomonCodecTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/VersionTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Encoder/EncoderTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Encoder/MaskUtilTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Encoder/MatrixUtilTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Renderer/Text/HtmlTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Renderer/Text/TextTest.php
-opt/app/vendor/bacon/bacon-qr-code/tests/bootstrap.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/BitArray.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/BitMatrix.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/BitUtils.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/EcBlock.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/EcBlocks.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/ErrorCorrectionLevel.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/FormatInformation.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/Mode.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/ReedSolomonCodec.php
+opt/app/vendor/bacon/bacon-qr-code/src/Common/Version.php
+opt/app/vendor/bacon/bacon-qr-code/src/Encoder/BlockPair.php
+opt/app/vendor/bacon/bacon-qr-code/src/Encoder/ByteMatrix.php
+opt/app/vendor/bacon/bacon-qr-code/src/Encoder/Encoder.php
+opt/app/vendor/bacon/bacon-qr-code/src/Encoder/MaskUtil.php
+opt/app/vendor/bacon/bacon-qr-code/src/Encoder/MatrixUtil.php
+opt/app/vendor/bacon/bacon-qr-code/src/Encoder/QrCode.php
+opt/app/vendor/bacon/bacon-qr-code/src/Exception/ExceptionInterface.php
+opt/app/vendor/bacon/bacon-qr-code/src/Exception/InvalidArgumentException.php
+opt/app/vendor/bacon/bacon-qr-code/src/Exception/OutOfBoundsException.php
+opt/app/vendor/bacon/bacon-qr-code/src/Exception/RuntimeException.php
+opt/app/vendor/bacon/bacon-qr-code/src/Exception/UnexpectedValueException.php
+opt/app/vendor/bacon/bacon-qr-code/src/Exception/WriterException.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Color/Alpha.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Color/Cmyk.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Color/ColorInterface.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Color/Gray.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Color/Rgb.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Eye/CompositeEye.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Eye/EyeInterface.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Eye/ModuleEye.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Eye/SimpleCircleEye.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Eye/SquareEye.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Image/EpsImageBackEnd.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Image/ImageBackEndInterface.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Image/ImagickImageBackEnd.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Image/SvgImageBackEnd.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Image/TransformationMatrix.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/ImageRenderer.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Module/DotsModule.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Module/EdgeIterator/Edge.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Module/EdgeIterator/EdgeIterator.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Module/ModuleInterface.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Module/RoundnessModule.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Module/SquareModule.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Path/Close.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Path/Curve.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Path/EllipticArc.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Path/Line.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Path/Move.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Path/OperationInterface.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/Path/Path.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/PlainTextRenderer.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/RendererInterface.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/EyeFill.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/Fill.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/Gradient.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/GradientType.php
+opt/app/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/RendererStyle.php
+opt/app/vendor/bacon/bacon-qr-code/src/Writer.php
opt/app/vendor/bin/bunq-install
opt/app/vendor/bin/commonmark
opt/app/vendor/bin/doctrine-dbal
@@ -3219,6 +3273,26 @@ opt/app/vendor/danhunsaker/laravel-flysystem-service/composer.json
opt/app/vendor/danhunsaker/laravel-flysystem-service/config/filesystems.php
opt/app/vendor/danhunsaker/laravel-flysystem-service/src/FlysystemManager.php
opt/app/vendor/danhunsaker/laravel-flysystem-service/src/FlysystemServiceProvider.php
+opt/app/vendor/dasprid/enum/.coveralls.yml
+opt/app/vendor/dasprid/enum/README.md
+opt/app/vendor/dasprid/enum/composer.json
+opt/app/vendor/dasprid/enum/phpcs.xml
+opt/app/vendor/dasprid/enum/phpunit.xml.dist
+opt/app/vendor/dasprid/enum/src/AbstractEnum.php
+opt/app/vendor/dasprid/enum/src/EnumMap.php
+opt/app/vendor/dasprid/enum/src/Exception/CloneNotSupportedException.php
+opt/app/vendor/dasprid/enum/src/Exception/ExceptionInterface.php
+opt/app/vendor/dasprid/enum/src/Exception/ExpectationException.php
+opt/app/vendor/dasprid/enum/src/Exception/IllegalArgumentException.php
+opt/app/vendor/dasprid/enum/src/Exception/MismatchException.php
+opt/app/vendor/dasprid/enum/src/Exception/SerializeNotSupportedException.php
+opt/app/vendor/dasprid/enum/src/Exception/UnserializeNotSupportedException.php
+opt/app/vendor/dasprid/enum/src/NullValue.php
+opt/app/vendor/dasprid/enum/test/AbstractEnumTest.php
+opt/app/vendor/dasprid/enum/test/EnumMapTest.php
+opt/app/vendor/dasprid/enum/test/NullValueTest.php
+opt/app/vendor/dasprid/enum/test/Planet.php
+opt/app/vendor/dasprid/enum/test/WeekDay.php
opt/app/vendor/davejamesmiller/laravel-breadcrumbs/composer.json
opt/app/vendor/davejamesmiller/laravel-breadcrumbs/config/breadcrumbs.php
opt/app/vendor/davejamesmiller/laravel-breadcrumbs/src/BreadcrumbsException.php
@@ -3813,6 +3887,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Auth/Events/Registered.php
opt/app/vendor/laravel/framework/src/Illuminate/Auth/Events/Verified.php
opt/app/vendor/laravel/framework/src/Illuminate/Auth/GenericUser.php
opt/app/vendor/laravel/framework/src/Illuminate/Auth/GuardHelpers.php
+opt/app/vendor/laravel/framework/src/Illuminate/Auth/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Auth/Listeners/SendEmailVerificationNotification.php
opt/app/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php
opt/app/vendor/laravel/framework/src/Illuminate/Auth/Middleware/AuthenticateWithBasicAuth.php
@@ -3842,14 +3917,17 @@ opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/LogBro
opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/NullBroadcaster.php
opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/PusherBroadcaster.php
opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/RedisBroadcaster.php
+opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/UsePusherChannelConventions.php
opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/Channel.php
opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/InteractsWithSockets.php
+opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/PendingBroadcast.php
opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/PresenceChannel.php
opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/PrivateChannel.php
opt/app/vendor/laravel/framework/src/Illuminate/Broadcasting/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Bus/BusServiceProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php
+opt/app/vendor/laravel/framework/src/Illuminate/Bus/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Bus/Queueable.php
opt/app/vendor/laravel/framework/src/Illuminate/Bus/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Cache/ApcStore.php
@@ -3862,13 +3940,17 @@ opt/app/vendor/laravel/framework/src/Illuminate/Cache/Console/ClearCommand.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/Console/ForgetCommand.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/Console/stubs/cache.stub
opt/app/vendor/laravel/framework/src/Illuminate/Cache/DatabaseStore.php
+opt/app/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbLock.php
+opt/app/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbStore.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheEvent.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheHit.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheMissed.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/Events/KeyForgotten.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/Events/KeyWritten.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php
+opt/app/vendor/laravel/framework/src/Illuminate/Cache/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Cache/Lock.php
+opt/app/vendor/laravel/framework/src/Illuminate/Cache/LuaScripts.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/MemcachedLock.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/MemcachedStore.php
@@ -3883,6 +3965,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Cache/TagSet.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/TaggableStore.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/TaggedCache.php
opt/app/vendor/laravel/framework/src/Illuminate/Cache/composer.json
+opt/app/vendor/laravel/framework/src/Illuminate/Config/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Config/Repository.php
opt/app/vendor/laravel/framework/src/Illuminate/Config/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Console/Application.php
@@ -3893,6 +3976,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Console/Events/ArtisanStarting.p
opt/app/vendor/laravel/framework/src/Illuminate/Console/Events/CommandFinished.php
opt/app/vendor/laravel/framework/src/Illuminate/Console/Events/CommandStarting.php
opt/app/vendor/laravel/framework/src/Illuminate/Console/GeneratorCommand.php
+opt/app/vendor/laravel/framework/src/Illuminate/Console/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Console/OutputStyle.php
opt/app/vendor/laravel/framework/src/Illuminate/Console/Parser.php
opt/app/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CacheEventMutex.php
@@ -3911,6 +3995,8 @@ opt/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php
opt/app/vendor/laravel/framework/src/Illuminate/Container/Container.php
opt/app/vendor/laravel/framework/src/Illuminate/Container/ContextualBindingBuilder.php
opt/app/vendor/laravel/framework/src/Illuminate/Container/EntryNotFoundException.php
+opt/app/vendor/laravel/framework/src/Illuminate/Container/LICENSE.md
+opt/app/vendor/laravel/framework/src/Illuminate/Container/RewindableGenerator.php
opt/app/vendor/laravel/framework/src/Illuminate/Container/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Auth/Access/Authorizable.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Auth/Access/Gate.php
@@ -3958,6 +4044,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Filesystem/Filesystem.
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Foundation/Application.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Hashing/Hasher.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Http/Kernel.php
+opt/app/vendor/laravel/framework/src/Illuminate/Contracts/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Mail/MailQueue.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Mail/Mailable.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Mail/Mailer.php
@@ -3986,6 +4073,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Routing/UrlGenerator.p
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Routing/UrlRoutable.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Session/Session.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/Arrayable.php
+opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/DeferrableProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/Htmlable.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/Jsonable.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/Support/MessageBag.php
@@ -4006,6 +4094,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Contracts/View/View.php
opt/app/vendor/laravel/framework/src/Illuminate/Contracts/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Cookie/CookieJar.php
opt/app/vendor/laravel/framework/src/Illuminate/Cookie/CookieServiceProvider.php
+opt/app/vendor/laravel/framework/src/Illuminate/Cookie/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php
opt/app/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php
opt/app/vendor/laravel/framework/src/Illuminate/Cookie/composer.json
@@ -4070,6 +4159,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasM
opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php
opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOne.php
opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php
+opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneThrough.php
opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphMany.php
opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOne.php
opt/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.php
@@ -4088,6 +4178,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Database/Events/TransactionBegin
opt/app/vendor/laravel/framework/src/Illuminate/Database/Events/TransactionCommitted.php
opt/app/vendor/laravel/framework/src/Illuminate/Database/Events/TransactionRolledBack.php
opt/app/vendor/laravel/framework/src/Illuminate/Database/Grammar.php
+opt/app/vendor/laravel/framework/src/Illuminate/Database/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php
opt/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migration.php
@@ -4135,16 +4226,19 @@ opt/app/vendor/laravel/framework/src/Illuminate/Database/SqlServerConnection.php
opt/app/vendor/laravel/framework/src/Illuminate/Database/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php
opt/app/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php
+opt/app/vendor/laravel/framework/src/Illuminate/Encryption/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Encryption/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Events/CallQueuedListener.php
opt/app/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php
opt/app/vendor/laravel/framework/src/Illuminate/Events/EventServiceProvider.php
+opt/app/vendor/laravel/framework/src/Illuminate/Events/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Events/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Filesystem/Cache.php
opt/app/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php
opt/app/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php
opt/app/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemManager.php
opt/app/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemServiceProvider.php
+opt/app/vendor/laravel/framework/src/Illuminate/Filesystem/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Filesystem/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/AliasLoader.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php
@@ -4271,6 +4365,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/500.
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/503.blade.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/illustrated-layout.blade.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/layout.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/minimal.blade.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Events/RequestHandled.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Exceptions/MaintenanceModeException.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php
@@ -4282,6 +4377,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimS
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Inspiring.php
+opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Mix.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php
@@ -4292,6 +4388,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Providers/FoundationS
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/AuthServiceProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/EventServiceProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php
+opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Assert.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithAuthentication.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithContainer.php
@@ -4306,7 +4403,6 @@ opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/S
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SoftDeletedInDatabase.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseMigrations.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseTransactions.php
-opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/HttpException.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php
opt/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabaseState.php
@@ -4324,6 +4420,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Hashing/ArgonHasher.php
opt/app/vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php
opt/app/vendor/laravel/framework/src/Illuminate/Hashing/HashManager.php
opt/app/vendor/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php
+opt/app/vendor/laravel/framework/src/Illuminate/Hashing/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Hashing/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithContentTypes.php
opt/app/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithFlashData.php
@@ -4334,6 +4431,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Http/Exceptions/ThrottleRequests
opt/app/vendor/laravel/framework/src/Illuminate/Http/File.php
opt/app/vendor/laravel/framework/src/Illuminate/Http/FileHelpers.php
opt/app/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php
+opt/app/vendor/laravel/framework/src/Illuminate/Http/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Http/Middleware/CheckResponseForModifications.php
opt/app/vendor/laravel/framework/src/Illuminate/Http/Middleware/FrameGuard.php
opt/app/vendor/laravel/framework/src/Illuminate/Http/Middleware/SetCacheHeaders.php
@@ -4359,6 +4457,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Http/Testing/MimeType.php
opt/app/vendor/laravel/framework/src/Illuminate/Http/UploadedFile.php
opt/app/vendor/laravel/framework/src/Illuminate/Http/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Log/Events/MessageLogged.php
+opt/app/vendor/laravel/framework/src/Illuminate/Log/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php
opt/app/vendor/laravel/framework/src/Illuminate/Log/LogServiceProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Log/Logger.php
@@ -4366,6 +4465,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Log/ParsesLogConfiguration.php
opt/app/vendor/laravel/framework/src/Illuminate/Log/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Mail/Events/MessageSending.php
opt/app/vendor/laravel/framework/src/Illuminate/Mail/Events/MessageSent.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Mail/MailServiceProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Mail/Mailable.php
opt/app/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php
@@ -4393,16 +4493,16 @@ opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/promot
opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/subcopy.blade.php
opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/table.blade.php
opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/themes/default.css
-opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/markdown/button.blade.php
-opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/markdown/footer.blade.php
-opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/markdown/header.blade.php
-opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/markdown/layout.blade.php
-opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/markdown/message.blade.php
-opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/markdown/panel.blade.php
-opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/markdown/promotion.blade.php
-opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/markdown/promotion/button.blade.php
-opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/markdown/subcopy.blade.php
-opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/markdown/table.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/button.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/footer.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/header.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/layout.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/message.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/panel.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/promotion.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/promotion/button.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/subcopy.blade.php
+opt/app/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/table.blade.php
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/Action.php
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/AnonymousNotifiable.php
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/ChannelManager.php
@@ -4418,6 +4518,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Notifications/Events/Notificatio
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationSending.php
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationSent.php
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/HasDatabaseNotifications.php
+opt/app/vendor/laravel/framework/src/Illuminate/Notifications/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/Messages/BroadcastMessage.php
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/Messages/DatabaseMessage.php
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/Messages/MailMessage.php
@@ -4431,6 +4532,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Notifications/SendQueuedNotifica
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Notifications/resources/views/email.blade.php
opt/app/vendor/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php
+opt/app/vendor/laravel/framework/src/Illuminate/Pagination/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Pagination/LengthAwarePaginator.php
opt/app/vendor/laravel/framework/src/Illuminate/Pagination/PaginationServiceProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Pagination/Paginator.php
@@ -4442,6 +4544,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/seman
opt/app/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/simple-bootstrap-4.blade.php
opt/app/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/simple-default.blade.php
opt/app/vendor/laravel/framework/src/Illuminate/Pipeline/Hub.php
+opt/app/vendor/laravel/framework/src/Illuminate/Pipeline/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
opt/app/vendor/laravel/framework/src/Illuminate/Pipeline/PipelineServiceProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Pipeline/composer.json
@@ -4477,7 +4580,6 @@ opt/app/vendor/laravel/framework/src/Illuminate/Queue/Events/WorkerStopping.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/Failed/FailedJobProviderInterface.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/Failed/NullFailedJobProvider.php
-opt/app/vendor/laravel/framework/src/Illuminate/Queue/FailingJob.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/InteractsWithQueue.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/InvalidPayloadException.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/Jobs/BeanstalkdJob.php
@@ -4488,6 +4590,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Queue/Jobs/JobName.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/Jobs/RedisJob.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SqsJob.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php
+opt/app/vendor/laravel/framework/src/Illuminate/Queue/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Queue/Listener.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/ListenerOptions.php
opt/app/vendor/laravel/framework/src/Illuminate/Queue/LuaScripts.php
@@ -4515,6 +4618,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Redis/Connections/PredisConnecti
opt/app/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php
opt/app/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PredisConnector.php
opt/app/vendor/laravel/framework/src/Illuminate/Redis/Events/CommandExecuted.php
+opt/app/vendor/laravel/framework/src/Illuminate/Redis/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiter.php
opt/app/vendor/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiterBuilder.php
opt/app/vendor/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiter.php
@@ -4541,6 +4645,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Routing/Events/RouteMatched.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/Exceptions/InvalidSignatureException.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/Exceptions/UrlGenerationException.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php
+opt/app/vendor/laravel/framework/src/Illuminate/Routing/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Routing/Matching/HostValidator.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/Matching/MethodValidator.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/Matching/SchemeValidator.php
@@ -4563,6 +4668,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Routing/RouteBinding.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/RouteCompiler.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php
+opt/app/vendor/laravel/framework/src/Illuminate/Routing/RouteFileRegistrar.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/RouteGroup.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/RouteParameterBinder.php
opt/app/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php
@@ -4582,6 +4688,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.p
opt/app/vendor/laravel/framework/src/Illuminate/Session/EncryptedStore.php
opt/app/vendor/laravel/framework/src/Illuminate/Session/ExistenceAwareInterface.php
opt/app/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php
+opt/app/vendor/laravel/framework/src/Illuminate/Session/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php
opt/app/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
opt/app/vendor/laravel/framework/src/Illuminate/Session/NullSessionHandler.php
@@ -4595,6 +4702,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Support/Arr.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Carbon.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Collection.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Composer.php
+opt/app/vendor/laravel/framework/src/Illuminate/Support/DateFactory.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/App.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Artisan.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Auth.php
@@ -4606,6 +4714,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Config.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Cookie.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Crypt.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/DB.php
+opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Date.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Event.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/Facades/File.php
@@ -4634,6 +4743,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Support/HigherOrderCollectionPro
opt/app/vendor/laravel/framework/src/Illuminate/Support/HigherOrderTapProxy.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/HtmlString.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/InteractsWithTime.php
+opt/app/vendor/laravel/framework/src/Illuminate/Support/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Support/Manager.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/MessageBag.php
opt/app/vendor/laravel/framework/src/Illuminate/Support/NamespacedItemResolver.php
@@ -4657,6 +4767,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Support/composer.json
opt/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php
opt/app/vendor/laravel/framework/src/Illuminate/Translation/ArrayLoader.php
opt/app/vendor/laravel/framework/src/Illuminate/Translation/FileLoader.php
+opt/app/vendor/laravel/framework/src/Illuminate/Translation/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Translation/MessageSelector.php
opt/app/vendor/laravel/framework/src/Illuminate/Translation/TranslationServiceProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/Translation/Translator.php
@@ -4667,6 +4778,7 @@ opt/app/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ReplacesAttr
opt/app/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php
opt/app/vendor/laravel/framework/src/Illuminate/Validation/DatabasePresenceVerifier.php
opt/app/vendor/laravel/framework/src/Illuminate/Validation/Factory.php
+opt/app/vendor/laravel/framework/src/Illuminate/Validation/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/Validation/PresenceVerifierInterface.php
opt/app/vendor/laravel/framework/src/Illuminate/Validation/Rule.php
opt/app/vendor/laravel/framework/src/Illuminate/Validation/Rules/DatabaseRule.php
@@ -4714,18 +4826,13 @@ opt/app/vendor/laravel/framework/src/Illuminate/View/Engines/FileEngine.php
opt/app/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php
opt/app/vendor/laravel/framework/src/Illuminate/View/Factory.php
opt/app/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php
+opt/app/vendor/laravel/framework/src/Illuminate/View/LICENSE.md
opt/app/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php
opt/app/vendor/laravel/framework/src/Illuminate/View/View.php
opt/app/vendor/laravel/framework/src/Illuminate/View/ViewFinderInterface.php
opt/app/vendor/laravel/framework/src/Illuminate/View/ViewName.php
opt/app/vendor/laravel/framework/src/Illuminate/View/ViewServiceProvider.php
opt/app/vendor/laravel/framework/src/Illuminate/View/composer.json
-opt/app/vendor/laravel/nexmo-notification-channel/LICENSE.txt
-opt/app/vendor/laravel/nexmo-notification-channel/composer.json
-opt/app/vendor/laravel/nexmo-notification-channel/readme.md
-opt/app/vendor/laravel/nexmo-notification-channel/src/Channels/NexmoSmsChannel.php
-opt/app/vendor/laravel/nexmo-notification-channel/src/Messages/NexmoMessage.php
-opt/app/vendor/laravel/nexmo-notification-channel/src/NexmoChannelServiceProvider.php
opt/app/vendor/laravel/passport/LICENSE.txt
opt/app/vendor/laravel/passport/composer.json
opt/app/vendor/laravel/passport/config/passport.php
@@ -4793,14 +4900,6 @@ opt/app/vendor/laravel/passport/src/Scope.php
opt/app/vendor/laravel/passport/src/Token.php
opt/app/vendor/laravel/passport/src/TokenRepository.php
opt/app/vendor/laravel/passport/src/TransientToken.php
-opt/app/vendor/laravel/slack-notification-channel/LICENSE.txt
-opt/app/vendor/laravel/slack-notification-channel/composer.json
-opt/app/vendor/laravel/slack-notification-channel/readme.md
-opt/app/vendor/laravel/slack-notification-channel/src/Channels/SlackWebhookChannel.php
-opt/app/vendor/laravel/slack-notification-channel/src/Messages/SlackAttachment.php
-opt/app/vendor/laravel/slack-notification-channel/src/Messages/SlackAttachmentField.php
-opt/app/vendor/laravel/slack-notification-channel/src/Messages/SlackMessage.php
-opt/app/vendor/laravel/slack-notification-channel/src/SlackChannelServiceProvider.php
opt/app/vendor/laravelcollective/html/CONTRIBUTING.md
opt/app/vendor/laravelcollective/html/LICENSE.txt
opt/app/vendor/laravelcollective/html/composer.json
@@ -5462,216 +5561,557 @@ opt/app/vendor/mschindler83/fints-hbci-php/lib/Tests/Fhp/ResponseTest/ResponseTe
opt/app/vendor/mschindler83/fints-hbci-php/lib/Tests/TestInit.php
opt/app/vendor/mschindler83/fints-hbci-php/phplint.sh
opt/app/vendor/mschindler83/fints-hbci-php/phpunit.xml.dist
+opt/app/vendor/nesbot/carbon/.github/ISSUE_TEMPLATE.md
+opt/app/vendor/nesbot/carbon/.multi-tester.yml
opt/app/vendor/nesbot/carbon/LICENSE
opt/app/vendor/nesbot/carbon/composer.json
+opt/app/vendor/nesbot/carbon/contributing.md
+opt/app/vendor/nesbot/carbon/phpmd.xml
opt/app/vendor/nesbot/carbon/readme.md
opt/app/vendor/nesbot/carbon/src/Carbon/Carbon.php
+opt/app/vendor/nesbot/carbon/src/Carbon/CarbonImmutable.php
+opt/app/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php
opt/app/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php
opt/app/vendor/nesbot/carbon/src/Carbon/CarbonPeriod.php
+opt/app/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php
opt/app/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidDateException.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Factory.php
+opt/app/vendor/nesbot/carbon/src/Carbon/FactoryImmutable.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/aa.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/aa_DJ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER@saaho.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/aa_ET.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/af.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/af_ZA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/agr.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/agr_PE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ak.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ak_GH.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/am.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/am_ET.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/an.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/an_ES.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/anp.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/anp_IN.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_AE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_BH.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_DZ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_EG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_IQ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_JO.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_KW.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_LB.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_LY.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_MA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_OM.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_QA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_SA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_SD.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_SS.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_SY.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_Shakl.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_TN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ar_YE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/as.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/as_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ast.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ast_ES.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ayc.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ayc_PE.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/az.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/az_AZ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/az_IR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/be.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/be_BY.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/be_BY@latin.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bem.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bem_ZM.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ber.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ber_DZ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ber_MA.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bg.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bg_BG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bhb.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bhb_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bho.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bho_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bi.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bi_VU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bm.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bn_BD.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bn_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bo.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bo_CN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/br.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/br_FR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/brx.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/brx_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bs.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/bs_BA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/byn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/byn_ER.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ca.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ce.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ce_RU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/chr.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/chr_US.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/cmn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/cmn_TW.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/crh.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/crh_UA.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/cs.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/cs_CZ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/csb.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/csb_PL.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/cv.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/cv_RU.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/cy.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/cy_GB.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/da.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/da_DK.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/de.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/de_AT.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/de_BE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/de_CH.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/de_DE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/de_IT.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/de_LU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/doi.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/doi_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/dsb.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/dsb_DE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/dv.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/dv_MV.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/dz.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/dz_BT.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/el.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/el_CY.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/el_GR.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_AG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_AU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_CA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_CY.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_DK.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_GB.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_HK.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_IE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_IL.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_NG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_NZ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_PH.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_SG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_US.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_ZA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/en_ZM.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/eo.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_419.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_AR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_BO.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_CL.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_CO.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_CR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_DO.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_EC.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_ES.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_GT.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_HN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_MX.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_NI.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_PA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_PE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_PR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_PY.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_SV.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_US.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_UY.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/es_VE.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/et.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/et_EE.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/eu.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/eu_ES.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fa.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fa_IR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ff.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ff_SN.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fi.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fi_FI.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fil.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fil_PH.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fo.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fo_FO.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fr.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fr_BE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fr_CA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fr_CH.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fr_FR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fr_LU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fur.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fur_IT.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fy.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fy_DE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/fy_NL.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ga.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ga_IE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gd.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gd_GB.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gez.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gez_ER.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gez_ET.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gl.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gl_ES.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gom.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gom_Latn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gsw_CH.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gu.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gu_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gv.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/gv_GB.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ha.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ha_NG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hak.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hak_TW.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/he.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/he_IL.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hi.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hi_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hif.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hif_FJ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hne.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hne_IN.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hr.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hr_HR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hsb.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hsb_DE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ht.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ht_HT.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hu.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hu_HU.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hy.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/hy_AM.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/i18n.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ia.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ia_FR.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/id.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/id_ID.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ig.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ig_NG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ik.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ik_CA.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/is.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/is_IS.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/it.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/it_CH.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/it_IT.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/iu.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/iu_CA.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ja.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ja_JP.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/jv.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ka.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ka_GE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kab.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kab_DZ.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kk.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kk_KZ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kl.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kl_GL.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/km.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/km_KH.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kn_IN.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ko.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ko_KR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kok.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kok_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ks.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN@devanagari.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ku.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ku_TR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kw.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/kw_GB.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ky.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ky_KG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lb.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lb_LU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lg.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lg_UG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/li.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/li_NL.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lij.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lij_IT.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ln.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ln_CD.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lo.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lo_LA.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lt.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lt_LT.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lv.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lv_LV.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lzh.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/lzh_TW.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mag.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mag_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mai.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mai_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/me.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mfe.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mfe_MU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mg.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mg_MG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mhr.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mhr_RU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mi.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mi_NZ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/miq.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/miq_NI.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mjw.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mjw_IN.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mk.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mk_MK.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ml.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ml_IN.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mn_MN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mni.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mni_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mr.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mr_IN.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ms.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ms_MY.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mt.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/mt_MT.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/my.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/my_MM.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nan.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW@latin.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nb.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nb_NO.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nds.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nds_DE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nds_NL.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ne.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ne_NP.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nhn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nhn_MX.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/niu.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/niu_NU.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nl.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nl_AW.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nl_BE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nl_NL.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nn_NO.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/no.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nr.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nr_ZA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nso.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/nso_ZA.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/oc.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/oc_FR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/om.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/om_ET.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/or.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/or_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/os.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/os_RU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pa.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pa_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pa_PK.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pap.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pap_AW.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pap_CW.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pl.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pl_PL.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ps.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ps_AF.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pt.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pt_BR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/pt_PT.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/quz.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/quz_PE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/raj.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/raj_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/rm.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ro.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ro_RO.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ru.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ru_RU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ru_UA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/rw.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/rw_RW.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sa.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sa_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sah.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sah_RU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sat.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sat_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sc.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sc_IT.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/scr.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sd.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN@devanagari.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/se.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/se_NO.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sgs.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sgs_LT.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sh.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/shn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/shn_MM.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/shs.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/shs_CA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/si.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/si_LK.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sid.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sid_ET.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sk.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sk_SK.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sl.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sl_SI.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sm.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sm_WS.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/so.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/so_DJ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/so_ET.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/so_KE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/so_SO.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sq.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sq_AL.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sr.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_ME.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_ME.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sr_ME.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS@latin.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ss.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ss_ZA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/st.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/st_ZA.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sv.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sv_FI.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sv_SE.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sw.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sw_KE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/sw_TZ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/szl.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/szl_PL.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ta.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ta_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ta_LK.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tcy.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tcy_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/te.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/te_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tet.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tg.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tg_TJ.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/th.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/th_TH.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/the.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/the_NP.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ti.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ti_ER.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ti_ET.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tig.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tig_ER.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tk.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tk_TM.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tl.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tl_PH.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tlh.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tn_ZA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/to.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/to_TO.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tpi.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tpi_PG.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tr.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tr_TR.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ts.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ts_ZA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tt.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU@iqtelif.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tzl.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tzm.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/tzm_Latn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ug.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ug_CN.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/uk.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/uk_UA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/unm.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/unm_US.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ur.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ur_IN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ur_PK.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/uz.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/uz_Latn.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ@cyrillic.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ve.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/ve_ZA.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/vi.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/vi_VN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/wa.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/wa_BE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/wae.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/wae_CH.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/wal.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/wal_ET.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/wo.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/wo_SN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/xh.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/xh_ZA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/yi.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/yi_US.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/yo.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/yo_NG.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/yue.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/yue_HK.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/yuw.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/yuw_PG.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/zh.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/zh_CN.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/zh_HK.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/zh_MO.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/zh_SG.php
opt/app/vendor/nesbot/carbon/src/Carbon/Lang/zh_TW.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/zh_YUE.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/zu.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Lang/zu_ZA.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Language.php
opt/app/vendor/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php
+opt/app/vendor/nesbot/carbon/src/Carbon/List/languages.php
+opt/app/vendor/nesbot/carbon/src/Carbon/List/regions.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Boundaries.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Comparison.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Date.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Difference.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Macro.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Modifiers.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Mutability.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Options.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Rounding.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Serialization.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Test.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Units.php
+opt/app/vendor/nesbot/carbon/src/Carbon/Traits/Week.php
opt/app/vendor/nesbot/carbon/src/Carbon/Translator.php
-opt/app/vendor/nesbot/carbon/src/JsonSerializable.php
-opt/app/vendor/nexmo/client/LICENSE.txt
-opt/app/vendor/nexmo/client/composer.json
-opt/app/vendor/nexmo/client/phpcs.xml
-opt/app/vendor/nexmo/client/src/Account/Balance.php
-opt/app/vendor/nexmo/client/src/Account/Client.php
-opt/app/vendor/nexmo/client/src/Account/PrefixPrice.php
-opt/app/vendor/nexmo/client/src/Account/Price.php
-opt/app/vendor/nexmo/client/src/Account/Secret.php
-opt/app/vendor/nexmo/client/src/Account/SecretCollection.php
-opt/app/vendor/nexmo/client/src/Account/SmsPrice.php
-opt/app/vendor/nexmo/client/src/Account/VoicePrice.php
-opt/app/vendor/nexmo/client/src/ApiErrorHandler.php
-opt/app/vendor/nexmo/client/src/Application/Application.php
-opt/app/vendor/nexmo/client/src/Application/ApplicationInterface.php
-opt/app/vendor/nexmo/client/src/Application/Client.php
-opt/app/vendor/nexmo/client/src/Application/Filter.php
-opt/app/vendor/nexmo/client/src/Application/VoiceConfig.php
-opt/app/vendor/nexmo/client/src/Application/Webhook.php
-opt/app/vendor/nexmo/client/src/Call/Call.php
-opt/app/vendor/nexmo/client/src/Call/Collection.php
-opt/app/vendor/nexmo/client/src/Call/Dtmf.php
-opt/app/vendor/nexmo/client/src/Call/Earmuff.php
-opt/app/vendor/nexmo/client/src/Call/Endpoint.php
-opt/app/vendor/nexmo/client/src/Call/Event.php
-opt/app/vendor/nexmo/client/src/Call/Filter.php
-opt/app/vendor/nexmo/client/src/Call/Hangup.php
-opt/app/vendor/nexmo/client/src/Call/Mute.php
-opt/app/vendor/nexmo/client/src/Call/Stream.php
-opt/app/vendor/nexmo/client/src/Call/Talk.php
-opt/app/vendor/nexmo/client/src/Call/Transfer.php
-opt/app/vendor/nexmo/client/src/Call/Unearmuff.php
-opt/app/vendor/nexmo/client/src/Call/Unmute.php
-opt/app/vendor/nexmo/client/src/Call/Webhook.php
-opt/app/vendor/nexmo/client/src/Client.php
-opt/app/vendor/nexmo/client/src/Client/Callback/Callback.php
-opt/app/vendor/nexmo/client/src/Client/Callback/CallbackInterface.php
-opt/app/vendor/nexmo/client/src/Client/ClientAwareInterface.php
-opt/app/vendor/nexmo/client/src/Client/ClientAwareTrait.php
-opt/app/vendor/nexmo/client/src/Client/Credentials/AbstractCredentials.php
-opt/app/vendor/nexmo/client/src/Client/Credentials/Basic.php
-opt/app/vendor/nexmo/client/src/Client/Credentials/Container.php
-opt/app/vendor/nexmo/client/src/Client/Credentials/CredentialsInterface.php
-opt/app/vendor/nexmo/client/src/Client/Credentials/Keypair.php
-opt/app/vendor/nexmo/client/src/Client/Credentials/OAuth.php
-opt/app/vendor/nexmo/client/src/Client/Credentials/SignatureSecret.php
-opt/app/vendor/nexmo/client/src/Client/Exception/Exception.php
-opt/app/vendor/nexmo/client/src/Client/Exception/Request.php
-opt/app/vendor/nexmo/client/src/Client/Exception/Server.php
-opt/app/vendor/nexmo/client/src/Client/Exception/Transport.php
-opt/app/vendor/nexmo/client/src/Client/Exception/Validation.php
-opt/app/vendor/nexmo/client/src/Client/Factory/FactoryInterface.php
-opt/app/vendor/nexmo/client/src/Client/Factory/MapFactory.php
-opt/app/vendor/nexmo/client/src/Client/Request/AbstractRequest.php
-opt/app/vendor/nexmo/client/src/Client/Request/RequestInterface.php
-opt/app/vendor/nexmo/client/src/Client/Request/WrapResponseInterface.php
-opt/app/vendor/nexmo/client/src/Client/Response/AbstractResponse.php
-opt/app/vendor/nexmo/client/src/Client/Response/Error.php
-opt/app/vendor/nexmo/client/src/Client/Response/Response.php
-opt/app/vendor/nexmo/client/src/Client/Response/ResponseInterface.php
-opt/app/vendor/nexmo/client/src/Client/Signature.php
-opt/app/vendor/nexmo/client/src/Conversations/Collection.php
-opt/app/vendor/nexmo/client/src/Conversations/Conversation.php
-opt/app/vendor/nexmo/client/src/Conversion/Client.php
-opt/app/vendor/nexmo/client/src/Entity/ArrayAccessTrait.php
-opt/app/vendor/nexmo/client/src/Entity/CollectionAwareInterface.php
-opt/app/vendor/nexmo/client/src/Entity/CollectionAwareTrait.php
-opt/app/vendor/nexmo/client/src/Entity/CollectionInterface.php
-opt/app/vendor/nexmo/client/src/Entity/CollectionTrait.php
-opt/app/vendor/nexmo/client/src/Entity/EmptyFilter.php
-opt/app/vendor/nexmo/client/src/Entity/EntityInterface.php
-opt/app/vendor/nexmo/client/src/Entity/FilterInterface.php
-opt/app/vendor/nexmo/client/src/Entity/HasEntityTrait.php
-opt/app/vendor/nexmo/client/src/Entity/JsonResponseTrait.php
-opt/app/vendor/nexmo/client/src/Entity/JsonSerializableInterface.php
-opt/app/vendor/nexmo/client/src/Entity/JsonSerializableTrait.php
-opt/app/vendor/nexmo/client/src/Entity/JsonUnserializableInterface.php
-opt/app/vendor/nexmo/client/src/Entity/NoRequestResponseTrait.php
-opt/app/vendor/nexmo/client/src/Entity/Psr7Trait.php
-opt/app/vendor/nexmo/client/src/Entity/RequestArrayTrait.php
-opt/app/vendor/nexmo/client/src/Insights/Advanced.php
-opt/app/vendor/nexmo/client/src/Insights/AdvancedCnam.php
-opt/app/vendor/nexmo/client/src/Insights/Basic.php
-opt/app/vendor/nexmo/client/src/Insights/Client.php
-opt/app/vendor/nexmo/client/src/Insights/CnamTrait.php
-opt/app/vendor/nexmo/client/src/Insights/Standard.php
-opt/app/vendor/nexmo/client/src/Insights/StandardCnam.php
-opt/app/vendor/nexmo/client/src/InvalidResponseException.php
-opt/app/vendor/nexmo/client/src/Message/AutoDetect.php
-opt/app/vendor/nexmo/client/src/Message/Binary.php
-opt/app/vendor/nexmo/client/src/Message/Callback/Receipt.php
-opt/app/vendor/nexmo/client/src/Message/Client.php
-opt/app/vendor/nexmo/client/src/Message/CollectionTrait.php
-opt/app/vendor/nexmo/client/src/Message/EncodingDetector.php
-opt/app/vendor/nexmo/client/src/Message/InboundMessage.php
-opt/app/vendor/nexmo/client/src/Message/Message.php
-opt/app/vendor/nexmo/client/src/Message/MessageInterface.php
-opt/app/vendor/nexmo/client/src/Message/Query.php
-opt/app/vendor/nexmo/client/src/Message/Response/Collection.php
-opt/app/vendor/nexmo/client/src/Message/Response/Message.php
-opt/app/vendor/nexmo/client/src/Message/Shortcode.php
-opt/app/vendor/nexmo/client/src/Message/Shortcode/Alert.php
-opt/app/vendor/nexmo/client/src/Message/Shortcode/Marketing.php
-opt/app/vendor/nexmo/client/src/Message/Shortcode/TwoFactor.php
-opt/app/vendor/nexmo/client/src/Message/Text.php
-opt/app/vendor/nexmo/client/src/Message/Unicode.php
-opt/app/vendor/nexmo/client/src/Message/Vcal.php
-opt/app/vendor/nexmo/client/src/Message/Vcard.php
-opt/app/vendor/nexmo/client/src/Message/Wap.php
-opt/app/vendor/nexmo/client/src/Network.php
-opt/app/vendor/nexmo/client/src/Network/Number/Callback.php
-opt/app/vendor/nexmo/client/src/Network/Number/Request.php
-opt/app/vendor/nexmo/client/src/Network/Number/Response.php
-opt/app/vendor/nexmo/client/src/Numbers/Client.php
-opt/app/vendor/nexmo/client/src/Numbers/Number.php
-opt/app/vendor/nexmo/client/src/Redact/Client.php
-opt/app/vendor/nexmo/client/src/Response.php
-opt/app/vendor/nexmo/client/src/Response/Message.php
-opt/app/vendor/nexmo/client/src/User/Collection.php
-opt/app/vendor/nexmo/client/src/User/User.php
-opt/app/vendor/nexmo/client/src/Verify/Check.php
-opt/app/vendor/nexmo/client/src/Verify/Client.php
-opt/app/vendor/nexmo/client/src/Verify/Verification.php
-opt/app/vendor/nexmo/client/src/Verify/VerificationInterface.php
-opt/app/vendor/nexmo/client/src/Voice/Call/Call.php
-opt/app/vendor/nexmo/client/src/Voice/Call/Inbound.php
-opt/app/vendor/nexmo/client/src/Voice/Message/Callback.php
-opt/app/vendor/nexmo/client/src/Voice/Message/Message.php
opt/app/vendor/opis/closure/CHANGELOG.md
opt/app/vendor/opis/closure/LICENSE
opt/app/vendor/opis/closure/NOTICE
@@ -5723,34 +6163,21 @@ opt/app/vendor/paragonie/random_compat/lib/random.php
opt/app/vendor/paragonie/random_compat/other/build_phar.php
opt/app/vendor/paragonie/random_compat/psalm-autoload.php
opt/app/vendor/paragonie/random_compat/psalm.xml
-opt/app/vendor/php-http/guzzle6-adapter/CHANGELOG.md
-opt/app/vendor/php-http/guzzle6-adapter/LICENSE
-opt/app/vendor/php-http/guzzle6-adapter/README.md
-opt/app/vendor/php-http/guzzle6-adapter/composer.json
-opt/app/vendor/php-http/guzzle6-adapter/puli.json
-opt/app/vendor/php-http/guzzle6-adapter/src/Client.php
-opt/app/vendor/php-http/guzzle6-adapter/src/Promise.php
-opt/app/vendor/php-http/httplug/CHANGELOG.md
-opt/app/vendor/php-http/httplug/LICENSE
-opt/app/vendor/php-http/httplug/README.md
-opt/app/vendor/php-http/httplug/composer.json
-opt/app/vendor/php-http/httplug/puli.json
-opt/app/vendor/php-http/httplug/src/Exception.php
-opt/app/vendor/php-http/httplug/src/Exception/HttpException.php
-opt/app/vendor/php-http/httplug/src/Exception/NetworkException.php
-opt/app/vendor/php-http/httplug/src/Exception/RequestException.php
-opt/app/vendor/php-http/httplug/src/Exception/TransferException.php
-opt/app/vendor/php-http/httplug/src/HttpAsyncClient.php
-opt/app/vendor/php-http/httplug/src/HttpClient.php
-opt/app/vendor/php-http/httplug/src/Promise/HttpFulfilledPromise.php
-opt/app/vendor/php-http/httplug/src/Promise/HttpRejectedPromise.php
-opt/app/vendor/php-http/promise/CHANGELOG.md
-opt/app/vendor/php-http/promise/LICENSE
-opt/app/vendor/php-http/promise/README.md
-opt/app/vendor/php-http/promise/composer.json
-opt/app/vendor/php-http/promise/src/FulfilledPromise.php
-opt/app/vendor/php-http/promise/src/Promise.php
-opt/app/vendor/php-http/promise/src/RejectedPromise.php
+opt/app/vendor/phpoption/phpoption/LICENSE
+opt/app/vendor/phpoption/phpoption/README.md
+opt/app/vendor/phpoption/phpoption/composer.json
+opt/app/vendor/phpoption/phpoption/phpunit.xml.dist
+opt/app/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php
+opt/app/vendor/phpoption/phpoption/src/PhpOption/None.php
+opt/app/vendor/phpoption/phpoption/src/PhpOption/Option.php
+opt/app/vendor/phpoption/phpoption/src/PhpOption/Some.php
+opt/app/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php
+opt/app/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php
+opt/app/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php
+opt/app/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php
+opt/app/vendor/phpoption/phpoption/tests/PhpOption/Tests/PerformanceTest.php
+opt/app/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php
+opt/app/vendor/phpoption/phpoption/tests/bootstrap.php
opt/app/vendor/phpseclib/phpseclib/AUTHORS
opt/app/vendor/phpseclib/phpseclib/LICENSE
opt/app/vendor/phpseclib/phpseclib/README.md
@@ -6745,8 +7172,10 @@ opt/app/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHa
opt/app/vendor/symfony/debug/Tests/Fixtures/AnnotatedClass.php
opt/app/vendor/symfony/debug/Tests/Fixtures/ClassAlias.php
opt/app/vendor/symfony/debug/Tests/Fixtures/ClassWithAnnotatedParameters.php
+opt/app/vendor/symfony/debug/Tests/Fixtures/DefinitionInEvaluatedCode.php
opt/app/vendor/symfony/debug/Tests/Fixtures/DeprecatedClass.php
opt/app/vendor/symfony/debug/Tests/Fixtures/DeprecatedInterface.php
+opt/app/vendor/symfony/debug/Tests/Fixtures/ErrorHandlerThatUsesThePreviousOne.php
opt/app/vendor/symfony/debug/Tests/Fixtures/ExtendedFinalMethod.php
opt/app/vendor/symfony/debug/Tests/Fixtures/FinalClasses.php
opt/app/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php
@@ -7669,6 +8098,7 @@ opt/app/vendor/symfony/translation/PluralizationRules.php
opt/app/vendor/symfony/translation/README.md
opt/app/vendor/symfony/translation/Reader/TranslationReader.php
opt/app/vendor/symfony/translation/Reader/TranslationReaderInterface.php
+opt/app/vendor/symfony/translation/Resources/bin/translation-status.php
opt/app/vendor/symfony/translation/Resources/data/parents.json
opt/app/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd
opt/app/vendor/symfony/translation/Resources/schemas/xliff-core-2.0.xsd
@@ -7751,6 +8181,7 @@ opt/app/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.txt
opt/app/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/packagelist.txt
opt/app/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/resources.dat
opt/app/vendor/symfony/translation/Tests/fixtures/resourcebundle/res/en.res
+opt/app/vendor/symfony/translation/Tests/fixtures/resources-2.0+intl-icu.xlf
opt/app/vendor/symfony/translation/Tests/fixtures/resources-2.0-clean.xlf
opt/app/vendor/symfony/translation/Tests/fixtures/resources-2.0-multi-segment-unit.xlf
opt/app/vendor/symfony/translation/Tests/fixtures/resources-2.0.xlf
@@ -7873,6 +8304,28 @@ opt/app/vendor/symfony/var-dumper/Tests/Test/VarDumperTestTraitTest.php
opt/app/vendor/symfony/var-dumper/VarDumper.php
opt/app/vendor/symfony/var-dumper/composer.json
opt/app/vendor/symfony/var-dumper/phpunit.xml.dist
+opt/app/vendor/tightenco/collect/collect-logo.png
+opt/app/vendor/tightenco/collect/composer.json
+opt/app/vendor/tightenco/collect/readme.md
+opt/app/vendor/tightenco/collect/src/Collect/Contracts/Support/Arrayable.php
+opt/app/vendor/tightenco/collect/src/Collect/Contracts/Support/Htmlable.php
+opt/app/vendor/tightenco/collect/src/Collect/Contracts/Support/Jsonable.php
+opt/app/vendor/tightenco/collect/src/Collect/Support/Arr.php
+opt/app/vendor/tightenco/collect/src/Collect/Support/Collection.php
+opt/app/vendor/tightenco/collect/src/Collect/Support/HigherOrderCollectionProxy.php
+opt/app/vendor/tightenco/collect/src/Collect/Support/HtmlString.php
+opt/app/vendor/tightenco/collect/src/Collect/Support/Traits/Macroable.php
+opt/app/vendor/tightenco/collect/src/Collect/Support/alias.php
+opt/app/vendor/tightenco/collect/src/Collect/Support/helpers.php
+opt/app/vendor/tightenco/collect/stubs/src/Collect/Support/alias.php
+opt/app/vendor/tightenco/collect/stubs/src/Collect/Support/helpers.php
+opt/app/vendor/tightenco/collect/stubs/tests/bootstrap.php
+opt/app/vendor/tightenco/collect/tests/Support/SupportArrTest.php
+opt/app/vendor/tightenco/collect/tests/Support/SupportCarbonTest.php
+opt/app/vendor/tightenco/collect/tests/Support/SupportCollectionTest.php
+opt/app/vendor/tightenco/collect/tests/Support/SupportMacroableTest.php
+opt/app/vendor/tightenco/collect/tests/bootstrap.php
+opt/app/vendor/tightenco/collect/upgrade.sh
opt/app/vendor/tijsverkoyen/css-to-inline-styles/LICENSE.md
opt/app/vendor/tijsverkoyen/css-to-inline-styles/composer.json
opt/app/vendor/tijsverkoyen/css-to-inline-styles/phpunit.xml.dist
@@ -8741,13 +9194,28 @@ opt/app/vendor/twig/twig/test/Twig/Tests/escapingTest.php
opt/app/vendor/vlucas/phpdotenv/LICENSE.txt
opt/app/vendor/vlucas/phpdotenv/composer.json
opt/app/vendor/vlucas/phpdotenv/src/Dotenv.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/AbstractVariables.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/Adapter/AdapterInterface.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/Adapter/ApacheAdapter.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/Adapter/ArrayAdapter.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/Adapter/EnvConstAdapter.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/Adapter/PutenvAdapter.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/Adapter/ServerConstAdapter.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/DotenvFactory.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/DotenvVariables.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/FactoryInterface.php
+opt/app/vendor/vlucas/phpdotenv/src/Environment/VariablesInterface.php
opt/app/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php
-opt/app/vendor/vlucas/phpdotenv/src/Exception/InvalidCallbackException.php
opt/app/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php
opt/app/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php
opt/app/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php
+opt/app/vendor/vlucas/phpdotenv/src/Lines.php
opt/app/vendor/vlucas/phpdotenv/src/Loader.php
opt/app/vendor/vlucas/phpdotenv/src/Parser.php
+opt/app/vendor/vlucas/phpdotenv/src/Regex/Error.php
+opt/app/vendor/vlucas/phpdotenv/src/Regex/Regex.php
+opt/app/vendor/vlucas/phpdotenv/src/Regex/Result.php
+opt/app/vendor/vlucas/phpdotenv/src/Regex/Success.php
opt/app/vendor/vlucas/phpdotenv/src/Validator.php
opt/app/vendor/zendframework/zend-diactoros/.coveralls.yml
opt/app/vendor/zendframework/zend-diactoros/CHANGELOG.md
@@ -8798,6 +9266,7 @@ opt/app/vendor/zendframework/zend-diactoros/src/functions/marshal_uri_from_sapi.
opt/app/vendor/zendframework/zend-diactoros/src/functions/normalize_server.php
opt/app/vendor/zendframework/zend-diactoros/src/functions/normalize_uploaded_files.php
opt/app/vendor/zendframework/zend-diactoros/src/functions/parse_cookie_header.php
+opt/app/yarn-error.log
opt/app/yarn.lock
proc/cpuinfo
sandstorm-http-bridge
diff --git a/.sandstorm/sandstorm-pkgdef.capnp b/.sandstorm/sandstorm-pkgdef.capnp
index 16f69b1cd6..6a6dda0bf5 100644
--- a/.sandstorm/sandstorm-pkgdef.capnp
+++ b/.sandstorm/sandstorm-pkgdef.capnp
@@ -15,8 +15,8 @@ const pkgdef :Spk.PackageDefinition = (
manifest = (
appTitle = (defaultText = "Firefly III"),
- appVersion = 26,
- appMarketingVersion = (defaultText = "4.7.16"),
+ appVersion = 27,
+ appMarketingVersion = (defaultText = "4.7.17"),
actions = [
# Define your "new document" handlers here.
diff --git a/.sandstorm/setup.sh b/.sandstorm/setup.sh
index 7f12a884d0..89e48c2294 100755
--- a/.sandstorm/setup.sh
+++ b/.sandstorm/setup.sh
@@ -24,6 +24,8 @@ sed -i 's/# pt_BR.UTF-8 UTF-8/pt_BR.UTF-8 UTF-8/g' /etc/locale.gen
sed -i 's/# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/g' /etc/locale.gen
sed -i 's/# zh_TW.UTF-8 UTF-8/zh_TW.UTF-8 UTF-8/g' /etc/locale.gen
sed -i 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/g' /etc/locale.gen
+sed -i 's/# nb_NO.UTF-8 UTF-8/nb_NO.UTF-8 UTF-8/g' /etc/locale.gen
+
dpkg-reconfigure --frontend=noninteractive locales
diff --git a/.travis.yml b/.travis.yml
index ea28ac9300..5c1ea0c91c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,7 @@
sudo: required
language: bash
env:
- - VERSION=4.7.16
+ - VERSION=4.7.17
dist: xenial
diff --git a/app/Http/Controllers/Json/RecurrenceController.php b/app/Http/Controllers/Json/RecurrenceController.php
index cfabc0ff56..d672b01311 100644
--- a/app/Http/Controllers/Json/RecurrenceController.php
+++ b/app/Http/Controllers/Json/RecurrenceController.php
@@ -147,8 +147,9 @@ class RecurrenceController extends Controller
*/
public function suggest(Request $request): JsonResponse
{
+ $string = $request->get('date') ?? date('Y-m-d');
$today = new Carbon;
- $date = Carbon::createFromFormat('Y-m-d', $request->get('date'));
+ $date = Carbon::createFromFormat('Y-m-d', $string);
$preSelected = (string)$request->get('pre_select');
$result = [];
if ($date > $today || 'true' === (string)$request->get('past')) {
diff --git a/app/Http/Controllers/System/InstallController.php b/app/Http/Controllers/System/InstallController.php
index fabdd79b01..81a26e19bf 100644
--- a/app/Http/Controllers/System/InstallController.php
+++ b/app/Http/Controllers/System/InstallController.php
@@ -25,10 +25,13 @@ namespace FireflyIII\Http\Controllers\System;
use Artisan;
+use Cache;
use Exception;
use FireflyIII\Http\Controllers\Controller;
+use FireflyIII\Support\Facades\Preferences;
use FireflyIII\Support\Http\Controllers\GetConfigurationData;
use Illuminate\Http\JsonResponse;
+use Illuminate\Support\Arr;
use Laravel\Passport\Passport;
use Log;
use phpseclib\Crypt\RSA;
@@ -75,11 +78,17 @@ class InstallController extends Controller
Log::error($e->getMessage());
Log::error($e->getTraceAsString());
if (strpos($e->getMessage(), 'open_basedir restriction in effect')) {
+ Cache::clear();
+
return response()->json(['error' => true, 'message' => self::BASEDIR_ERROR]);
}
return response()->json(['error' => true, 'message' => self::OTHER_ERROR . ' ' . $e->getMessage()]);
}
+ // clear cache as well.
+ Cache::clear();
+ Preferences::mark();
+
return response()->json(['error' => false, 'message' => 'OK']);
}
@@ -91,6 +100,9 @@ class InstallController extends Controller
*/
public function index()
{
+ // index will set FF3 version.
+ app('fireflyconfig')->set('ff3_version', (string)config('firefly.version'));
+
return view('install.index');
}
@@ -118,8 +130,12 @@ class InstallController extends Controller
return response()->json(['error' => false, 'message' => 'OK']);
}
- file_put_contents($publicKey, array_get($keys, 'publickey'));
- file_put_contents($privateKey, array_get($keys, 'privatekey'));
+ file_put_contents($publicKey, Arr::get($keys, 'publickey'));
+ file_put_contents($privateKey, Arr::get($keys, 'privatekey'));
+
+ // clear cache as well.
+ Cache::clear();
+ Preferences::mark();
return response()->json(['error' => false, 'message' => 'OK']);
}
@@ -148,6 +164,9 @@ class InstallController extends Controller
return response()->json(['error' => true, 'message' => self::OTHER_ERROR]);
}
+ // clear cache as well.
+ Cache::clear();
+ Preferences::mark();
return response()->json(['error' => false, 'message' => 'OK']);
@@ -176,6 +195,10 @@ class InstallController extends Controller
return response()->json(['error' => true, 'message' => self::OTHER_ERROR . ' ' . $e->getMessage()]);
}
+ // clear cache as well.
+ Cache::clear();
+ Preferences::mark();
+
return response()->json(['error' => false, 'message' => 'OK']);
}
@@ -204,6 +227,11 @@ class InstallController extends Controller
return response()->json(['error' => true, 'message' => self::OTHER_ERROR . ' ' . $e->getMessage()]);
}
+
+ // clear cache as well.
+ Cache::clear();
+ Preferences::mark();
+
return response()->json(['error' => false, 'message' => 'OK']);
}
diff --git a/app/Http/Controllers/Transaction/SingleController.php b/app/Http/Controllers/Transaction/SingleController.php
index ddd474c7ab..bbf82c8737 100644
--- a/app/Http/Controllers/Transaction/SingleController.php
+++ b/app/Http/Controllers/Transaction/SingleController.php
@@ -221,6 +221,7 @@ class SingleController extends Controller
*/
public function delete(TransactionJournal $journal)
{
+ Log::debug(sprintf('Start of delete view for journal #%d', $journal->id));
// Covered by another controller's tests
// @codeCoverageIgnoreStart
if ($this->isOpeningBalance($journal)) {
@@ -232,6 +233,7 @@ class SingleController extends Controller
$subTitle = (string)trans('firefly.delete_' . $what, ['description' => $journal->description]);
// put previous url in session
+ Log::debug('Will try to remember previous URI');
$this->rememberPreviousUri('transactions.delete.uri');
return view('transactions.single.delete', compact('journal', 'subTitle', 'what'));
diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php
index 0544006f2c..c352b2fb55 100644
--- a/app/Http/Kernel.php
+++ b/app/Http/Kernel.php
@@ -184,7 +184,21 @@ class Kernel extends HttpKernel
'bindings',
],
];
-
+ /**
+ * The priority-sorted list of middleware.
+ *
+ * This forces non-global middleware to always be in the given order.
+ *
+ * @var array
+ */
+ protected $middlewarePriority
+ = [
+ StartFireflySession::class,
+ ShareErrorsFromSession::class,
+ Authenticate::class,
+ Binder::class,
+ Authorize::class,
+ ];
/**
* The application's route middleware.
*
diff --git a/app/Http/Middleware/Installer.php b/app/Http/Middleware/Installer.php
index 70c3dd964f..cf24d83e54 100644
--- a/app/Http/Middleware/Installer.php
+++ b/app/Http/Middleware/Installer.php
@@ -54,9 +54,11 @@ class Installer
*/
public function handle($request, Closure $next)
{
+ // ignore installer in test environment.
if ('testing' === config('app.env')) {
return $next($request);
}
+ // don't run installer when already in installer.
$url = $request->url();
$strpos = stripos($url, '/install');
if (!(false === $strpos)) {
@@ -64,37 +66,16 @@ class Installer
return $next($request);
}
- // no tables present?
- try {
- DB::table('users')->count();
- } catch (QueryException $e) {
- $message = $e->getMessage();
- Log::error('Access denied: ' . $message);
- if ($this->isAccessDenied($message)) {
- throw new FireflyException('It seems your database configuration is not correct. Please verify the username and password in your .env file.');
- }
- if ($this->noTablesExist($message)) {
- // redirect to UpdateController
- Log::warning('There are no Firefly III tables present. Redirect to migrate routine.');
- return response()->redirectTo(route('installer.index'));
- }
- throw new FireflyException(sprintf('Could not access the database: %s', $message));
- }
-
- // older version in config than database?
- $configVersion = (int)config('firefly.db_version');
- $dbVersion = (int)app('fireflyconfig')->getFresh('db_version', 1)->data;
- if ($configVersion > $dbVersion) {
- Log::warning(
- sprintf(
- 'The current installed version (%d) is older than the required version (%d). Redirect to migrate routine.', $dbVersion, $configVersion
- )
- );
-
- // redirect to migrate routine:
+ // run installer when no tables are present,
+ // or when old scheme version
+ // or when old firefly version
+ if ($this->hasNoTables() || $this->oldDBVersion() || $this->oldVersion()) {
return response()->redirectTo(route('installer.index'));
}
+ // update scheme version
+ // update firefly version
+
return $next($request);
}
@@ -122,4 +103,85 @@ class Installer
{
return !(false === stripos($message, 'Base table or view not found'));
}
+
+ /**
+ * Check if the tables are created and accounted for.
+ *
+ * @return bool
+ * @throws FireflyException
+ */
+ private function hasNoTables(): bool
+ {
+ Log::debug('Now in routine hasNoTables()');
+
+ try {
+ DB::table('users')->count();
+ } catch (QueryException $e) {
+ $message = $e->getMessage();
+ Log::error(sprintf('Error message trying to access users-table: %s', $message));
+ if ($this->isAccessDenied($message)) {
+ throw new FireflyException('It seems your database configuration is not correct. Please verify the username and password in your .env file.');
+ }
+ if ($this->noTablesExist($message)) {
+ // redirect to UpdateController
+ Log::warning('There are no Firefly III tables present. Redirect to migrate routine.');
+
+ return true;
+
+ }
+ throw new FireflyException(sprintf('Could not access the database: %s', $message));
+ }
+ Log::debug('Everything seems OK with the tables.');
+
+ return false;
+
+ }
+
+ /**
+ * Check if the "db_version" variable is correct.
+ *
+ * @return bool
+ */
+ private function oldDBVersion(): bool
+ {
+ // older version in config than database?
+ $configVersion = (int)config('firefly.db_version');
+ $dbVersion = (int)app('fireflyconfig')->getFresh('db_version', 1)->data;
+ if ($configVersion > $dbVersion) {
+ Log::warning(
+ sprintf(
+ 'The current configured version (%d) is older than the required version (%d). Redirect to migrate routine.', $dbVersion, $configVersion
+ )
+ );
+
+ return true;
+ }
+ Log::info(sprintf('Configured DB version (%d) equals expected DB version (%d)', $dbVersion, $configVersion));
+
+ return false;
+ }
+
+ /**
+ * Check if the "firefly_version" variable is correct.
+ *
+ * @return bool
+ */
+ private function oldVersion(): bool
+ {
+ // version compare thing.
+ $configVersion = (string)config('firefly.version');
+ $dbVersion = (string)app('fireflyconfig')->getFresh('ff3_version', '1.0')->data;
+ if (1 === version_compare($configVersion, $dbVersion)) {
+ Log::warning(
+ sprintf(
+ 'The current configured Firefly III version (%s) is older than the required version (%s). Redirect to migrate routine.', $dbVersion, $configVersion
+ )
+ );
+
+ return true;
+ }
+ Log::info(sprintf('Installed Firefly III version (%s) equals expected Firefly III version (%s)', $dbVersion, $configVersion));
+
+ return false;
+ }
}
diff --git a/app/Http/Middleware/StartFireflySession.php b/app/Http/Middleware/StartFireflySession.php
index fdf71f4d1e..00b3580734 100644
--- a/app/Http/Middleware/StartFireflySession.php
+++ b/app/Http/Middleware/StartFireflySession.php
@@ -24,6 +24,7 @@ namespace FireflyIII\Http\Middleware;
use Illuminate\Http\Request;
use Illuminate\Session\Middleware\StartSession;
+use Log;
/**
* Class StartFireflySession.
@@ -40,10 +41,18 @@ class StartFireflySession extends StartSession
*/
protected function storeCurrentUrl(Request $request, $session): void
{
- $uri = $request->fullUrl();
- $strpos = strpos($uri, 'jscript');
- if (false === $strpos && 'GET' === $request->method() && !$request->ajax()) {
+ $uri = $request->fullUrl();
+ $isScriptPage = strpos($uri, 'jscript');
+ $isDeletePage = strpos($uri, 'delete');
+
+ // also stop remembering "delete" URL's.
+
+ if (false === $isScriptPage && false === $isDeletePage && 'GET' === $request->method() && !$request->ajax()) {
$session->setPreviousUrl($uri);
+ Log::debug(sprintf('Will set previous URL to %s', $uri));
+
+ return;
}
+ Log::debug(sprintf('Will NOT set previous URL to %s', $uri));
}
}
diff --git a/app/Import/Storage/ImportArrayStorage.php b/app/Import/Storage/ImportArrayStorage.php
index 761d659188..19df205f90 100644
--- a/app/Import/Storage/ImportArrayStorage.php
+++ b/app/Import/Storage/ImportArrayStorage.php
@@ -575,21 +575,24 @@ class ImportArrayStorage
++$hits;
Log::debug(sprintf('Source IDs are the same! (%d)', $hits));
}
+ Log::debug('Source IDs are not the same.');
unset($transferSourceIDs);
// compare source and destination names
- $transferSource = [(string)$transfer->account_name, (int)$transfer->opposing_account_name];
+ $transferSource = [(string)$transfer->account_name, (string)$transfer->opposing_account_name];
sort($transferSource);
/** @noinspection DisconnectedForeachInstructionInspection */
Log::debug('Comparing current transaction source+dest names', $currentSourceNames);
Log::debug('.. with current transfer source+dest names', $transferSource);
if ($currentSourceNames === $transferSource) {
// @codeCoverageIgnoreStart
- Log::debug(sprintf('Source names are the same! (%d)', $hits));
++$hits;
+ Log::debug(sprintf('Source names are the same! (%d)', $hits));
// @codeCoverageIgnoreEnd
}
+ Log::debug('Source names are not the same.');
$totalHits += $hits;
+ Log::debug(sprintf('Total hits is now %d, hits is %d', $totalHits, $hits));
if ($totalHits >= $requiredHits) {
return true;
}
diff --git a/app/Support/Amount.php b/app/Support/Amount.php
index 9f9789aa14..797dce4779 100644
--- a/app/Support/Amount.php
+++ b/app/Support/Amount.php
@@ -242,6 +242,7 @@ class Amount
$currencyPreference = Prefs::getForUser($user, 'currencyPreference', config('firefly.default_currency', 'EUR'));
// at this point the currency preference could be encrypted, if coming from an old version.
+ Log::debug('Going to try to decrypt users currency preference.');
$currencyCode = $this->tryDecrypt((string)$currencyPreference->data);
// could still be json encoded:
@@ -288,7 +289,7 @@ class Amount
try {
$value = Crypt::decrypt($value);
} catch (DecryptException $e) {
- Log::debug(sprintf('Could not decrypt. %s', $e->getMessage()));
+ Log::debug(sprintf('Could not decrypt "%s". %s', $value, $e->getMessage()));
}
return $value;
diff --git a/app/Support/Http/Controllers/UserNavigation.php b/app/Support/Http/Controllers/UserNavigation.php
index cac0d91f92..66e30c5c02 100644
--- a/app/Support/Http/Controllers/UserNavigation.php
+++ b/app/Support/Http/Controllers/UserNavigation.php
@@ -50,6 +50,7 @@ trait UserNavigation
*/
protected function getPreviousUri(string $identifier): string
{
+ Log::debug(sprintf('Trying to retrieve URL stored under "%s"', $identifier));
// "forbidden" words for specific identifiers:
// if these are in the previous URI, don't refer back there.
$array = [
@@ -66,18 +67,25 @@ trait UserNavigation
'transactions.mass-delete.uri' => '/transactions/show/',
];
$forbidden = $array[$identifier] ?? '/show/';
-
+ Log::debug(sprintf('The forbidden word for %s is "%s"', $identifier, $forbidden));
$uri = (string)session($identifier);
+ Log::debug(sprintf('The URI is %s', $uri));
if (
!(false === strpos($identifier, 'delete'))
&& !(false === strpos($uri, $forbidden))) {
$uri = $this->redirectUri;
+ Log::debug(sprintf('URI is now %s (identifier contains "delete")', $uri));
}
if (!(false === strpos($uri, 'jscript'))) {
$uri = $this->redirectUri; // @codeCoverageIgnore
+ Log::debug(sprintf('URI is now %s (uri contains jscript)', $uri));
}
+ // more debug notes:
+ Log::debug(sprintf('strpos($identifier, "delete"): %s', var_export(strpos($identifier, 'delete'), true)));
+ Log::debug(sprintf('strpos($uri, $forbidden): %s', var_export(strpos($uri, $forbidden), true)));
+
return $uri;
}
@@ -147,6 +155,9 @@ trait UserNavigation
$url = app('url')->previous();
session()->put($identifier, $url);
Log::debug(sprintf('Will put previous URI in cache under key %s: %s', $identifier, $url));
+
+ return;
}
+ Log::debug(sprintf('The users session contains errors somehow so we will not remember the URI!: %s', var_export($errors, true)));
}
}
diff --git a/changelog.md b/changelog.md
index b25db20044..df390e83b1 100644
--- a/changelog.md
+++ b/changelog.md
@@ -2,13 +2,31 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
+## [4.7.17 (API 0.9.2)] - 2019-03-17
+
+### Added
+- Support for Norwegian!
+
+### Changed
+- Clear cache during install routine.
+- Add Firefly III version number to install routine.
+
+### Removed
+- Initial release.
+
+### Fixed
+- [Issue 2159](https://github.com/firefly-iii/firefly-iii/issues/2159) Bad redirect due to Laravel upgrade.
+- [Issue 2166](https://github.com/firefly-iii/firefly-iii/issues/2166) Importer had some issues with distinguishing double transfers.
+- [Issue 2167](https://github.com/firefly-iii/firefly-iii/issues/2167) New LDAP package gave some configuration changes.
+- [Issue 2173](https://github.com/firefly-iii/firefly-iii/issues/2173) Missing class when generating 2FA codes.
+
## [4.7.16 (API 0.9.2)] - 2019-03-08
4.7.16 was released to fix a persistent issue with broken user preferences.
### Changed
-- Firefly III now uses Laravel 5.8
+- Firefly III now uses Laravel 5.8.
## [4.7.15 (API 0.9.2)] - 2019-03-02
diff --git a/composer.json b/composer.json
index 8e7d76168e..96b087f25b 100644
--- a/composer.json
+++ b/composer.json
@@ -58,17 +58,17 @@
"php": ">=7.2.0",
"ext-bcmath": "*",
"ext-curl": "*",
- "ext-gd": "*",
- "ext-tokenizer": "*",
- "ext-intl": "*",
- "ext-xml": "*",
- "ext-zip": "*",
- "ext-json": "*",
"ext-fileinfo": "*",
+ "ext-gd": "*",
+ "ext-intl": "*",
+ "ext-json": "*",
"ext-openssl": "*",
"ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "ext-xml": "*",
+ "ext-zip": "*",
"adldap2/adldap2-laravel": "5.*",
- "bacon/bacon-qr-code": "2.*",
+ "bacon/bacon-qr-code": "1.*",
"bunq/sdk_php": "dev-master",
"danhunsaker/laravel-flysystem-others": "1.*",
"davejamesmiller/laravel-breadcrumbs": "5.*",
diff --git a/composer.lock b/composer.lock
index ad22ed84b2..0f67eb7bf6 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "e8ba6ad329690fa66b35a2b78e143f9b",
+ "content-hash": "574b38ec48f5e9c1400138b63f0a3d7d",
"packages": [
{
"name": "adldap2/adldap2",
- "version": "v10.0.3",
+ "version": "v10.0.4",
"source": {
"type": "git",
"url": "https://github.com/Adldap2/Adldap2.git",
- "reference": "9e4a41dfd045b6b45b03576e409a99f69dd5dd8e"
+ "reference": "345631260d5aedbd5e196a88b57eb1bf19e68fd1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Adldap2/Adldap2/zipball/9e4a41dfd045b6b45b03576e409a99f69dd5dd8e",
- "reference": "9e4a41dfd045b6b45b03576e409a99f69dd5dd8e",
+ "url": "https://api.github.com/repos/Adldap2/Adldap2/zipball/345631260d5aedbd5e196a88b57eb1bf19e68fd1",
+ "reference": "345631260d5aedbd5e196a88b57eb1bf19e68fd1",
"shasum": ""
},
"require": {
@@ -61,7 +61,7 @@
"ldap",
"windows"
],
- "time": "2019-02-20T15:52:32+00:00"
+ "time": "2019-03-15T15:53:20+00:00"
},
{
"name": "adldap2/adldap2-laravel",
@@ -118,35 +118,32 @@
},
{
"name": "bacon/bacon-qr-code",
- "version": "2.0.0",
+ "version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/Bacon/BaconQrCode.git",
- "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0"
+ "reference": "5a91b62b9d37cee635bbf8d553f4546057250bee"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/eaac909da3ccc32b748a65b127acd8918f58d9b0",
- "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0",
+ "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/5a91b62b9d37cee635bbf8d553f4546057250bee",
+ "reference": "5a91b62b9d37cee635bbf8d553f4546057250bee",
"shasum": ""
},
"require": {
- "dasprid/enum": "^1.0",
"ext-iconv": "*",
- "php": "^7.1"
+ "php": "^5.4|^7.0"
},
"require-dev": {
- "phly/keep-a-changelog": "^1.4",
- "phpunit/phpunit": "^6.4",
- "squizlabs/php_codesniffer": "^3.1"
+ "phpunit/phpunit": "^4.8"
},
"suggest": {
- "ext-imagick": "to generate QR code images"
+ "ext-gd": "to generate QR code images"
},
"type": "library",
"autoload": {
- "psr-4": {
- "BaconQrCode\\": "src/"
+ "psr-0": {
+ "BaconQrCode": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -163,7 +160,7 @@
],
"description": "BaconQrCode is a QR code generator for PHP.",
"homepage": "https://github.com/Bacon/BaconQrCode",
- "time": "2018-04-25T17:53:56+00:00"
+ "time": "2017-10-17T09:59:25+00:00"
},
{
"name": "bunq/sdk_php",
@@ -401,48 +398,6 @@
],
"time": "2018-08-13T22:27:45+00:00"
},
- {
- "name": "dasprid/enum",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/DASPRiD/Enum.git",
- "reference": "631ef6e638e9494b0310837fa531bedd908fc22b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/631ef6e638e9494b0310837fa531bedd908fc22b",
- "reference": "631ef6e638e9494b0310837fa531bedd908fc22b",
- "shasum": ""
- },
- "require-dev": {
- "phpunit/phpunit": "^6.4",
- "squizlabs/php_codesniffer": "^3.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "DASPRiD\\Enum\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Ben Scholzen 'DASPRiD'",
- "email": "mail@dasprids.de",
- "homepage": "https://dasprids.de/"
- }
- ],
- "description": "PHP 7.1 enum implementation",
- "keywords": [
- "enum",
- "map"
- ],
- "time": "2017-10-25T22:45:27+00:00"
- },
{
"name": "davejamesmiller/laravel-breadcrumbs",
"version": "5.2.1",
@@ -1353,16 +1308,16 @@
},
{
"name": "laravel/framework",
- "version": "v5.8.3",
+ "version": "v5.8.4",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "d36d74acd3added5abbe7e7a84342b54bb0b0521"
+ "reference": "d651f8bd25c6baf7ae4913bc51f02849fad4e925"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/d36d74acd3added5abbe7e7a84342b54bb0b0521",
- "reference": "d36d74acd3added5abbe7e7a84342b54bb0b0521",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/d651f8bd25c6baf7ae4913bc51f02849fad4e925",
+ "reference": "d651f8bd25c6baf7ae4913bc51f02849fad4e925",
"shasum": ""
},
"require": {
@@ -1496,34 +1451,34 @@
"framework",
"laravel"
],
- "time": "2019-03-05T13:51:19+00:00"
+ "time": "2019-03-12T13:33:14+00:00"
},
{
"name": "laravel/passport",
- "version": "v7.2.0",
+ "version": "v7.2.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/passport.git",
- "reference": "56330509283d465acaaff842637e539d03bcf9ca"
+ "reference": "bd8ae09775778f96b6642d87e2f579fea5bf92b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/passport/zipball/56330509283d465acaaff842637e539d03bcf9ca",
- "reference": "56330509283d465acaaff842637e539d03bcf9ca",
+ "url": "https://api.github.com/repos/laravel/passport/zipball/bd8ae09775778f96b6642d87e2f579fea5bf92b5",
+ "reference": "bd8ae09775778f96b6642d87e2f579fea5bf92b5",
"shasum": ""
},
"require": {
"ext-json": "*",
"firebase/php-jwt": "~3.0|~4.0|~5.0",
"guzzlehttp/guzzle": "~6.0",
- "illuminate/auth": "~5.6.0|~5.7.0|~5.8.0",
- "illuminate/console": "~5.6.0|~5.7.0|~5.8.0",
- "illuminate/container": "~5.6.0|~5.7.0|~5.8.0",
- "illuminate/contracts": "~5.6.0|~5.7.0|~5.8.0",
- "illuminate/database": "~5.6.0|~5.7.0|~5.8.0",
- "illuminate/encryption": "~5.6.0|~5.7.0|~5.8.0",
- "illuminate/http": "~5.6.0|~5.7.0|~5.8.0",
- "illuminate/support": "~5.6.0|~5.7.0|~5.8.0",
+ "illuminate/auth": "~5.6.0|~5.7.0|~5.8.0|~5.9.0",
+ "illuminate/console": "~5.6.0|~5.7.0|~5.8.0|~5.9.0",
+ "illuminate/container": "~5.6.0|~5.7.0|~5.8.0|~5.9.0",
+ "illuminate/contracts": "~5.6.0|~5.7.0|~5.8.0|~5.9.0",
+ "illuminate/database": "~5.6.0|~5.7.0|~5.8.0|~5.9.0",
+ "illuminate/encryption": "~5.6.0|~5.7.0|~5.8.0|~5.9.0",
+ "illuminate/http": "~5.6.0|~5.7.0|~5.8.0|~5.9.0",
+ "illuminate/support": "~5.6.0|~5.7.0|~5.8.0|~5.9.0",
"league/oauth2-server": "^7.0",
"php": ">=7.1",
"phpseclib/phpseclib": "^2.0",
@@ -1566,7 +1521,7 @@
"oauth",
"passport"
],
- "time": "2019-02-14T16:29:26+00:00"
+ "time": "2019-03-12T11:42:07+00:00"
},
{
"name": "laravelcollective/html",
@@ -1696,16 +1651,16 @@
},
{
"name": "league/commonmark",
- "version": "0.18.1",
+ "version": "0.18.2",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "e5029f74ba39e043ce4b3ca6c05dc719d8aafd94"
+ "reference": "ad51c7cafb90e0bbd9f34b71d18d05994547e352"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/e5029f74ba39e043ce4b3ca6c05dc719d8aafd94",
- "reference": "e5029f74ba39e043ce4b3ca6c05dc719d8aafd94",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/ad51c7cafb90e0bbd9f34b71d18d05994547e352",
+ "reference": "ad51c7cafb90e0bbd9f34b71d18d05994547e352",
"shasum": ""
},
"require": {
@@ -1761,20 +1716,20 @@
"markdown",
"parser"
],
- "time": "2018-12-30T01:55:29+00:00"
+ "time": "2019-03-17T01:41:59+00:00"
},
{
"name": "league/csv",
- "version": "9.1.4",
+ "version": "9.2.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/csv.git",
- "reference": "9c8ad06fb5d747c149875beb6133566c00eaa481"
+ "reference": "f3a3c69b6e152417e1b62d995bcad2237b053cc6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/csv/zipball/9c8ad06fb5d747c149875beb6133566c00eaa481",
- "reference": "9c8ad06fb5d747c149875beb6133566c00eaa481",
+ "url": "https://api.github.com/repos/thephpleague/csv/zipball/f3a3c69b6e152417e1b62d995bcad2237b053cc6",
+ "reference": "f3a3c69b6e152417e1b62d995bcad2237b053cc6",
"shasum": ""
},
"require": {
@@ -1783,7 +1738,7 @@
},
"require-dev": {
"ext-curl": "*",
- "friendsofphp/php-cs-fixer": "^2.0",
+ "friendsofphp/php-cs-fixer": "^2.12",
"phpstan/phpstan": "^0.9.2",
"phpstan/phpstan-phpunit": "^0.9.4",
"phpstan/phpstan-strict-rules": "^0.9.0",
@@ -1828,7 +1783,7 @@
"read",
"write"
],
- "time": "2018-05-01T18:32:48+00:00"
+ "time": "2019-03-08T06:56:16+00:00"
},
{
"name": "league/event",
@@ -2349,16 +2304,16 @@
},
{
"name": "nesbot/carbon",
- "version": "2.14.2",
+ "version": "2.16.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "a1f4f9abcde8241ce33bf5090896e9c16d0b4232"
+ "reference": "dd16fedc022180ea4292a03aabe95e9895677911"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/a1f4f9abcde8241ce33bf5090896e9c16d0b4232",
- "reference": "a1f4f9abcde8241ce33bf5090896e9c16d0b4232",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/dd16fedc022180ea4292a03aabe95e9895677911",
+ "reference": "dd16fedc022180ea4292a03aabe95e9895677911",
"shasum": ""
},
"require": {
@@ -2405,7 +2360,7 @@
"datetime",
"time"
],
- "time": "2019-02-28T09:07:12+00:00"
+ "time": "2019-03-12T09:31:40+00:00"
},
{
"name": "opis/closure",
@@ -2627,16 +2582,16 @@
},
{
"name": "phpseclib/phpseclib",
- "version": "2.0.14",
+ "version": "2.0.15",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "8ebfcadbf30524aeb75b2c446bc2519d5b321478"
+ "reference": "11cf67cf78dc4acb18dc9149a57be4aee5036ce0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/8ebfcadbf30524aeb75b2c446bc2519d5b321478",
- "reference": "8ebfcadbf30524aeb75b2c446bc2519d5b321478",
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/11cf67cf78dc4acb18dc9149a57be4aee5036ce0",
+ "reference": "11cf67cf78dc4acb18dc9149a57be4aee5036ce0",
"shasum": ""
},
"require": {
@@ -2715,7 +2670,7 @@
"x.509",
"x509"
],
- "time": "2019-01-27T19:37:29+00:00"
+ "time": "2019-03-10T16:53:45+00:00"
},
{
"name": "pragmarx/google2fa",
@@ -3239,25 +3194,28 @@
},
{
"name": "swiftmailer/swiftmailer",
- "version": "v6.1.3",
+ "version": "v6.2.0",
"source": {
"type": "git",
"url": "https://github.com/swiftmailer/swiftmailer.git",
- "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4"
+ "reference": "6fa3232ff9d3f8237c0fae4b7ff05e1baa4cd707"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8ddcb66ac10c392d3beb54829eef8ac1438595f4",
- "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4",
+ "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/6fa3232ff9d3f8237c0fae4b7ff05e1baa4cd707",
+ "reference": "6fa3232ff9d3f8237c0fae4b7ff05e1baa4cd707",
"shasum": ""
},
"require": {
"egulias/email-validator": "~2.0",
- "php": ">=7.0.0"
+ "php": ">=7.0.0",
+ "symfony/polyfill-iconv": "^1.0",
+ "symfony/polyfill-intl-idn": "^1.10",
+ "symfony/polyfill-mbstring": "^1.0"
},
"require-dev": {
"mockery/mockery": "~0.9.1",
- "symfony/phpunit-bridge": "~3.3@dev"
+ "symfony/phpunit-bridge": "^3.4.19|^4.1.8"
},
"suggest": {
"ext-intl": "Needed to support internationalized email addresses",
@@ -3266,7 +3224,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "6.1-dev"
+ "dev-master": "6.2-dev"
}
},
"autoload": {
@@ -3294,7 +3252,7 @@
"mail",
"mailer"
],
- "time": "2018-09-11T07:12:52+00:00"
+ "time": "2019-03-10T07:52:41+00:00"
},
{
"name": "symfony/console",
@@ -3859,6 +3817,127 @@
],
"time": "2018-08-06T14:22:27+00:00"
},
+ {
+ "name": "symfony/polyfill-iconv",
+ "version": "v1.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-iconv.git",
+ "reference": "97001cfc283484c9691769f51cdf25259037eba2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/97001cfc283484c9691769f51cdf25259037eba2",
+ "reference": "97001cfc283484c9691769f51cdf25259037eba2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "suggest": {
+ "ext-iconv": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Iconv\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Iconv extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "iconv",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "time": "2018-09-21T06:26:08+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-idn",
+ "version": "v1.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-idn.git",
+ "reference": "89de1d44f2c059b266f22c9cc9124ddc4cd0987a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/89de1d44f2c059b266f22c9cc9124ddc4cd0987a",
+ "reference": "89de1d44f2c059b266f22c9cc9124ddc4cd0987a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "symfony/polyfill-mbstring": "^1.3",
+ "symfony/polyfill-php72": "^1.9"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Idn\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ },
+ {
+ "name": "Laurent Bassin",
+ "email": "laurent@bassin.info"
+ }
+ ],
+ "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "idn",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "time": "2018-09-30T16:36:12+00:00"
+ },
{
"name": "symfony/polyfill-mbstring",
"version": "v1.10.0",
@@ -4132,41 +4211,44 @@
},
{
"name": "symfony/psr-http-message-bridge",
- "version": "v1.1.0",
+ "version": "v1.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/psr-http-message-bridge.git",
- "reference": "53c15a6a7918e6c2ab16ae370ea607fb40cab196"
+ "reference": "9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/53c15a6a7918e6c2ab16ae370ea607fb40cab196",
- "reference": "53c15a6a7918e6c2ab16ae370ea607fb40cab196",
+ "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad",
+ "reference": "9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad",
"shasum": ""
},
"require": {
- "php": "^5.3.3 || ^7.0",
+ "php": "^7.1",
"psr/http-message": "^1.0",
- "symfony/http-foundation": "^2.3.42 || ^3.4 || ^4.0"
+ "symfony/http-foundation": "^3.4 || ^4.0"
},
"require-dev": {
- "symfony/phpunit-bridge": "^3.4 || 4.0"
+ "nyholm/psr7": "^1.1",
+ "symfony/phpunit-bridge": "^3.4.20 || ^4.0",
+ "zendframework/zend-diactoros": "^1.4.1 || ^2.0"
},
"suggest": {
- "psr/http-factory-implementation": "To use the PSR-17 factory",
- "psr/http-message-implementation": "To use the HttpFoundation factory",
- "zendframework/zend-diactoros": "To use the Zend Diactoros factory"
+ "nyholm/psr7": "For a super lightweight PSR-7/17 implementation"
},
"type": "symfony-bridge",
"extra": {
"branch-alias": {
- "dev-master": "1.1-dev"
+ "dev-master": "1.2-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Bridge\\PsrHttpMessage\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -4187,9 +4269,10 @@
"keywords": [
"http",
"http-message",
+ "psr-17",
"psr-7"
],
- "time": "2018-08-30T16:28:28+00:00"
+ "time": "2019-03-11T18:22:33+00:00"
},
{
"name": "symfony/routing",
@@ -4419,16 +4502,16 @@
},
{
"name": "tightenco/collect",
- "version": "v5.8.3",
+ "version": "v5.8.4",
"source": {
"type": "git",
"url": "https://github.com/tightenco/collect.git",
- "reference": "7a9a1aa3f1478d6baba2d3a95e18d2ad8caaf5c4"
+ "reference": "c77e52021fa9c04c6bf0c0d15aa61c7a4af27a1f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tightenco/collect/zipball/7a9a1aa3f1478d6baba2d3a95e18d2ad8caaf5c4",
- "reference": "7a9a1aa3f1478d6baba2d3a95e18d2ad8caaf5c4",
+ "url": "https://api.github.com/repos/tightenco/collect/zipball/c77e52021fa9c04c6bf0c0d15aa61c7a4af27a1f",
+ "reference": "c77e52021fa9c04c6bf0c0d15aa61c7a4af27a1f",
"shasum": ""
},
"require": {
@@ -4465,7 +4548,7 @@
"collection",
"laravel"
],
- "time": "2019-03-05T14:34:11+00:00"
+ "time": "2019-03-12T16:57:57+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@@ -4516,16 +4599,16 @@
},
{
"name": "twig/twig",
- "version": "v1.37.1",
+ "version": "v1.38.2",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "66be9366c76cbf23e82e7171d47cbfa54a057a62"
+ "reference": "874adbd9222f928f6998732b25b01b41dff15b0c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/66be9366c76cbf23e82e7171d47cbfa54a057a62",
- "reference": "66be9366c76cbf23e82e7171d47cbfa54a057a62",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/874adbd9222f928f6998732b25b01b41dff15b0c",
+ "reference": "874adbd9222f928f6998732b25b01b41dff15b0c",
"shasum": ""
},
"require": {
@@ -4540,7 +4623,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.37-dev"
+ "dev-master": "1.38-dev"
}
},
"autoload": {
@@ -4578,20 +4661,20 @@
"keywords": [
"templating"
],
- "time": "2019-01-14T14:59:29+00:00"
+ "time": "2019-03-12T18:45:24+00:00"
},
{
"name": "vlucas/phpdotenv",
- "version": "v3.3.2",
+ "version": "v3.3.3",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "1ee9369cfbf26cfcf1f2515d98f15fab54e9647a"
+ "reference": "dbcc609971dd9b55f48b8008b553d79fd372ddde"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1ee9369cfbf26cfcf1f2515d98f15fab54e9647a",
- "reference": "1ee9369cfbf26cfcf1f2515d98f15fab54e9647a",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/dbcc609971dd9b55f48b8008b553d79fd372ddde",
+ "reference": "dbcc609971dd9b55f48b8008b553d79fd372ddde",
"shasum": ""
},
"require": {
@@ -4630,7 +4713,7 @@
"env",
"environment"
],
- "time": "2019-01-30T10:43:17+00:00"
+ "time": "2019-03-06T09:39:45+00:00"
},
{
"name": "zendframework/zend-diactoros",
@@ -6135,16 +6218,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "8.0.4",
+ "version": "8.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "a7af0201285445c9c73c4bdf869c486e36b41604"
+ "reference": "19cbed2120839772c4a00e8b28456b0c77d1a7b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a7af0201285445c9c73c4bdf869c486e36b41604",
- "reference": "a7af0201285445c9c73c4bdf869c486e36b41604",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/19cbed2120839772c4a00e8b28456b0c77d1a7b4",
+ "reference": "19cbed2120839772c4a00e8b28456b0c77d1a7b4",
"shasum": ""
},
"require": {
@@ -6163,7 +6246,7 @@
"phpunit/php-code-coverage": "^7.0",
"phpunit/php-file-iterator": "^2.0.1",
"phpunit/php-text-template": "^1.2.1",
- "phpunit/php-timer": "^2.0",
+ "phpunit/php-timer": "^2.1",
"sebastian/comparator": "^3.0",
"sebastian/diff": "^3.0",
"sebastian/environment": "^4.1",
@@ -6213,7 +6296,7 @@
"testing",
"xunit"
],
- "time": "2019-02-18T09:23:05+00:00"
+ "time": "2019-03-16T07:33:46+00:00"
},
{
"name": "roave/security-advisories",
@@ -6221,12 +6304,12 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
- "reference": "4e04718428742618a4bf24dafca45b8645c9320d"
+ "reference": "3521da8036ce31b11490433aaae47f9601774191"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/4e04718428742618a4bf24dafca45b8645c9320d",
- "reference": "4e04718428742618a4bf24dafca45b8645c9320d",
+ "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/3521da8036ce31b11490433aaae47f9601774191",
+ "reference": "3521da8036ce31b11490433aaae47f9601774191",
"shasum": ""
},
"conflict": {
@@ -6363,7 +6446,7 @@
"theonedemon/phpwhois": "<=4.2.5",
"titon/framework": ">=0,<9.9.99",
"truckersmp/phpwhois": "<=4.3.1",
- "twig/twig": "<1.20",
+ "twig/twig": "<1.38|>=2,<2.7",
"typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.23|>=9,<9.5.4",
"typo3/cms-core": ">=8,<8.7.23|>=9,<9.5.4",
"typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5",
@@ -6417,7 +6500,7 @@
}
],
"description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
- "time": "2019-02-26T21:14:50+00:00"
+ "time": "2019-03-12T13:04:55+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@@ -7235,15 +7318,15 @@
"php": ">=7.2.0",
"ext-bcmath": "*",
"ext-curl": "*",
- "ext-gd": "*",
- "ext-tokenizer": "*",
- "ext-intl": "*",
- "ext-xml": "*",
- "ext-zip": "*",
- "ext-json": "*",
"ext-fileinfo": "*",
+ "ext-gd": "*",
+ "ext-intl": "*",
+ "ext-json": "*",
"ext-openssl": "*",
- "ext-simplexml": "*"
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "ext-xml": "*",
+ "ext-zip": "*"
},
"platform-dev": []
}
diff --git a/config/firefly.php b/config/firefly.php
index 4a7ffb1991..2e0ba14d01 100644
--- a/config/firefly.php
+++ b/config/firefly.php
@@ -93,9 +93,9 @@ return [
'is_demo_site' => false,
],
'encryption' => null === env('USE_ENCRYPTION') || env('USE_ENCRYPTION') === true,
- 'version' => '4.7.16',
+ 'version' => '4.7.17',
'api_version' => '0.9.2',
- 'db_version' => 9,
+ 'db_version' => 10,
'maxUploadSize' => 15242880,
'send_error_message' => env('SEND_ERROR_MESSAGE', true),
'site_owner' => env('SITE_OWNER', ''),
@@ -276,7 +276,7 @@ return [
'zh_TW' => ['name_locale' => 'Chinese Traditional', 'name_english' => 'Chinese Traditional'], // 100%
'zh_CN' => ['name_locale' => 'Chinese Simplified', 'name_english' => 'Chinese Simplified'], // 99%
//'tr_TR' => ['name_locale' => 'Türkçe', 'name_english' => 'Turkish'], // 71%
- //'nb_NO' => ['name_locale' => 'Norwegian', 'name_english' => 'Norwegian'], // 52%
+ 'nb_NO' => ['name_locale' => 'Norsk', 'name_english' => 'Norwegian'],
//'ca_ES' => ['name_locale' => 'Catalan', 'name_english' => 'Catalan'], // 0%
//'ja_JA' => ['name_locale' => 'Japanese', 'name_english' => 'Japanese'], // 0%
//'cs_CZ' => ['name_locale' => 'Czech', 'name_english' => 'Czech'], // 35%
diff --git a/config/ldap_auth.php b/config/ldap_auth.php
index 00d6eb5c16..886fff15dc 100644
--- a/config/ldap_auth.php
+++ b/config/ldap_auth.php
@@ -143,7 +143,7 @@ return [
'scopes' => $scopes,
- 'usernames' => [
+ 'identifiers' => [
/*
|--------------------------------------------------------------------------
@@ -173,8 +173,8 @@ return [
'ldap' => [
- 'discover' => envNonEmpty('ADLDAP_DISCOVER_FIELD', 'userprincipalname'),
- 'authenticate' => envNonEmpty('ADLDAP_AUTH_FIELD', 'distinguishedname'),
+ 'locate_users_by' => envNonEmpty('ADLDAP_DISCOVER_FIELD', 'userprincipalname'),
+ 'bind_users_by' => envNonEmpty('ADLDAP_AUTH_FIELD', 'distinguishedname'),
],
diff --git a/database/migrations/2019_03_11_223700_fix_ldap_configuration.php b/database/migrations/2019_03_11_223700_fix_ldap_configuration.php
new file mode 100644
index 0000000000..008a67de41
--- /dev/null
+++ b/database/migrations/2019_03_11_223700_fix_ldap_configuration.php
@@ -0,0 +1,64 @@
+.
+ */
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+/**
+ * Class FixLdapConfiguration
+ */
+class FixLdapConfiguration extends Migration
+{
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down(): void
+ {
+ Schema::table(
+ 'users', function (Blueprint $table) {
+ $table->dropColumn(['objectguid']);
+ }
+ );
+ }
+
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up(): void
+ {
+ /**
+ * ADLdap2 appears to require the ability to store an objectguid for LDAP users
+ * now. To support this, we add the column.
+ */
+ Schema::table(
+ 'users', function (Blueprint $table) {
+ $table->uuid('objectguid')->nullable()->after('id');
+ }
+ );
+ }
+}
diff --git a/database/seeds/ConfigSeeder.php b/database/seeds/ConfigSeeder.php
index e5c8d250d5..f9323bcba0 100644
--- a/database/seeds/ConfigSeeder.php
+++ b/database/seeds/ConfigSeeder.php
@@ -32,7 +32,7 @@ class ConfigSeeder extends Seeder
/**
* Run the database seeds.
*/
- public function run()
+ public function run(): void
{
$entry = Configuration::where('name', 'db_version')->first();
if (null === $entry) {
diff --git a/resources/lang/es_ES/breadcrumbs.php b/resources/lang/es_ES/breadcrumbs.php
index bc961c0ad1..bb7793aee1 100644
--- a/resources/lang/es_ES/breadcrumbs.php
+++ b/resources/lang/es_ES/breadcrumbs.php
@@ -36,7 +36,7 @@ return [
'newBill' => 'Nueva factura',
'edit_bill' => 'Editar factura ":name"',
'delete_bill' => 'Eliminar factura ":name"',
- 'reports' => 'Reportes',
+ 'reports' => 'Informes',
'search_result' => 'Resultados de la búsqueda para ":query"',
'withdrawal_list' => 'Gastos',
'deposit_list' => 'Ganancia, ingresos y depósitos',
diff --git a/resources/lang/es_ES/components.php b/resources/lang/es_ES/components.php
index 984e7196fc..067b96208d 100644
--- a/resources/lang/es_ES/components.php
+++ b/resources/lang/es_ES/components.php
@@ -28,5 +28,5 @@ return [
// bills:
'not_expected_period' => 'Período inesperado',
- 'not_or_not_yet' => 'No (o todavía no)',
+ 'not_or_not_yet' => 'No (todavía)',
];
diff --git a/resources/lang/es_ES/config.php b/resources/lang/es_ES/config.php
index 42cf556fb5..87bfd8940f 100644
--- a/resources/lang/es_ES/config.php
+++ b/resources/lang/es_ES/config.php
@@ -26,17 +26,17 @@ return [
'html_language' => 'es',
'locale' => 'es, Spanish, es_ES.utf8, es_ES.UTF-8',
'month' => '%B %Y',
- 'month_and_day' => '%B %e, %Y',
- 'month_and_date_day' => '%A %B %e, %Y',
- 'month_and_day_no_year' => '%B %e',
- 'date_time' => '%B %e, %Y, @ %T',
+ 'month_and_day' => '%e de %B %Y',
+ 'month_and_date_day' => '%A %e de %B %Y',
+ 'month_and_day_no_year' => '%e %B',
+ 'date_time' => '%e de %B %Y a las %T',
'specific_day' => '%e %B %Y',
'week_in_year' => 'Semana %W, %Y',
'year' => '%Y',
'half_year' => '%B %Y',
'month_js' => 'MMMM YYYY',
- 'month_and_day_js' => 'MMMM Do, YYYY',
- 'date_time_js' => 'MMMM Do, YYYY, @ HH:mm:ss',
+ 'month_and_day_js' => 'D MMM YYYY',
+ 'date_time_js' => 'D MMMM YYYY, HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'year_js' => 'YYYY',
diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php
index 9b37740f97..8b88851e88 100644
--- a/resources/lang/es_ES/firefly.php
+++ b/resources/lang/es_ES/firefly.php
@@ -33,7 +33,7 @@ return [
'last_seven_days' => 'Últimos siete días',
'last_thirty_days' => 'Últimos treinta días',
'welcomeBack' => '¿Qué está pasando?',
- 'welcome_back' => 'What\'s playing?',
+ 'welcome_back' => '¿Qué está pasando?',
'everything' => 'Todo',
'today' => 'hoy',
'customRange' => 'Rango personalizado',
@@ -110,25 +110,25 @@ return [
'expenses_by_category' => 'Gastos por categoría',
'expenses_by_budget' => 'Gastos por presupuesto',
'income_by_category' => 'Ingresos por categoría',
- 'expenses_by_asset_account' => 'Gastos por cuenta de ingresos',
- 'expenses_by_expense_account' => 'Gastos por cuenta de egresos',
- 'cannot_redirect_to_account' => 'Firefly III no puede redirigirlo a la pagina correcta. Disculpas.',
+ 'expenses_by_asset_account' => 'Gastos por cuenta de activos',
+ 'expenses_by_expense_account' => 'Gastos por cuenta de gastos',
+ 'cannot_redirect_to_account' => 'Firefly III no puede redirigirlo a la página correcta. Disculpas.',
'sum_of_expenses' => 'Total gastos',
'sum_of_income' => 'Total ingresos',
'liabilities' => 'Pasivos',
'spent_in_specific_budget' => 'Gastado en el presupuesto ":budget"',
- 'sum_of_expenses_in_budget' => 'Gastar todo en el presupuesto ":budget"',
- 'left_in_budget_limit' => 'Saldo para gastar acorde con el presupuesto',
+ 'sum_of_expenses_in_budget' => 'Total gastado en el presupuesto ":budget"',
+ 'left_in_budget_limit' => 'Saldo restante para gastar según presupuesto',
'current_period' => 'Período actual',
'show_the_current_period_and_overview' => 'Mostrar el período actual y el resumen',
'pref_languages_locale' => 'Para que un idioma distinto al inglés funcione correctamente, su sistema operativo debe disponer de la información regional correcta. Si no está disponible, los datos de divisas, fechas y cantidades pueden tener un formato incorrecto.',
- 'budget_in_period' => 'Todas las transacciones para presupuesto ":name"entre:start y :end',
- 'chart_budget_in_period' => 'Recuadro para todas las transacciones de presupuesto:name entre:start y:end',
- 'chart_account_in_period' => 'Recuadro para todas las transacciones de presupuesto ":name"entre :start y:end',
- 'chart_category_in_period' => 'Recuadro para todas las transacciones por categoria ":name"entre:start y :end',
- 'chart_category_all' => 'Recuadro para todas las transacciones por categoria ":name"',
- 'clone_withdrawal' => 'Clonar este retiro',
- 'clone_deposit' => 'Clonar este deposito',
+ 'budget_in_period' => 'Todas las transacciones del presupuesto ":name" entre :start y :end',
+ 'chart_budget_in_period' => 'Gráfico para las transacciones del presupuesto ":name" entre :start y :end',
+ 'chart_account_in_period' => 'Gráfico para las transacciones de la cuenta ":name" entre :start y :end',
+ 'chart_category_in_period' => 'Gráfico para las transacciones de la categoría ":name" entre :start y :end',
+ 'chart_category_all' => 'Gráfico para las transacciones de la categoría ":name"',
+ 'clone_withdrawal' => 'Duplicar este retiro',
+ 'clone_deposit' => 'Duplicar este depósito',
'clone_transfer' => 'Duplicar esta transferencia',
'multi_select_no_selection' => 'Ninguno seleccionado',
'multi_select_select_all' => 'Seleccionar todo',
@@ -138,7 +138,7 @@ return [
'intro_next_label' => 'Siguiente',
'intro_prev_label' => 'Anterior',
'intro_skip_label' => 'Saltar',
- 'intro_done_label' => 'Listo',
+ 'intro_done_label' => 'Hecho',
'between_dates_breadcrumb' => 'Entre :start y :end',
'all_journals_without_budget' => 'Todas las transacciones sin presupuesto',
'journals_without_budget' => 'Transacciones sin un presupuesto',
@@ -152,7 +152,7 @@ return [
'all_transactions' => 'Todas las transacciones',
'title_withdrawal_between' => 'Todos los gastos entre :start y :end',
'all_deposit' => 'Todos los ingresos',
- 'title_deposit_between' => 'Toda ganancia entre :start y :end',
+ 'title_deposit_between' => 'Todos los ingresos entre :start y :end',
'all_transfers' => 'Todas las transferencias',
'title_transfers_between' => 'Todas las transferencias entre :start y :end',
'all_transfer' => 'Todas las transferencias',
diff --git a/resources/lang/es_ES/intro.php b/resources/lang/es_ES/intro.php
index fafde8a9f4..9799a3ff2f 100644
--- a/resources/lang/es_ES/intro.php
+++ b/resources/lang/es_ES/intro.php
@@ -43,7 +43,7 @@ return [
'budgets_index_see_expenses_bar' => 'Gastar dinero irá llenando poco a poco esta barra.',
'budgets_index_navigate_periods' => 'Navega a través de períodos para configurar fácilmente presupuestos con anticipación.',
'budgets_index_new_budget' => 'Crea nuevos presupuestos como mejor te parezca.',
- 'budgets_index_list_of_budgets' => 'Use esta tabla para establecer las cantidades para cada presupuesto y ver cómo está haciendo.',
+ 'budgets_index_list_of_budgets' => 'Use esta tabla para establecer las cantidades para cada presupuesto y ver cómo lo está haciendo.',
'budgets_index_outro' => 'Para aprender mas acerca de los presupuestos, revise el icono de ayuda en el tope de la esquina derecha.',
// reports (index)
@@ -106,7 +106,7 @@ return [
'bills_create_intro' => 'Use facturas para rastrear la cantidad de dinero correspondiente a cada período. Piense en gastos como renta, seguro o pagos de hipoteca.',
'bills_create_name' => 'Use un nombre descriptivo como "alquiler" o "seguro de salud".',
//'bills_create_match' => 'To match transactions, use terms from those transactions or the expense account involved. All words must match.',
- 'bills_create_amount_min_holder' => 'Seleccione un monto mínimo y uno máximo para esta factura.',
+ 'bills_create_amount_min_holder' => 'Seleccione un importe mínimo y máximo para esta factura.',
'bills_create_repeat_freq_holder' => 'La mayoría de facturas se repiten mensualmente, pero usted puede establecer otra frecuencia aquí.',
'bills_create_skip_holder' => 'Si una cuenta se repite cada 2 semanas, el campo "saltar" debe estar marcado como "1" para saltar una semana y generar el gasto cada 2.',
diff --git a/resources/lang/es_ES/passwords.php b/resources/lang/es_ES/passwords.php
index 893ad8a347..f98e5a7e09 100644
--- a/resources/lang/es_ES/passwords.php
+++ b/resources/lang/es_ES/passwords.php
@@ -25,8 +25,8 @@ declare(strict_types=1);
return [
'password' => 'Las contraseñas deben tener al menos seis caracteres y coincidir entre sí.',
'user' => 'No podemos encontrar un usuario con esa dirección de correo electrónico.',
- 'token' => 'Este token para reestablecer la contraseña no es válido.',
- 'sent' => 'Te enviamos un correo con el link para reestablecer tu contraseña!',
+ 'token' => 'Este token para restablecer la contraseña no es válido.',
+ 'sent' => '¡Te hemos enviado un correo con el enlace para restablecer tu contraseña!',
'reset' => 'Tu contraseña fue reestablecida!',
'blocked' => 'Buen intento.',
];
diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php
index c984fef1b2..ce6bd50716 100644
--- a/resources/lang/fr_FR/firefly.php
+++ b/resources/lang/fr_FR/firefly.php
@@ -33,7 +33,7 @@ return [
'last_seven_days' => '7 Derniers Jours',
'last_thirty_days' => 'Trente derniers jours',
'welcomeBack' => 'Que se passe-t-il ?',
- 'welcome_back' => 'What\'s playing?',
+ 'welcome_back' => 'Que se passe-t-il ?',
'everything' => 'Tout',
'today' => 'aujourd\'hui',
'customRange' => 'Etendue personnalisée',
diff --git a/resources/lang/it_IT/firefly.php b/resources/lang/it_IT/firefly.php
index 77244c8549..ccffdcff32 100644
--- a/resources/lang/it_IT/firefly.php
+++ b/resources/lang/it_IT/firefly.php
@@ -33,7 +33,7 @@ return [
'last_seven_days' => 'Ultimi sette giorni',
'last_thirty_days' => 'Ultimi trenta giorni',
'welcomeBack' => 'La tua situazione finanziaria',
- 'welcome_back' => 'What\'s playing?',
+ 'welcome_back' => 'La tua situazione finanziaria',
'everything' => 'Tutto',
'today' => 'oggi',
'customRange' => 'Intervallo personalizzato',
diff --git a/resources/lang/nb_NO/auth.php b/resources/lang/nb_NO/auth.php
new file mode 100644
index 0000000000..38b640ffba
--- /dev/null
+++ b/resources/lang/nb_NO/auth.php
@@ -0,0 +1,28 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ 'failed' => 'Vi kunne ikke finne noen konto som har de oppgitte detaljene.',
+ 'throttle' => 'For mange innloggingsforsøk. Vennligst prøv igjen om :seconds sekunder.',
+];
diff --git a/resources/lang/nb_NO/bank.php b/resources/lang/nb_NO/bank.php
new file mode 100644
index 0000000000..5d00b1e685
--- /dev/null
+++ b/resources/lang/nb_NO/bank.php
@@ -0,0 +1,26 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+];
diff --git a/resources/lang/nb_NO/breadcrumbs.php b/resources/lang/nb_NO/breadcrumbs.php
new file mode 100644
index 0000000000..72f1ca93ce
--- /dev/null
+++ b/resources/lang/nb_NO/breadcrumbs.php
@@ -0,0 +1,57 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ 'home' => 'Hjem',
+ 'edit_currency' => 'Rediger valuta ":name"',
+ 'delete_currency' => 'Slett valuta ":name"',
+ 'newPiggyBank' => 'Lag en ny sparegris',
+ 'edit_piggyBank' => 'Rediger sparegris ":name"',
+ 'preferences' => 'Innstillinger',
+ 'profile' => 'Profil',
+ 'changePassword' => 'Endre passord',
+ 'change_email' => 'Endre din epostadresse',
+ 'bills' => 'Regninger',
+ 'newBill' => 'Ny regning',
+ 'edit_bill' => 'Rediger regning ":name"',
+ 'delete_bill' => 'Slett regning ":name"',
+ 'reports' => 'Rapporter',
+ 'search_result' => 'Søkeresultater for ":query"',
+ 'withdrawal_list' => 'Utgifter',
+ 'deposit_list' => 'Inntekter og innskudd',
+ 'transfer_list' => 'Overføringer',
+ 'transfers_list' => 'Overføringer',
+ 'reconciliation_list' => 'Avstemminger',
+ 'create_withdrawal' => 'Opprett nytt uttak',
+ 'create_deposit' => 'Opprett nytt innskudd',
+ 'create_transfer' => 'Opprett ny overføring',
+ 'edit_journal' => 'Rediger transaksjon ":description"',
+ 'edit_reconciliation' => 'Endre ":description"',
+ 'delete_journal' => 'Slett transaksjon ":description"',
+ 'tags' => 'Tagger',
+ 'createTag' => 'Opprett ny tagg',
+ 'edit_tag' => 'Rediger tagg ":tag"',
+ 'delete_tag' => 'Slett tagg ":tag"',
+ 'delete_journal_link' => 'Slett kobling mellom transaksjoner',
+];
diff --git a/resources/lang/nb_NO/components.php b/resources/lang/nb_NO/components.php
new file mode 100644
index 0000000000..8c98ce7aa1
--- /dev/null
+++ b/resources/lang/nb_NO/components.php
@@ -0,0 +1,32 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ // profile
+ 'personal_access_tokens' => 'Personlige tilgangsnøkler',
+
+ // bills:
+ 'not_expected_period' => 'Ikke forventet denne perioden',
+ 'not_or_not_yet' => 'Ikke (ennå)',
+];
diff --git a/resources/lang/nb_NO/config.php b/resources/lang/nb_NO/config.php
new file mode 100644
index 0000000000..6937eb6e2d
--- /dev/null
+++ b/resources/lang/nb_NO/config.php
@@ -0,0 +1,51 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ 'html_language' => 'no',
+ 'locale' => 'no, nb, Norsk, nb_NO, nb_NO.utf8, nb_NO.UTF-8',
+ 'month' => '%B %Y',
+ 'month_and_day' => '%e %B, %Y',
+ 'month_and_date_day' => '%A %B. %e, %Y',
+ 'month_and_day_no_year' => '%B. %e',
+ 'date_time' => '%e. %B, %Y @ %T',
+ 'specific_day' => '%e. %B %Y',
+ 'week_in_year' => 'Uke %W, %Y',
+ 'year' => '%Y',
+ 'half_year' => '%B %Y',
+ 'month_js' => 'MMMM YYYY',
+ 'month_and_day_js' => 'MMMM Do, YYYY',
+ 'date_time_js' => 'MMMM Do, YYYY, @ HH:mm:ss',
+ 'specific_day_js' => 'D MMMM YYYY',
+ 'week_in_year_js' => '[Week] w, YYYY',
+ 'year_js' => 'YYYY',
+ 'half_year_js' => 'Q YYYY',
+ 'dow_1' => 'Mandag',
+ 'dow_2' => 'Tirsdag',
+ 'dow_3' => 'Onsdag',
+ 'dow_4' => 'Torsdag',
+ 'dow_5' => 'Fredag',
+ 'dow_6' => 'Lørdag',
+ 'dow_7' => 'Søndag',
+];
diff --git a/resources/lang/nb_NO/csv.php b/resources/lang/nb_NO/csv.php
new file mode 100644
index 0000000000..aae109a40a
--- /dev/null
+++ b/resources/lang/nb_NO/csv.php
@@ -0,0 +1,26 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+];
diff --git a/resources/lang/nb_NO/demo.php b/resources/lang/nb_NO/demo.php
new file mode 100644
index 0000000000..e2f6038625
--- /dev/null
+++ b/resources/lang/nb_NO/demo.php
@@ -0,0 +1,38 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ 'no_demo_text' => 'Beklager, det finnes ingen ekstra demoforklaring for denne siden.',
+ 'see_help_icon' => 'Imidlertid kan -ikonet øverst i høyre hjørne fortelle deg mer.',
+ 'index' => 'Velkommen til Firefly III! På denne siden får du en rask oversikt over økonomien din. For mer informasjon, sjekk ut Kontoer → Eiendelskontoer og selvfølgelig Budsjetter og Rapporter. Eller bare ta en titt rundt og se hvor du ender opp.',
+ 'accounts-index' => 'Brukskontoer er dine personlige bankkontoer. Kostnadskontoer er kontoene du bruker penger på, for eksempel butikker og venner. Inntektskontoer er kontoer du mottar penger fra, for eksempel jobben din, det offentlige eller andre inntektskilder. På denne siden kan du redigere eller fjerne dem.',
+ 'budgets-index' => 'Denne siden viser en oversikt over budsjettene dine. Den øverste linjen viser beløpet som er tilgjengelig for budsjettering. Dette kan tilpasses for enhver periode ved å klikke på beløpet til høyre. Beløpet du faktisk har brukt, vises i linjen under. Under det er kostnadene per budsjett og hva du har budsjettert for dem.',
+ 'reports-index-start' => 'Firefly III støtter en rekke typer rapporter. Les om dem ved å klikke på -ikonet øverst i høyre hjørne.',
+ 'reports-index-examples' => 'Husk å sjekke ut disse eksemplene: månedlig finansiell oversikt, årlig finansiell oversikt og budsjettoversikt.',
+ 'currencies-index' => 'Firefly III støtter flere valutaer. Selv om Euro er standard, kan det settes til norske kroner, eller en av mange andre valutaer. Som du kan se, så er et lite utvalg valutaer allerede lagt inn, men du kan legge til flere hvis du vil. Hvis du endrer standardvalutaen, endres ikke valutaen for eksisterende transaksjoner, men Firefly III støtter bruken av flere valutaer samtidig.',
+ 'transactions-index' => 'Disse utgiftene, innskuddene og overføringene er ikke særlig fantasifulle. De har blitt generert automatisk.',
+ 'piggy-banks-index' => 'Som du kan se, finnes det tre spargriser. Bruk pluss- og minus-knappene til å påvirke mengden penger i hver sparegris. Klikk på navnet til spargrisen for å administrere hver spargris.',
+ 'import-index' => 'Alle CSV-filer kan importeres til Firefly III. Den støtter også import av data fra bunq og Spectre. Andre banker og finansielle aggregatorer vil bli implementert i fremtiden. Men som en demo-bruker kan du bare se en "falsk"-leverandør i aksjon. Den vil generere noen tilfeldige transaksjoner for å vise hvordan prosessen fungerer.',
+ 'profile-index' => 'Vær oppmerksom at demoen tilbakestilles hver fjerde time. Din tilgang kan trekkes tilbake når som helst. Dette skjer automatisk og er ikke en feil.',
+];
diff --git a/resources/lang/nb_NO/firefly.php b/resources/lang/nb_NO/firefly.php
new file mode 100644
index 0000000000..d3f47f6202
--- /dev/null
+++ b/resources/lang/nb_NO/firefly.php
@@ -0,0 +1,1392 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ // general stuff:
+ 'close' => 'Lukk',
+ 'actions' => 'Handlinger',
+ 'edit' => 'Rediger',
+ 'delete' => 'Slett',
+ 'split' => 'Del opp',
+ 'clone' => 'Klon',
+ 'last_seven_days' => 'Syv siste dager',
+ 'last_thirty_days' => 'Tredve siste dager',
+ 'welcomeBack' => 'Hvordan går det?',
+ 'welcome_back' => 'Hvordan går det?',
+ 'everything' => 'Alt',
+ 'today' => 'i dag',
+ 'customRange' => 'Egendefinert utvalg',
+ 'apply' => 'Bruk',
+ 'select_date' => 'Velg dato..',
+ 'cancel' => 'Avbryt',
+ 'from' => 'Fra',
+ 'to' => 'Til',
+ 'structure' => 'Struktur',
+ 'help_translating' => 'Denne hjelpeteksten er ikke tilgjengelig i ditt språk. Vil du hjelpe å oversette?',
+ 'showEverything' => 'Vis alt',
+ 'never' => 'Aldri',
+ 'no_results_for_empty_search' => 'Søket ditt var tomt, så ingenting ble funnet.',
+ 'removed_amount' => 'Fjernet :amount',
+ 'added_amount' => 'La til :amount',
+ 'asset_account_role_help' => 'Eventuelle ekstra alternativer som følge av ditt valg kan settes senere.',
+ 'Opening balance' => 'Startsaldo',
+ 'create_new_stuff' => 'Lag nye ting',
+ 'new_withdrawal' => 'Nytt uttak',
+ 'create_new_transaction' => 'Opprett ny transaksjon',
+ 'go_to_asset_accounts' => 'Se aktivakontoene dine',
+ 'go_to_budgets' => 'Gå til budsjettene dine',
+ 'go_to_categories' => 'Gå til kategoriene dine',
+ 'go_to_bills' => 'Gå til regningene dine',
+ 'go_to_expense_accounts' => 'Se utgiftskontoene dine',
+ 'go_to_revenue_accounts' => 'Se inntektskontoene dine',
+ 'go_to_piggies' => 'Gå til sparegrisene dine',
+ 'new_deposit' => 'Nytt innskudd',
+ 'new_transfer' => 'Ny overføring',
+ 'new_transfers' => 'Ny overføring',
+ 'new_asset_account' => 'Ny aktivakonto',
+ 'new_expense_account' => 'Ny utgiftskonto',
+ 'new_revenue_account' => 'Ny inntektskonto',
+ 'new_liabilities_account' => 'Ny gjeld',
+ 'new_budget' => 'Nytt budsjett',
+ 'new_bill' => 'Ny regning',
+ 'block_account_logout' => 'Du har blitt logget ut. Blokkerte kontoer kan ikke bruke dette nettstedet. Har du registrert deg med en gyldig e-postadresse?',
+ 'flash_success' => 'Suksess!',
+ 'flash_info' => 'Melding',
+ 'flash_warning' => 'Advarsel!',
+ 'flash_error' => 'Feil!',
+ 'flash_info_multiple' => 'Det finnes én melding | Det finnes :count meldinger',
+ 'flash_error_multiple' => 'Det er én feil | Det er :count feil',
+ 'net_worth' => 'Formue',
+ 'route_has_no_help' => 'Det finnes ingen hjelp for denne siden.',
+ 'help_for_this_page' => 'Hjelp for denne siden',
+ 'no_help_could_be_found' => 'Ingen hjelpetekst ble funnet.',
+ 'no_help_title' => 'Beklager, en feil har oppstått.',
+ 'two_factor_welcome' => 'Hei, :user!',
+ 'two_factor_enter_code' => 'Vennligst skriv inn tofaktorautentiseringskoden for å fortsette. Appen på telefonen kan generere den for deg.',
+ 'two_factor_code_here' => 'Skriv koden her',
+ 'two_factor_title' => 'To-faktor autentisering',
+ 'authenticate' => 'Autentisere',
+ 'two_factor_forgot_title' => 'Mistet tofaktorautentisering',
+ 'two_factor_forgot' => 'Jeg har glemt/mistet min tofaktor-ting.',
+ 'two_factor_lost_header' => 'Mistet tofaktorautentisering?',
+ 'two_factor_lost_intro' => 'Dessverre er ikke dette noe du kan tilbakestille fra webgrensesnittet. Du har to valg.',
+ 'two_factor_lost_fix_self' => 'Hvis du kjører din egen installasjon av Firefly III, kan du sjekke loggene i storage/logs
for instruksjoner.',
+ 'two_factor_lost_fix_owner' => 'Ellers sender du e-postadressen eieren, :site_owner og ber vedkommende om å tilbakestille tofaktorautentiseringen din.',
+ 'warning_much_data' => ':days dager med data kan ta litt tid å laste.',
+ 'registered' => 'Registreringen var vellykket!',
+ 'Default asset account' => 'Standard aktivakonto',
+ 'no_budget_pointer' => 'Det ser ikke ut til at du har noen budsjett ennå. Du bør opprette noen på budsjett-siden. Budsjett kan hjelpe deg med å holde oversikt over utgifter.',
+ 'Savings account' => 'Sparekonto',
+ 'Credit card' => 'Kredittkort',
+ 'source_accounts' => 'Kildekonto(er)',
+ 'destination_accounts' => 'Målkonto(er)',
+ 'user_id_is' => 'Din bruker-ID er :user',
+ 'field_supports_markdown' => 'Dette feltet støtter Markdown.',
+ 'need_more_help' => 'Hvis du trenger mer hjelp med å bruke Firefly III, vennligst opprett en sak på Github.',
+ 'reenable_intro_text' => 'Du kan også reaktivere introduksjonsveiledningen.',
+ 'intro_boxes_after_refresh' => 'Innføringsboksene vil dukke opp igjen når du laster siden på nytt.',
+ 'show_all_no_filter' => 'Vis alle transaksjoner uten å gruppere dem etter dato.',
+ 'expenses_by_category' => 'Utgifter etter kategori',
+ 'expenses_by_budget' => 'Utgifter etter budsjett',
+ 'income_by_category' => 'Inntekt etter kategori',
+ 'expenses_by_asset_account' => 'Utgifter etter aktivakonto',
+ 'expenses_by_expense_account' => 'Utgifter etter utgiftskonto',
+ 'cannot_redirect_to_account' => 'Firefly III kan ikke videresende deg til riktig side. Beklager.',
+ 'sum_of_expenses' => 'Sum av utgifter',
+ 'sum_of_income' => 'Sum av inntekt',
+ 'liabilities' => 'Gjeld',
+ 'spent_in_specific_budget' => 'Brukt i budsjett ":budget"',
+ 'sum_of_expenses_in_budget' => 'Brukt totalt i budsjett ":budget"',
+ 'left_in_budget_limit' => 'Igjen å bruke i følge budsjett',
+ 'current_period' => 'Nåværende periode',
+ 'show_the_current_period_and_overview' => 'Vis gjeldende periode og oversikt',
+ 'pref_languages_locale' => 'For at et annet språk enn engelsk skal fungere skikkelig, må operativsystemet ditt være utstyrt med riktig lokalinformasjon. Hvis dette ikke er på plass, kan valutadata, datoer og beløp bli vist feil.',
+ 'budget_in_period' => 'Alle transaksjoner for budsjett ":name" mellom :start og :end',
+ 'chart_budget_in_period' => 'Diagram for alle transaksjoner for budsjett ":name" mellom :start og :end',
+ 'chart_account_in_period' => 'Diagram for alle transaksjoner for konto ":name" mellom :start og :end',
+ 'chart_category_in_period' => 'Diagram for alle transaksjoner for kategori ":name" mellom :start og :end',
+ 'chart_category_all' => 'Graf over alle transaksjoner for kategori ":name"',
+ 'clone_withdrawal' => 'Klone dette uttaket',
+ 'clone_deposit' => 'Klone dette innskuddet',
+ 'clone_transfer' => 'Klone denne overføringen',
+ 'multi_select_no_selection' => 'Ingen valgt',
+ 'multi_select_select_all' => 'Velg alle',
+ 'multi_select_n_selected' => 'valgt',
+ 'multi_select_all_selected' => 'Alle valgte',
+ 'multi_select_filter_placeholder' => 'Finn..',
+ 'intro_next_label' => 'Neste',
+ 'intro_prev_label' => 'Forrige',
+ 'intro_skip_label' => 'Hopp over',
+ 'intro_done_label' => 'Ferdig',
+ 'between_dates_breadcrumb' => 'Mellom :start og :end',
+ 'all_journals_without_budget' => 'Alle transaksjoner uten budsjett',
+ 'journals_without_budget' => 'Transaksjoner uten budsjett',
+ 'all_journals_without_category' => 'Alle ukategoriserte transaksjoner',
+ 'journals_without_category' => 'Ukategoriserte transaksjoner',
+ 'all_journals_for_account' => 'Alle transaksjoner for konto :name',
+ 'chart_all_journals_for_account' => 'Graf over alle transaksjoner for konto :name',
+ 'journals_in_period_for_account' => 'Alle transaksjoner for konto :name mellom :start og :end',
+ 'transferred' => 'Overført',
+ 'all_withdrawal' => 'Alle utgifter',
+ 'all_transactions' => 'Alle transaksjoner',
+ 'title_withdrawal_between' => 'Alle utgifter mellom :start og :end',
+ 'all_deposit' => 'Alle inntekter',
+ 'title_deposit_between' => 'Alle inntekter mellom :start og :end',
+ 'all_transfers' => 'Alle overføringer',
+ 'title_transfers_between' => 'Alle overføringer mellom :start og :end',
+ 'all_transfer' => 'Alle overføringer',
+ 'all_journals_for_tag' => 'Alle transaksjoner for tagg ":tag"',
+ 'title_transfer_between' => 'Alle overføringer mellom :start og :end',
+ 'all_journals_for_category' => 'Alle transaksjoner for kategori :name',
+ 'all_journals_for_budget' => 'Alle transaksjoner for budsjett :name',
+ 'chart_all_journals_for_budget' => 'Graf over alle transaksjoner for budsjett :name',
+ 'journals_in_period_for_category' => 'Alle transaksjoner for kategori :name mellom :start og :end',
+ 'journals_in_period_for_tag' => 'Alle transaksjoner for tagg :tag mellom :start og :end',
+ 'not_available_demo_user' => 'Funksjonen du prøver å få tilgang til, er ikke tilgjengelig for demobrukere.',
+ 'exchange_rate_instructions' => 'Aktivakonto "@name" godtar kun transaksjoner i @native_currency. Hvis du ønsker å bruke @foreign_currency i stedet, må du passe på at beløpet i @native_currency også er satt:',
+ 'transfer_exchange_rate_instructions' => 'Kildekonto "@source_name" godtar kun transaksjoner i @source_currency. Destinasjonskonto "@dest_name" aksepterer bare transaksjoner i @dest_currency. Du må angi overført beløp riktig i begge valutaene.',
+ 'transaction_data' => 'Transaksjonsdata',
+ 'invalid_server_configuration' => 'Ugyldig serverkonfigurasjon',
+ 'invalid_locale_settings' => 'Firefly III kan ikke formatere pengebeløp fordi serveren din mangler de nødvendige pakkene. Se følgende instruksjoner for hvordan du setter opp dette.',
+ 'quickswitch' => 'Hurtigbryter',
+ 'sign_in_to_start' => 'Logg inn for å starte økten',
+ 'sign_in' => 'Logg inn',
+ 'register_new_account' => 'Registrer en ny konto',
+ 'forgot_my_password' => 'Jeg har glemt passordet mitt',
+ 'problems_with_input' => 'Det var noen problemer med utfyllingen din.',
+ 'reset_password' => 'Tilbakestill passordet ditt',
+ 'button_reset_password' => 'Tilbakestill passord',
+ 'reset_button' => 'Tilbakestill',
+ 'want_to_login' => 'Jeg vil logge inn',
+ 'login_page_title' => 'Innlogging til Firefly III',
+ 'register_page_title' => 'Registrer deg på Firefly III',
+ 'forgot_pw_page_title' => 'Glemt passord for Firefly III',
+ 'reset_pw_page_title' => 'Nullstill passord for Firefly III',
+ 'cannot_reset_demo_user' => 'Du kan ikke nustille passordet til demo bruker.',
+ 'button_register' => 'Registrer',
+ 'authorization' => 'Autorisasjon',
+ 'active_bills_only' => 'kun aktive regninger',
+ 'average_per_bill' => 'gjennomsnitt per regning',
+ 'expected_total' => 'forventet totalt',
+ // API access
+ 'authorization_request' => 'Firefly III v:version autorisasjonsforespørsel',
+ 'authorization_request_intro' => ':client ber om tillatelse til å få tilgang til finansadministrasjonen din. Vil du autorisere :client slik at den får tilgang til disse dine data?',
+ 'scopes_will_be_able' => 'Denne applikasjonen vil kunne:',
+ 'button_authorize' => 'Autoriser',
+ 'none_in_select_list' => '(ingen)',
+ 'name_in_currency' => ':name i :currency',
+ 'paid_in_currency' => 'Betalt i :currency',
+ 'unpaid_in_currency' => 'Ubetalt i :currency',
+
+ // check for updates:
+ 'update_check_title' => 'Se etter oppdateringer',
+ 'admin_update_check_title' => 'Se etter oppdateringer automatisk',
+ 'admin_update_check_explain' => 'Firefly III kan sjekke om oppdateringer automatisk. Når du aktiverer denne innstillingen, vil systemet kontakte Github for å se om en ny versjon av Firefly III er tilgjengelig. Når det er kommet en ny oppdatering, vil du bli varslet. Du kan teste dette varselet ved hjelp av knappen til høyre. Vennligst marker nedenfor hvis du vil at Firefly III skal se etter oppdateringer.',
+ 'check_for_updates_permission' => 'Firefly III kan se etter oppdateringer, men det trenger din tillatelse til å gjøre det. Gå til -administrasjonen for å velge om denne funksjonen skal aktiveres.',
+ 'updates_ask_me_later' => 'Spør meg senere',
+ 'updates_do_not_check' => 'Ikke se etter oppdateringer',
+ 'updates_enable_check' => 'Aktiver oppdateringssjekk',
+ 'admin_update_check_now_title' => 'Se etter oppdateringer nå',
+ 'admin_update_check_now_explain' => 'Hvis du trykker på knappen, vil Firefly III se om din nåværende versjon er den nyeste.',
+ 'check_for_updates_button' => 'Sjekk nå!',
+ 'update_new_version_alert' => 'En ny versjon av Firefly III er tilgjengelig. Du kjører v:your_version, den nyeste versjonen er v:new_version som ble utgitt den :date.',
+ 'update_current_version_alert' => 'Du kjører v:version, som er den nyeste tilgjengelige utgivelsen.',
+ 'update_newer_version_alert' => 'Du kjører v:your_version, som er nyere enn den nyeste versjonen, v:new_version.',
+ 'update_check_error' => 'Det oppsto en feil under sjekk av oppdateringer. Vennligst se loggfilene for mer informasjon.',
+
+ // search
+ 'search' => 'Søk',
+ 'search_query' => 'Spørring',
+ 'search_found_transactions' => 'Firefly III fant :count transaksjoner i :time sekunder.',
+ 'search_for_query' => 'Firefly III leter etter transaksjoner med disse ordene: :query',
+ 'search_modifier_amount_is' => 'Beløpet er eksakt :value',
+ 'search_modifier_amount' => 'Beløpet er eksakt :value',
+ 'search_modifier_amount_max' => 'Beløpet er på det største :value',
+ 'search_modifier_amount_min' => 'Beløpet er på det minste: :value',
+ 'search_modifier_amount_less' => 'Beløpet er mindre enn :value',
+ 'search_modifier_amount_more' => 'Beløpet er større enn :value',
+ 'search_modifier_source' => 'Kildekonto er :value',
+ 'search_modifier_destination' => 'Målkonto er :value',
+ 'search_modifier_category' => 'Kategori er :value',
+ 'search_modifier_budget' => 'Budsjett er :value',
+ 'search_modifier_bill' => 'Regning er :value',
+ 'search_modifier_type' => 'Transaksjons type er :value',
+ 'search_modifier_date' => 'Transaksjons dato er :value',
+ 'search_modifier_date_before' => 'Transaksjons dato er før :value',
+ 'search_modifier_date_after' => 'Transaksjons dato er etter :value',
+ 'search_modifier_on' => 'Transaksjons dato er :value',
+ 'search_modifier_before' => 'Transaksjons dato er før :value',
+ 'search_modifier_after' => 'Transaksjons er etter :value',
+ 'modifiers_applies_are' => 'De følgende modifikatorer er lagt til søket i tillegg:',
+ 'general_search_error' => 'Det oppsto en feil under søking. Vennligst sjekk loggfilene for mer informasjon.',
+ 'search_box' => 'Søk',
+ 'search_box_intro' => 'Velkommen til søkefunksjonen i Firefly III. Skriv inn søkefrasen din i boksen. Pass på at du sjekker hjelpefilen, for søkefunksjonen er ganske avansert.',
+ 'search_error' => 'Feil under søking',
+ 'search_searching' => 'Søker ...',
+ 'search_results' => 'Søkeresultater',
+
+ // repeat frequencies:
+ 'repeat_freq_yearly' => 'årlig',
+ 'repeat_freq_half-year' => 'hvert halvår',
+ 'repeat_freq_quarterly' => 'kvartalsvis',
+ 'repeat_freq_monthly' => 'månedlig',
+ 'repeat_freq_weekly' => 'ukentlig',
+ 'weekly' => 'ukentlig',
+ 'quarterly' => 'kvartalsvis',
+ 'half-year' => 'hvert halvår',
+ 'yearly' => 'årlig',
+
+ // export data:
+ 'import_and_export' => 'Import og eksport',
+ 'export_data' => 'Eksporter data',
+ 'export_and_backup_data' => 'Eksporter data',
+ 'export_data_intro' => 'Bruk de eksporterte dataene for å flytte til en ny finansapplikasjon. Vær oppmerksom på at disse filene ikke er ment som noen sikkerhetskopi. De inneholder ikke nok metadata for å fullt ut gjenopprette en ny Firefly III-installasjon. Hvis du vil sikkerhetskopiere dataene dine, må du sikkerhetskopiere databasen direkte.',
+ 'export_format' => 'Eksportformat',
+ 'export_format_csv' => 'Kommaseparerte verdier (CSV-fil)',
+ 'export_format_mt940' => 'MT940-kompatibelt format',
+ 'include_old_uploads_help' => 'Firefly III sletter ikke de opprinnelige CSV-filene du har importert tidligere. Du kan inkludere dem i eksporten din.',
+ 'do_export' => 'Eksporter',
+ 'export_status_never_started' => 'Eksporteringen har ikke startet ennå',
+ 'export_status_make_exporter' => 'Lager eksportørting...',
+ 'export_status_collecting_journals' => 'Samler transaksjonene dine...',
+ 'export_status_collected_journals' => 'Samlet transaksjonene dine!',
+ 'export_status_converting_to_export_format' => 'Konverterer dine transaksjoner...',
+ 'export_status_converted_to_export_format' => 'Dine transaksjoner ble konvertert!',
+ 'export_status_creating_journal_file' => 'Oppretter eksportfil...',
+ 'export_status_created_journal_file' => 'Eksportfilen ble opprettet!',
+ 'export_status_collecting_attachments' => 'Samler alle dine vedlegg...',
+ 'export_status_collected_attachments' => 'Samlet alle dine vedlegg!',
+ 'export_status_collecting_old_uploads' => 'Samler alle dine tidligere opplastinger...',
+ 'export_status_collected_old_uploads' => 'Samlet alle dine tidligere opplastinger!',
+ 'export_status_creating_zip_file' => 'Oppretter en zip-fil...',
+ 'export_status_created_zip_file' => 'Opprettet en zip-fil!',
+ 'export_status_finished' => 'Eksporten var vellykket! Jippi!',
+ 'export_data_please_wait' => 'Vennligst vent...',
+
+ // rules
+ 'rules' => 'Regler',
+ 'rule_name' => 'Navn på regel',
+ 'rule_triggers' => 'Regel utløses når',
+ 'rule_actions' => 'Regel vil',
+ 'new_rule' => 'Ny regel',
+ 'new_rule_group' => 'Ny regelgruppe',
+ 'rule_priority_up' => 'Gi regel høyere prioritet',
+ 'rule_priority_down' => 'Gi regel lavere prioritet',
+ 'make_new_rule_group' => 'Opprett ny regelgruppe',
+ 'store_new_rule_group' => 'Lagre ny regelgruppe',
+ 'created_new_rule_group' => 'Ny regelgruppe ":title" ble lagret!',
+ 'updated_rule_group' => 'Oppdaterte regelgruppen ":title".',
+ 'edit_rule_group' => 'Rediger regelgruppe ":title"',
+ 'delete_rule_group' => 'Slett regelgruppe ":title"',
+ 'deleted_rule_group' => 'Slettet regelgruppe ":title"',
+ 'update_rule_group' => 'Oppdater regelgruppe',
+ 'no_rules_in_group' => 'Det finnes ingen regler i denne gruppen',
+ 'move_rule_group_up' => 'Flytt regelgruppen opp',
+ 'move_rule_group_down' => 'Flytt regelgruppen ned',
+ 'save_rules_by_moving' => 'Lagre disse reglene ved å flytte dem til en annen regelgruppe:',
+ 'make_new_rule' => 'Opprett ny regel i regelgruppen ":title"',
+ 'make_new_rule_no_group' => 'Lag en ny regel',
+ 'instructions_rule_from_bill' => 'For å matche transaksjoner til din nye regning ":name", kan Firefly III lage en regel som automatisk vil bli sjekket mot eksisterende transaksjoner. Vennligst verifiser detaljene nedenfor og lagre regelen for å få Firefly III til å automatisk matche transaksjoner til din nye regning.',
+ 'rule_is_strict' => 'strikt regel',
+ 'rule_is_not_strict' => 'ikke-strikt regel',
+ 'rule_help_stop_processing' => 'Hvis du markerer denne boksen, vil ikke senere regler i denne gruppen bli utløst.',
+ 'rule_help_strict' => 'I strikte regler må ALLE triggere slå til for at aksjonen skal bli utført. Ved ikke-strikt regler kan UANSETT trigger få aksjonen til å bli utført.',
+ 'rule_help_active' => 'Inaktive regler vil aldri utløses.',
+ 'stored_new_rule' => 'Lagret ny regel med tittel ":title"',
+ 'deleted_rule' => 'Slettet regel med tittel ":title"',
+ 'store_new_rule' => 'Lagre ny regel',
+ 'updated_rule' => 'Oppdaterte regel med tittel ":title"',
+ 'default_rule_group_name' => 'Standardregler',
+ 'default_rule_group_description' => 'Alle dine regler ligger ikke i noen bestemt gruppe.',
+ 'default_rule_name' => 'Din første standardregel',
+ 'default_rule_description' => 'Denne regelen er et eksempel. Du kan trygt slette den.',
+ 'default_rule_trigger_description' => 'Mannen som solgte verden',
+ 'default_rule_trigger_from_account' => 'David Bowie',
+ 'default_rule_action_prepend' => 'Kjøpte verden fra ',
+ 'default_rule_action_set_category' => 'Store utgifter',
+ 'trigger' => 'Utløser',
+ 'trigger_value' => 'Utløs på verdi',
+ 'stop_processing_other_triggers' => 'Slutt å prosessere andre utløsere',
+ 'add_rule_trigger' => 'Legg til ny utløser',
+ 'action' => 'Handling',
+ 'action_value' => 'Handlingsverdi',
+ 'stop_executing_other_actions' => 'Slutt å utføre andre handlinger',
+ 'add_rule_action' => 'Legg til ny handling',
+ 'edit_rule' => 'Rediger regel ":title"',
+ 'delete_rule' => 'Slett regel ":title"',
+ 'update_rule' => 'Oppdater regel',
+ 'test_rule_triggers' => 'Se transaksjoner som passer',
+ 'warning_transaction_subset' => 'Av ytelseshensyn er denne listen begrenset til :max_num_transactions og kan bare vise et delsett av transaksjoner som passer',
+ 'warning_no_matching_transactions' => 'Ingen passende transaksjoner funnet. Vær oppmerksom på at av ytelseshensyn har kun de siste :num_transactions transaksjonene blitt sjekket.',
+ 'warning_no_valid_triggers' => 'Ingen gyldige utløsere oppgitt.',
+ 'apply_rule_selection' => 'Bruk regel ":title" til et utvalg av dine transaksjoner',
+ 'apply_rule_selection_intro' => 'Regler som ":title" brukes normalt bare til nye eller oppdaterte transaksjoner, men du kan få Firefly III til å kjøre dem på et utvalg av dine eksisterende transaksjoner. Dette kan være nyttig når du har oppdatert en regel, og du trenger at endringene blir brukt på alle dine tidligere transaksjoner.',
+ 'include_transactions_from_accounts' => 'Ta med transaksjoner fra disse kontoene',
+ 'applied_rule_selection' => 'Regel ":title" har blitt brukt på ditt utvalg.',
+ 'execute' => 'Kjør',
+ 'apply_rule_group_selection' => 'Bruk regelgruppe ":title" til et utvalg av dine transaksjoner',
+ 'apply_rule_group_selection_intro' => 'Regelgrupper som ":title" brukes normalt bare til nye eller oppdaterte transaksjoner, men du kan få Firefly III til å kjøre dem på et utvalg av dine eksisterende transaksjoner. Dette kan være nyttig når du har oppdatert en regelgruppe, og du trenger at endringene blir brukt på alle dine tidligere transaksjoner.',
+ 'applied_rule_group_selection' => 'Regelgruppe ":title" har blitt brukt på ditt utvalg.',
+
+ // actions and triggers
+ 'rule_trigger_user_action' => 'Brukerhandling er ":trigger_value"',
+ 'rule_trigger_from_account_starts_choice' => 'Kildekontoen starter med..',
+ 'rule_trigger_from_account_starts' => 'Kildekontoen starter med ":trigger_value"',
+ 'rule_trigger_from_account_ends_choice' => 'Kildekontoen slutter med..',
+ 'rule_trigger_from_account_ends' => 'Kildekontoen avsluttes med ":trigger_value"',
+ 'rule_trigger_from_account_is_choice' => 'Kildekonto er..',
+ 'rule_trigger_from_account_is' => 'Kildekontoen er ":trigger_value"',
+ 'rule_trigger_from_account_contains_choice' => 'Kildekonto inneholder..',
+ 'rule_trigger_from_account_contains' => 'Kildekontoen inneholder ":trigger_value"',
+ 'rule_trigger_to_account_starts_choice' => 'Målkonto starter med..',
+ 'rule_trigger_to_account_starts' => 'Målkonto starter med ":trigger_value"',
+ 'rule_trigger_to_account_ends_choice' => 'Målkonto slutter med..',
+ 'rule_trigger_to_account_ends' => 'Målkonto slutter med ":trigger_value"',
+ 'rule_trigger_to_account_is_choice' => 'Målkonto er..',
+ 'rule_trigger_to_account_is' => 'Målkonto er ":trigger_value"',
+ 'rule_trigger_to_account_contains_choice' => 'Målkonto inneholder..',
+ 'rule_trigger_to_account_contains' => 'Målkonto inneholder ":trigger_value"',
+ 'rule_trigger_transaction_type_choice' => 'Transaksjonen er av typen..',
+ 'rule_trigger_transaction_type' => 'Transaksjonen er av typen ":trigger_value"',
+ 'rule_trigger_category_is_choice' => 'Kategori er..',
+ 'rule_trigger_category_is' => 'Kategori er ":trigger_value"',
+ 'rule_trigger_amount_less_choice' => 'Beløpet er mindre enn..',
+ 'rule_trigger_amount_less' => 'Beløpet er mindre enn :trigger_value',
+ 'rule_trigger_amount_exactly_choice' => 'Beløpet er..',
+ 'rule_trigger_amount_exactly' => 'Beløpet er :trigger_value',
+ 'rule_trigger_amount_more_choice' => 'Beløpet er mer enn..',
+ 'rule_trigger_amount_more' => 'Beløpet er mer enn :trigger_value',
+ 'rule_trigger_description_starts_choice' => 'Beskrivelse starter med..',
+ 'rule_trigger_description_starts' => 'Beskrivelse starter med ":trigger_value"',
+ 'rule_trigger_description_ends_choice' => 'Beskrivelse slutter med..',
+ 'rule_trigger_description_ends' => 'Beskrivelse slutter med ":trigger_value"',
+ 'rule_trigger_description_contains_choice' => 'Beskrivelse inneholder..',
+ 'rule_trigger_description_contains' => 'Beskrivelse inneholder ":trigger_value"',
+ 'rule_trigger_description_is_choice' => 'Beskrivelse er..',
+ 'rule_trigger_description_is' => 'Beskrivelse er ":trigger_value"',
+ 'rule_trigger_budget_is_choice' => 'Budsjett er..',
+ 'rule_trigger_budget_is' => 'Budsjett er ":trigger_value"',
+ 'rule_trigger_tag_is_choice' => '(En) tagg er..',
+ 'rule_trigger_tag_is' => 'En tagg er ":trigger_value"',
+ 'rule_trigger_currency_is_choice' => 'Transaksjonsvaluta er..',
+ 'rule_trigger_currency_is' => 'Transaksjonsvaluta er ":trigger_value"',
+ 'rule_trigger_has_attachments_choice' => 'Har minst så mange vedlegg',
+ 'rule_trigger_has_attachments' => 'Har minst :trigger_value vedlegg',
+ 'rule_trigger_store_journal' => 'Når en transaksjon er opprettet',
+ 'rule_trigger_update_journal' => 'Når en transaksjon er oppdatert',
+ 'rule_trigger_has_no_category_choice' => 'Har ingen kategori',
+ 'rule_trigger_has_no_category' => 'Transaksjonen har ingen kategori',
+ 'rule_trigger_has_any_category_choice' => 'Har en (hvilken som helst) kategori',
+ 'rule_trigger_has_any_category' => 'Transaksjonen har en (hvilken som helst) kategori',
+ 'rule_trigger_has_no_budget_choice' => 'Har ingen budsjett',
+ 'rule_trigger_has_no_budget' => 'Transaksjonen har ikke noe budsjett',
+ 'rule_trigger_has_any_budget_choice' => 'Har et (hvilket som helst) budsjett',
+ 'rule_trigger_has_any_budget' => 'Transaksjonen har et (hvilket som helst) budsjett',
+ 'rule_trigger_has_no_tag_choice' => 'Har ingen tagg(er)',
+ 'rule_trigger_has_no_tag' => 'Transaksjonen har ingen tagger',
+ 'rule_trigger_has_any_tag_choice' => 'Har en eller flere tagger',
+ 'rule_trigger_has_any_tag' => 'Transaksjonen har en eller flere tagger',
+ 'rule_trigger_any_notes_choice' => 'Har ett eller flere notater',
+ 'rule_trigger_any_notes' => 'Transaksjonen har ett eller flere notater',
+ 'rule_trigger_no_notes_choice' => 'Har ingen notater',
+ 'rule_trigger_no_notes' => 'Transaksjonen har ingen notater',
+ 'rule_trigger_notes_are_choice' => 'Notater er..',
+ 'rule_trigger_notes_are' => 'Notater er ":trigger_value"',
+ 'rule_trigger_notes_contain_choice' => 'Notater inneholder..',
+ 'rule_trigger_notes_contain' => 'Notater inneholder ":trigger_value"',
+ 'rule_trigger_notes_start_choice' => 'Notater begynner med..',
+ 'rule_trigger_notes_start' => 'Notat som starter med ":trigger_value"',
+ 'rule_trigger_notes_end_choice' => 'Notat som slutter med..',
+ 'rule_trigger_notes_end' => 'Notat som slutter med ":trigger_value"',
+ 'rule_action_set_category' => 'Sett kategori til ":action_value"',
+ 'rule_action_clear_category' => 'Tøm kategori',
+ 'rule_action_set_budget' => 'Sett budsjett til ":action_value"',
+ 'rule_action_clear_budget' => 'Tøm budsjett',
+ 'rule_action_add_tag' => 'Legg til tagg ":action_value"',
+ 'rule_action_remove_tag' => 'Fjern tagg ":action_value"',
+ 'rule_action_remove_all_tags' => 'Fjern alle tagger',
+ 'rule_action_set_description' => 'Sett beskrivelse til ":action_value"',
+ 'rule_action_append_description' => 'Legg til ":action_value" på slutten av beskrivelsen',
+ 'rule_action_prepend_description' => 'Legg til ":action_value" på begynnelsen av beskrivelsen',
+ 'rule_action_set_category_choice' => 'Sett kategori til..',
+ 'rule_action_clear_category_choice' => 'Tøm alle kategorier',
+ 'rule_action_set_budget_choice' => 'Sett budsjett til..',
+ 'rule_action_clear_budget_choice' => 'Tøm alle budsjetter',
+ 'rule_action_add_tag_choice' => 'Legg til tagg..',
+ 'rule_action_remove_tag_choice' => 'Fjern tagg..',
+ 'rule_action_remove_all_tags_choice' => 'Fjern alle tagger',
+ 'rule_action_set_description_choice' => 'Sett beskrivelse til..',
+ 'rule_action_append_description_choice' => 'Legg til etter beskrivelse..',
+ 'rule_action_prepend_description_choice' => 'Legg til foran beskrivelse..',
+ 'rule_action_set_source_account_choice' => 'Sett kildekonto til...',
+ 'rule_action_set_source_account' => 'Sett kildekonto til :action_value',
+ 'rule_action_set_destination_account_choice' => 'Sett målkonto til...',
+ 'rule_action_set_destination_account' => 'Sett målkonto til :action_value',
+ 'rule_action_append_notes_choice' => 'Legg til notater med..',
+ 'rule_action_append_notes' => 'Legg til notater med ":action_value"',
+ 'rule_action_prepend_notes_choice' => 'Legg til notater med..',
+ 'rule_action_prepend_notes' => 'Legg til notater med ":action_value"',
+ 'rule_action_clear_notes_choice' => 'Fjern notater',
+ 'rule_action_clear_notes' => 'Fjern notater',
+ 'rule_action_set_notes_choice' => 'Sett notater til..',
+ 'rule_action_link_to_bill_choice' => 'Knytt til en regning..',
+ 'rule_action_link_to_bill' => 'Link til regning ":action_value"',
+ 'rule_action_set_notes' => 'Sett notater til ":action_value"',
+ 'rule_action_convert_deposit_choice' => 'Konverter transaksjonen til et innskudd',
+ 'rule_action_convert_deposit' => 'Konverter transaksjonen til et innskudd fra ":action_value"',
+ 'rule_action_convert_withdrawal_choice' => 'Konverter denne transaksjonen til et uttak',
+ 'rule_action_convert_withdrawal' => 'Konverter transaksjonen til et uttak til ":action_value"',
+ 'rule_action_convert_transfer_choice' => 'Konverter transaksjonen til en overføring',
+ 'rule_action_convert_transfer' => 'Konverter transaksjonen til en overføring med ":action_value"',
+
+ 'rules_have_read_warning' => 'Har du lest advarselen?',
+ 'apply_rule_warning' => 'Advarsel: å kjøre en regel(gruppe) på et stort utvalg av transaksjoner kan ta veldig lang tid, og det kan forekomme tidsavbrudd. Hvis den gjør det, vil du ikke kunne vite hvor mange transaksjoner som ble påvirket av dine regler. Dette kan ødelegge veldig mye, vær forsiktig.',
+ 'rulegroup_for_bills_title' => 'Regelgruppe for regninger',
+ 'rulegroup_for_bills_description' => 'En spesiell regelgruppe for alle regler som involverer regninger.',
+ 'rule_for_bill_title' => 'Automatisk generert regel for regning ":name"',
+ 'rule_for_bill_description' => 'Denne regelen er automatisk generert for å matche regning ":name".',
+ 'create_rule_for_bill' => 'Opprett ny regel for regning ":name"',
+ 'create_rule_for_bill_txt' => 'Du har nettopp opprettet en ny regning kalt ":name", gratulerer! Firefly III kan automagisk matche nye utbetalinger til denne regningen. Når du betaler husleien, vil for eksempel regningen "husleie" knyttes til utbetalingen. På denne måten kan Firefly III nøyaktig vise hvilke regninger som ligger til forfall. For å gjøre dette, må du opprette en ny regel. Firefly III har fylt ut noen fornuftig standard verdier for deg. Kontroller at disse er riktige. Hvis disse verdiene er riktige vil Firefly III automatisk koble riktig utbetaling til riktig regning. Sjekk ut triggerne for å se om de er riktige, og legg til noen hvis de er feil.',
+ 'new_rule_for_bill_title' => 'Regel for regning ":name"',
+ 'new_rule_for_bill_description' => 'Denne regelen markerer transaksjoner for regning ":name".',
+
+ // tags
+ 'store_new_tag' => 'Lagre ny tagg',
+ 'update_tag' => 'Oppdater tagg',
+ 'no_location_set' => 'Ingen plassering spesifisert.',
+ 'meta_data' => 'Metadata',
+ 'location' => 'Sted',
+ 'without_date' => 'Uten dato',
+ 'result' => 'Resultat',
+ 'sums_apply_to_range' => 'Alle beløp gjelder for det valgte området',
+ 'mapbox_api_key' => 'For å bruke kart, få en API-nøkkel fra Mapbox. Åpne .env
filen og angi denne koden etter MAPBOX_API_KEY =
.',
+ 'press_tag_location' => 'Høyreklikk eller trykk lenge for å angi plasseringen til taggen.',
+ 'clear_location' => 'Tøm lokasjon',
+
+ // preferences
+ 'pref_home_screen_accounts' => 'Startskjermkontoer',
+ 'pref_home_screen_accounts_help' => 'Hvilke kontoer skal vises på startsiden?',
+ 'pref_view_range' => 'Visningsgrense',
+ 'pref_view_range_help' => 'Noen diagrammer er automatisk gruppert i perioder. Budsjettene grupperes også i perioder. Hvilken periode foretrekker du?',
+ 'pref_1D' => 'Én dag',
+ 'pref_1W' => 'Én uke',
+ 'pref_1M' => 'En måned',
+ 'pref_3M' => 'Tre måneder (kvartal)',
+ 'pref_6M' => 'Seks måneder',
+ 'pref_1Y' => 'Ett år',
+ 'pref_languages' => 'Språk',
+ 'pref_languages_help' => 'Firefly III støtter flere språk. Hvilket foretrekker du?',
+ 'pref_custom_fiscal_year' => 'Innstillinger for regnskapsår',
+ 'pref_custom_fiscal_year_label' => 'Aktivert',
+ 'pref_custom_fiscal_year_help' => 'I land som bruker et annet regnskapsår enn 1. januar til 31. desember, kan du slå på dette og angi start- og sluttdager for regnskapsåret',
+ 'pref_fiscal_year_start_label' => 'Regnskapsårets startdato',
+ 'pref_two_factor_auth' => '2-trinnsverifisering',
+ 'pref_two_factor_auth_help' => 'Når du aktiverer 2-trinnsverifisering (også kjent som tofaktorautentisering), legger du til et ekstra sikkerhetslag på kontoen din. Du logger deg på med noe du vet (ditt passord) og noe du har (en bekreftelseskode). Bekreftelseskoder genereres av et program på telefonen, for eksempel Authy eller Google Authenticator.',
+ 'pref_enable_two_factor_auth' => 'Skru på 2-trinnsverifisering',
+ 'pref_two_factor_auth_disabled' => '2-trinnsverifisering er fjernet og deaktivert',
+ 'pref_two_factor_auth_remove_it' => 'Ikke glem å fjerne kontoen fra godkjenningsappen din!',
+ 'pref_two_factor_auth_code' => 'Bekreftelseskode',
+ 'pref_two_factor_auth_code_help' => 'Skann QR-koden med et program på telefonen, for eksempel Authy eller Google Authenticator, og skriv inn den genererte koden.',
+ 'pref_two_factor_auth_reset_code' => 'Tilbakestill verifiseringskoden',
+ 'pref_two_factor_auth_disable_2fa' => 'Deaktiver 2FA',
+ '2fa_use_secret_instead' => 'Hvis du ikke kan skanne QR code, bruk gjerne "secret" istedet: :secret.',
+ 'pref_save_settings' => 'Lagre innstillinger',
+ 'saved_preferences' => 'Innstillinger lagret!',
+ 'preferences_general' => 'Generelt',
+ 'preferences_frontpage' => 'Startskjermen',
+ 'preferences_security' => 'Sikkerhet',
+ 'preferences_layout' => 'Oppsett',
+ 'pref_home_show_deposits' => 'Vis innskudd på startskjermen',
+ 'pref_home_show_deposits_info' => 'Startskjermen viser allerede kostnadskontoene dine. Skal den også vise inntektskontoene dine?',
+ 'pref_home_do_show_deposits' => 'Ja, vis dem',
+ 'successful_count' => 'hvorav :count var vellykket',
+ 'list_page_size_title' => 'Sidestørrelse',
+ 'list_page_size_help' => 'En liste over ting (kontoer, transaksjoner osv.). Viser maksimalt dette antall elementer per side.',
+ 'list_page_size_label' => 'Sidestørrelse',
+ 'between_dates' => '(:start og :end)',
+ 'pref_optional_fields_transaction' => 'Valgfrie felt for transaksjoner',
+ 'pref_optional_fields_transaction_help' => 'Som standard er ikke alle felt aktivert når du oppretter en ny transaksjon (for å unngå forvirring). Nedenfor kan du aktivere disse feltene hvis du tror de kan være nyttige for deg. Selvfølgelig vil et felt som er deaktivert, men allerede fylt inn, være synlig, uavhengig av innstillingen.',
+ 'optional_tj_date_fields' => 'Datofelter',
+ 'optional_tj_business_fields' => 'Forretningsfelter',
+ 'optional_tj_attachment_fields' => 'Vedleggsfelter',
+ 'pref_optional_tj_interest_date' => 'Rentedato',
+ 'pref_optional_tj_book_date' => 'Bokføringsdato',
+ 'pref_optional_tj_process_date' => 'Prosesseringsdato',
+ 'pref_optional_tj_due_date' => 'Forfallsdato',
+ 'pref_optional_tj_payment_date' => 'Betalingsdato',
+ 'pref_optional_tj_invoice_date' => 'Fakturadato',
+ 'pref_optional_tj_internal_reference' => 'Intern referanse',
+ 'pref_optional_tj_notes' => 'Notater',
+ 'pref_optional_tj_attachments' => 'Vedlegg',
+ 'optional_field_meta_dates' => 'Datoer',
+ 'optional_field_meta_business' => 'Bedrift',
+ 'optional_field_attachments' => 'Vedlegg',
+ 'optional_field_meta_data' => 'Valgfri metadata',
+
+ // profile:
+ 'change_your_password' => 'Endre passord',
+ 'delete_account' => 'Slett konto',
+ 'current_password' => 'Nåværende passord',
+ 'new_password' => 'Nytt passord',
+ 'new_password_again' => 'Nytt passord (gjenta)',
+ 'delete_your_account' => 'Slett din konto',
+ 'delete_your_account_help' => 'Hvis du sletter brukerkontoen din, slettes også alle kontoer, transaksjoner, og alt annet du har lagret i Firefly III. Det blir BORTE.',
+ 'delete_your_account_password' => 'Skriv inn passordet ditt for å fortsette.',
+ 'password' => 'Passord',
+ 'are_you_sure' => 'Er du sikker? Du kan ikke angre på dette.',
+ 'delete_account_button' => 'SLETT din konto',
+ 'invalid_current_password' => 'Ugyldig nåværende passord!',
+ 'password_changed' => 'Passord endret!',
+ 'should_change' => 'Tanken er å endre passordet ditt.',
+ 'invalid_password' => 'Ugyldig passord!',
+ 'what_is_pw_security' => 'Hva er "sjekk passordsikkerhet"?',
+ 'secure_pw_title' => 'Hvordan velge et sikkert passord',
+ 'secure_pw_history' => 'Ikke en uke går uten at du leser i nyhetene om et nettsted som har mistet passord for brukerne sine. Hackere og tyver bruker disse passordene for å prøve å stjele din private informasjon. Denne informasjonen er verdifull.',
+ 'secure_pw_ff' => 'Bruker du det samme passordet over alt på Internett? Hvis bare ett nettsted mister passordet, har hackere tilgang til alle dataene dine. Firefly III er avhengig av at du velger et sterkt og unikt passord for å beskytte dine finansielle data.',
+ 'secure_pw_check_box' => 'For å hjelpe deg kan Firefly III sjekke om passordet du vil bruke har blitt stjålet tidligere. Hvis dette er tilfelle, råder Firefly III deg til ikke å bruke dette passordet.',
+ 'secure_pw_working_title' => 'Hvordan virker det?',
+ 'secure_pw_working' => 'Ved å huke av denne boksen vil Firefly III sende de fem første tegnene til SHA1-hashen av passordet ditt til nettsiden til Troy Hunt for å se om det er på listen hans. Dette vil stoppe deg fra å bruke usikre passord som anbefalt i den siste spesialpublikasjonen fra NIST om dette emnet.',
+ 'secure_pw_should' => 'Bør jeg huke av boksen?',
+ 'secure_pw_long_password' => 'Ja. Alltid bekreft at passordet ditt er trygt.',
+ 'command_line_token' => 'Kommandolinjenøkkel',
+ 'explain_command_line_token' => 'Du trenger dette "token" for å utføre kommander på kommandolinje som f. eks. importere eller eksportere. Uten dette tegnet fungerer ikke kommandoene. Ikke del din kommandolinjen token. Ingen vil spørre deg om dette spesialtegnet, ikke engang meg. Hvis du frykter at du har mistet dette, eller ved paranoia, trykk på knappen for å generere et nytt "token".',
+ 'regenerate_command_line_token' => 'Regenerer kommandolinjenøkkel',
+ 'token_regenerated' => 'En ny kommandolinjenøkkel ble generert',
+ 'change_your_email' => 'Endre din epostadresse',
+ 'email_verification' => 'En e-postmelding sendes til din gamle og nye e-postadresse. Av sikkerhetsgrunner, vil du ikke kunne logge inn før du bekrefter din nye epostadresse. Hvis du er usikker på om Firefly III installasjonen er i stand til å sende e-post, ikke bruk denne funksjonen. Hvis du er administrator, kan du teste dette i Administrasjon.',
+ 'email_changed_logout' => 'Inntil du bekrefter e-postadressen din, kan du ikke logge inn.',
+ 'login_with_new_email' => 'Du kan nå logge inn med din nye e-postadresse.',
+ 'login_with_old_email' => 'Du kan nå logge inn med din gamle e-postadresse igjen.',
+ 'login_provider_local_only' => 'Denne handlingen er ikke tilgjengelig ved godkjenning gjennom ":login_provider".',
+ 'delete_local_info_only' => 'Fordi du godkjenner gjennom ":login_provider", vil dette bare slette lokal informasjon i Firefly III.',
+
+ // attachments
+ 'nr_of_attachments' => 'Ett vedlegg|:count vedlegg',
+ 'attachments' => 'Vedlegg',
+ 'edit_attachment' => 'Rediger vedlegg ":name"',
+ 'update_attachment' => 'Oppdater vedlegget',
+ 'delete_attachment' => 'Slett vedlegg ":name"',
+ 'attachment_deleted' => 'Slettet vedlegg ":name"',
+ 'attachment_updated' => 'Oppdatert vedlegg ":name"',
+ 'upload_max_file_size' => 'Maks filstørrelse: :size',
+ 'list_all_attachments' => 'Liste over alle vedlegg',
+
+ // transaction index
+ 'title_expenses' => 'Utgifter',
+ 'title_withdrawal' => 'Utgifter',
+ 'title_revenue' => 'Inntekt',
+ 'title_deposit' => 'Inntekt',
+ 'title_transfer' => 'Overføringer',
+ 'title_transfers' => 'Overføringer',
+
+ // convert stuff:
+ 'convert_is_already_type_Withdrawal' => 'Denne transaksjonen er allerede et uttak',
+ 'convert_is_already_type_Deposit' => 'Denne transaksjonen er allerede et innskudd',
+ 'convert_is_already_type_Transfer' => 'Denne transaksjonen er allerede en overføring',
+ 'convert_to_Withdrawal' => 'Konverter ":description" til et uttak',
+ 'convert_to_Deposit' => 'Konverter ":description" til et innskudd',
+ 'convert_to_Transfer' => 'Konverter ":description" til en overføring',
+ 'convert_options_WithdrawalDeposit' => 'Konverter et uttak til et innskudd',
+ 'convert_options_WithdrawalTransfer' => 'Konverter et uttak til en overføring',
+ 'convert_options_DepositTransfer' => 'Konverter et innskudd til en overføring',
+ 'convert_options_DepositWithdrawal' => 'Konverter et innskudd til et uttak',
+ 'convert_options_TransferWithdrawal' => 'Konverter en overføring til et uttak',
+ 'convert_options_TransferDeposit' => 'Konverter en overføring til et innskudd',
+ 'convert_Withdrawal_to_deposit' => 'Konverter dette uttaket til et innskudd',
+ 'convert_Withdrawal_to_transfer' => 'Konverter dette uttaket til en overføring',
+ 'convert_Deposit_to_withdrawal' => 'Konverter dette innskuddet til et uttak',
+ 'convert_Deposit_to_transfer' => 'Konverter dette innskuddet til en overføring',
+ 'convert_Transfer_to_deposit' => 'Konverter denne overføringen til et innskudd',
+ 'convert_Transfer_to_withdrawal' => 'Konverter denne overføringen til et uttak',
+ 'convert_please_set_revenue_source' => 'Vennligst velg inntektskontoen pengene vil komme fra.',
+ 'convert_please_set_asset_destination' => 'Vennligst velg aktivakontoen pengene skal gå til.',
+ 'convert_please_set_expense_destination' => 'Vennligst velg utgiftsskontoen pengene skal gå til.',
+ 'convert_please_set_asset_source' => 'Vennligst velg aktivakontoen pengene kommer fra.',
+ 'convert_explanation_withdrawal_deposit' => 'Hvis du konverterer dette uttaket til et innskudd, vil :amount bli satt inn på :sourceName i stedet for å bli tatt ut.',
+ 'convert_explanation_withdrawal_transfer' => 'Hvis du konverterer dette uttaket til en overføring, blir :amount overført fra :sourceName til en ny aktivakonto, i stedet for å bli betalt til :destinationName.',
+ 'convert_explanation_deposit_withdrawal' => 'Hvis du konverterer dette innskuddet til et uttak, vil :amount bli tatt ut fra :destinationName i stedet for å bli satt inn.',
+ 'convert_explanation_deposit_transfer' => 'Hvis du konverterer dette innskuddet til en overføring, vil :amount bli overført fra en brukskonto du velger til :destinationName.',
+ 'convert_explanation_transfer_withdrawal' => 'Hvis du konverterer denne overføringen til et uttak, vil :amount gå fra :sourceName til en ny destinasjon som en utgift, i stedet for til :destinationName som en overføring.',
+ 'convert_explanation_transfer_deposit' => 'Hvis du konverterer denne overføringen til et innskudd, vil :amount bli satt inn på konto :destinationName istedenfor å overføres dit.',
+ 'converted_to_Withdrawal' => 'Transaksjonen er konvertert til et uttak',
+ 'converted_to_Deposit' => 'Transaksjonen er konvertert til et innskudd',
+ 'converted_to_Transfer' => 'Transaksjonen er konvertert til en overføring',
+ 'invalid_convert_selection' => 'Kontoen du har valgt er allerede brukt i denne transaksjonen eller finnes ikke.',
+ 'source_or_dest_invalid' => 'Finner ikke riktig transaksjonsdetaljer. Konvertering er ikke mulig.',
+
+ // create new stuff:
+ 'create_new_withdrawal' => 'Opprett nytt uttak',
+ 'create_new_deposit' => 'Opprett nytt innskudd',
+ 'create_new_transfer' => 'Opprett ny overføring',
+ 'create_new_asset' => 'Opprett ny aktivakonto',
+ 'create_new_expense' => 'Opprett ny utgiftskonto',
+ 'create_new_revenue' => 'Opprett ny inntektskonto',
+ 'create_new_piggy_bank' => 'Opprett ny sparegris',
+ 'create_new_bill' => 'Opprett ny regning',
+
+ // currencies:
+ 'create_currency' => 'Opprett en ny valuta',
+ 'store_currency' => 'Lagre ny valuta',
+ 'update_currency' => 'Oppdater valuta',
+ 'new_default_currency' => ':name er nå standardvaluta.',
+ 'cannot_delete_currency' => 'Kan ikke slette :name fordi det er fortsatt i bruk.',
+ 'cannot_disable_currency' => 'Kan ikke deaktivere :name fordi det er fortsatt i bruk.',
+ 'deleted_currency' => 'Valuta :name slettet',
+ 'created_currency' => 'Valuta :name opprettet',
+ 'could_not_store_currency' => 'Kan ikke lagre den nye valutaen.',
+ 'updated_currency' => 'Valuta :name oppdatert',
+ 'ask_site_owner' => 'Spør :owner om å legge til, fjerne eller redigere valutaer.',
+ 'currencies_intro' => 'Firefly III støtter ulike valutaer som du kan definere og aktivere her.',
+ 'make_default_currency' => 'Sett som standard',
+ 'default_currency' => 'standard',
+ 'currency_is_disabled' => 'Deaktivert',
+ 'enable_currency' => 'Aktiver',
+ 'disable_currency' => 'Deaktiver',
+ 'currencies_default_disabled' => 'De fleste valutaene er deaktivert som standard. For å bruke dem, må du aktivere dem først.',
+ 'currency_is_now_enabled' => 'Valuta ":name" er aktivert',
+ 'currency_is_now_disabled' => 'Valuta ":name" er deaktivert',
+
+ // forms:
+ 'mandatoryFields' => 'Obligatoriske felter',
+ 'optionalFields' => 'Valgfrie felter',
+ 'options' => 'Alternativer',
+
+ // budgets:
+ 'create_new_budget' => 'Opprett et nytt budsjett',
+ 'store_new_budget' => 'Lagre nytt budsjett',
+ 'stored_new_budget' => 'Lagret nytt budsjett ":name"',
+ 'available_between' => 'Tilgjengelig mellom :start og :end',
+ 'transactionsWithoutBudget' => 'Utgifter uten budsjett',
+ 'transactions_no_budget' => 'Utgifter uten budsjett mellom :start og :end',
+ 'spent_between' => 'Brukt mellom :start og :end',
+ 'createBudget' => 'Nytt budsjett',
+ 'inactiveBudgets' => 'Inaktive budsjetter',
+ 'without_budget_between' => 'Transaksjoner uten et budsjett mellom :start og :end',
+ 'delete_budget' => 'Slett budsjett ":name"',
+ 'deleted_budget' => 'Slett budsjett ":name"',
+ 'edit_budget' => 'Rediger budsjett ":name"',
+ 'updated_budget' => 'Oppdater budsjett ":name"',
+ 'update_amount' => 'Oppdater beløp',
+ 'update_budget' => 'Oppdater budsjett',
+ 'update_budget_amount_range' => 'Oppdater (forventet) tilgjengelig beløp mellom :start og :end',
+ 'budget_period_navigator' => 'Periodenavigatør',
+ 'info_on_available_amount' => 'Hva har jeg tilgjengelig?',
+ 'available_amount_indication' => 'Bruk disse beløpene for å få en indikasjon på hva ditt totale budsjett kan være.',
+ 'suggested' => 'Foreslått',
+ 'average_between' => 'Gjennomsnitt mellom :start og :end',
+ 'over_budget_warn' => ' Normalt budsjetterer du ca. :amount per day. Dette er :over_amount pr. dag.',
+
+ // bills:
+ 'match_between_amounts' => 'Regning matcher transaksjoner mellom :low og :high.',
+ 'bill_related_rules' => 'Regler relatert til denne regningen',
+ 'repeats' => 'Gjentas',
+ 'connected_journals' => 'Tilknyttede transaksjoner',
+ 'auto_match_on' => 'Automatisk funnet av Firefly III',
+ 'auto_match_off' => 'Ikke automatisk funnet av Firefly III',
+ 'next_expected_match' => 'Neste forventede treff',
+ 'delete_bill' => 'Slett regning ":name"',
+ 'deleted_bill' => 'Slettet regning ":name"',
+ 'edit_bill' => 'Rediger regning ":name"',
+ 'more' => 'Mer',
+ 'rescan_old' => 'Kjør regler igjen, på alle transaksjoner',
+ 'update_bill' => 'Oppdater regning',
+ 'updated_bill' => 'Oppdatert regning ":name"',
+ 'store_new_bill' => 'Lagre ny regning',
+ 'stored_new_bill' => 'Lagret ny regning ":name"',
+ 'cannot_scan_inactive_bill' => 'Inaktive regninger kan ikke skannes.',
+ 'rescanned_bill' => 'Skannet alt på nytt og linket :total transaksjoner til regningen.',
+ 'average_bill_amount_year' => 'Gjennomsnittlig regningsbeløp (:year)',
+ 'average_bill_amount_overall' => 'Gjennomsnittlig regningsbeløp (alt i alt)',
+ 'bill_is_active' => 'Regning er aktiv',
+ 'bill_expected_between' => 'Forventet mellom :start og :end',
+ 'bill_will_automatch' => 'Regningen vil automatisk knyttes til samsvarende transaksjoner',
+ 'skips_over' => 'hopper over',
+ 'bill_store_error' => 'Det oppsto en uventet feil mens du lagret den nye regningen. Vennligst sjekk loggfilene',
+ 'list_inactive_rule' => 'inaktiv regel',
+
+ // accounts:
+ 'account_missing_transaction' => 'Konto #:id (":name") kan ikke bli vist direkte, Firefly mangler omdirigerings informasjon.',
+ 'details_for_asset' => 'Detaljer for brukskonto ":name"',
+ 'details_for_expense' => 'Detaljer for utgiftskonto ":name"',
+ 'details_for_revenue' => 'Detaljer for inntektskonto ":name"',
+ 'details_for_cash' => 'Detaljer for kontantkonto ":name"',
+ 'store_new_asset_account' => 'Lagre ny brukskonto',
+ 'store_new_expense_account' => 'Lagre ny utgiftskonto',
+ 'store_new_revenue_account' => 'Lagre ny inntektskonto',
+ 'edit_asset_account' => 'Rediger brukskonto ":name"',
+ 'edit_expense_account' => 'Rediger utgiftskonto ":name"',
+ 'edit_revenue_account' => 'Rediger inntektskonto ":name"',
+ 'delete_asset_account' => 'Slett brukskonto ":name"',
+ 'delete_expense_account' => 'Slett utgiftskonto ":name"',
+ 'delete_revenue_account' => 'Slett inntektskonto ":name"',
+ 'delete_liabilities_account' => 'Slett gjeld ":name"',
+ 'asset_deleted' => 'Sletting av brukskonto ":name" var vellykket',
+ 'expense_deleted' => 'Sletting av utgiftskonto ":name" var vellykket',
+ 'revenue_deleted' => 'Sletting av inntekskonto ":name" var vellykket',
+ 'update_asset_account' => 'Oppdater aktivakonto',
+ 'update_liabilities_account' => 'Oppdater gjeld',
+ 'update_expense_account' => 'Oppdater utgiftskonto',
+ 'update_revenue_account' => 'Oppdater inntektskonto',
+ 'make_new_asset_account' => 'Opprett en ny aktivakonto',
+ 'make_new_expense_account' => 'Opprett en ny utgiftskonto',
+ 'make_new_revenue_account' => 'Opprett en ny inntektskonto',
+ 'make_new_liabilities_account' => 'Opprett ny gjeld',
+ 'asset_accounts' => 'Aktivakontoer',
+ 'expense_accounts' => 'Utgiftskontoer',
+ 'revenue_accounts' => 'Inntektskontoer',
+ 'cash_accounts' => 'Kontantkontoer',
+ 'Cash account' => 'Kontantkonto',
+ 'liabilities_accounts' => 'Gjeld',
+ 'reconcile_account' => 'Avstem konto ":account"',
+ 'overview_of_reconcile_modal' => 'Balanseoversikt',
+ 'delete_reconciliation' => 'Slett avstemming',
+ 'update_reconciliation' => 'Oppdater avstemming',
+ 'amount_cannot_be_zero' => 'Beløpet kan ikke være null',
+ 'end_of_reconcile_period' => 'Slutten av balanse perioden :period',
+ 'start_of_reconcile_period' => 'Starten av balanse perioden :period',
+ 'start_balance' => 'Startsaldo',
+ 'end_balance' => 'Sluttsaldo',
+ 'update_balance_dates_instruction' => 'Koble beløpene og datoene over til kontoutskriften, og trykk på "Start avstemning"',
+ 'select_transactions_instruction' => 'Velg transaksjonene som vises på kontoutskriften.',
+ 'select_range_and_balance' => 'Kontroller først datoperiode og saldo. Deretter trykker du på "Start avstemning"',
+ 'date_change_instruction' => 'Hvis du endrer datointervallet nå, vil du miste all foreløpig framdrift.',
+ 'update_selection' => 'Oppdater utvalg',
+ 'store_reconcile' => 'Lagre avstemming',
+ 'reconciliation_transaction' => 'Avstemmingstransaksjon',
+ 'Reconciliation' => 'Avstemming',
+ 'reconciliation' => 'Avstemming',
+ 'reconcile_options' => 'Avstemmingsalternativer',
+ 'reconcile_range' => 'Avstemningsområde',
+ 'start_reconcile' => 'Start avstemming',
+ 'cash' => 'kontanter',
+ 'account_type' => 'Kontotype',
+ 'save_transactions_by_moving' => 'Lagre disse transaksjonene ved å flytte dem til en annen konto:',
+ 'stored_new_account' => 'Ny konto:name: lagret!',
+ 'updated_account' => 'Oppdatert konto ":name"',
+ 'credit_card_options' => 'Kredittkortvalg',
+ 'no_transactions_account' => 'Det finnes ingen transaksjoner (i denne perioden) for brukskonto ":name".',
+ 'no_transactions_period' => 'Det finnes ingen transaksjoner (i denne perioden).',
+ 'no_data_for_chart' => 'Det er ikke nok informasjon (ennå) til å generere dette diagrammet.',
+ 'select_at_least_one_account' => 'Velg minst en brukskonto',
+ 'select_at_least_one_category' => 'Velg minst én kategori',
+ 'select_at_least_one_budget' => 'Velg minst ett budsjett',
+ 'select_at_least_one_tag' => 'Velg minst én tag',
+ 'select_at_least_one_expense' => 'Velg minst en kombinasjon av utgift/inntekts konto. Hvis du ikke har en (listen er tom) så vil ikke denne rapporten være tilgjengelig.',
+ 'account_default_currency' => 'Dette blir standard valuta for denne kontoen.',
+ 'reconcile_has_more' => 'Din Firefly III-hovedbok har mer penger i seg enn banken hevder du burde ha. Det finnes flere alternativer. Vennligst velg hva du skal gjøre. Deretter trykker du på "Bekreft avstemming".',
+ 'reconcile_has_less' => 'Din Firefly III-hovedbok har mindre penger i seg enn banken hevder du burde ha. Det finnes flere alternativer. Vennligst velg hva du skal gjøre. Deretter trykker du på "Bekreft avstemming".',
+ 'reconcile_is_equal' => 'Din Firefly III-hovedbok og dine kontoutskrifter samsvarer. Det er ingenting du trenger å gjøre. Vennligst trykk "Bekreft avstemming" for å fortsette.',
+ 'create_pos_reconcile_transaction' => 'Fjern de valgte transaksjonene, og opprett en korreksjon som legger til :amount til denne aktivakontoen.',
+ 'create_neg_reconcile_transaction' => 'Fjern de valgte transaksjonene, og opprett en korreksjon som tar bort :amount fra denne aktivakontoen.',
+ 'reconcile_do_nothing' => 'Fjern de valgte transaksjonene, men ikke korriger.',
+ 'reconcile_go_back' => 'Du kan alltid redigere eller slette en korreksjon senere.',
+ 'must_be_asset_account' => 'Du kan bare avstemme aktivakontoer',
+ 'reconciliation_stored' => 'Avstemming lagret',
+ 'reconcilliation_transaction_title' => 'Rekonsiliasjon (:from til :to)',
+ 'reconcile_this_account' => 'Avstem denne kontoen',
+ 'confirm_reconciliation' => 'Bekreft avstemming',
+ 'submitted_start_balance' => 'Innsendt startsaldo',
+ 'selected_transactions' => 'Valgte transaksjoner (:count)',
+ 'already_cleared_transactions' => 'Tidligere ryddet transaksjoner (:count)',
+ 'submitted_end_balance' => 'Innsendt sluttsaldo',
+ 'initial_balance_description' => 'Start saldo for ":account"',
+ 'interest_calc_' => 'ukjent',
+ 'interest_calc_daily' => 'Per dag',
+ 'interest_calc_monthly' => 'Per måned',
+ 'interest_calc_yearly' => 'Per år',
+ 'initial_balance_account' => 'Start saldo for konto :name',
+
+ // categories:
+ 'new_category' => 'Ny kategori',
+ 'create_new_category' => 'Opprett en ny kategori',
+ 'without_category' => 'Uten kategori',
+ 'update_category' => 'Oppdater kategori',
+ 'updated_category' => 'Oppdatert kategori ":name"',
+ 'categories' => 'Kategorier',
+ 'edit_category' => 'Rediger kategori ":name"',
+ 'no_category' => '(ingen kategori)',
+ 'category' => 'Kategori',
+ 'delete_category' => 'Slett kategori ":name"',
+ 'deleted_category' => 'Slettet kategori ":name"',
+ 'store_category' => 'Lagre ny kategori',
+ 'stored_category' => 'Lagret ny kategori ":name"',
+ 'without_category_between' => 'Uten kategori mellom :start og :end',
+
+ // transactions:
+ 'update_withdrawal' => 'Oppdater uttak',
+ 'update_deposit' => 'Oppdater innskudd',
+ 'update_transfer' => 'Oppdater overføring',
+ 'updated_withdrawal' => 'Oppdatert uttak ":description"',
+ 'updated_deposit' => 'Oppdatert innskudd ":description"',
+ 'updated_transfer' => 'Oppdatert overføring ":description"',
+ 'delete_withdrawal' => 'Slett uttak ":description"',
+ 'delete_deposit' => 'Slett innskudd ":description"',
+ 'delete_transfer' => 'Slett overføring ":description"',
+ 'deleted_withdrawal' => 'Slettet uttak ":description"',
+ 'deleted_deposit' => 'Slettet innskudd ":description"',
+ 'deleted_transfer' => 'Slettet overføring ":description"',
+ 'stored_journal' => 'Opprettet ny transaksjon ":description"',
+ 'select_transactions' => 'Velg transaksjoner',
+ 'rule_group_select_transactions' => 'Påfør ":title" på transaksjonene',
+ 'rule_select_transactions' => 'Påfør ":title" på transaksjonene',
+ 'stop_selection' => 'Stop valg av transaksjoner',
+ 'reconcile_selected' => 'Avstem',
+ 'mass_delete_journals' => 'Slett flere transaksjoner',
+ 'mass_edit_journals' => 'Rediger flere transaksjoner',
+ 'mass_bulk_journals' => 'Rediger flere transaksjoner samtidig',
+ 'mass_bulk_journals_explain' => 'Hvis du ikke ønsker å endre transaksjonene dine en-etter-en, kan du redigere flere av dem på en gang ved hjelp av massedigeringsfunksjonen. Bare velg kategori, tagg eller budsjett i feltene under, så vil alle transaksjonene i tabellen bli oppdatert.',
+ 'bulk_set_new_values' => 'Bruk innstillingene nedenfor for å angi nye verdier. Hvis du lar dem stå tomme, forblir de tomme. Vær også oppmerksom på at kun uttak vil bli gitt et budsjett.',
+ 'no_bulk_category' => 'Ikke oppdater kategori',
+ 'no_bulk_budget' => 'Ikke oppdater budsjett',
+ 'no_bulk_tags' => 'Ikke oppdater tagg(er)',
+ 'bulk_edit' => 'Masseredigering',
+ 'cannot_edit_other_fields' => 'Du kan ikke masseredigere andre felt enn de som er her, fordi det er ikke plass til å vise dem. Vennligst følg linken og rediger disse en om gangen hvis du må redigere disse feltene.',
+ 'no_budget' => '(ingen budsjett)',
+ 'no_budget_squared' => '(ingen budsjett)',
+ 'perm-delete-many' => 'Å slette mange elementer på en gang kan skape problemer. Vær forsiktig.',
+ 'mass_deleted_transactions_success' => 'Slettet :amount transaksjon(er).',
+ 'mass_edited_transactions_success' => 'Oppdatert :amount transaksjon(er)',
+ 'opt_group_' => '(ingen kontotype)',
+ 'opt_group_no_account_type' => '(ingen kontotype)',
+ 'opt_group_defaultAsset' => 'Standard aktivakontoer',
+ 'opt_group_savingAsset' => 'Sparekontoer',
+ 'opt_group_sharedAsset' => 'Delte aktivakontoer',
+ 'opt_group_ccAsset' => 'Kredittkort',
+ 'opt_group_cashWalletAsset' => 'Kontant lommebok',
+ 'opt_group_l_Loan' => 'Gjeld: Lån',
+ 'opt_group_l_Debt' => 'Gjeld: Gjeld',
+ 'opt_group_l_Mortgage' => 'Gjeld: Huslån',
+ 'opt_group_l_Credit card' => 'Gjeld: Kredittkort',
+ 'notes' => 'Notater',
+ 'unknown_journal_error' => 'Kunne ikke lagre transaksjonen. Vennligst sjekk loggfilene.',
+ 'attachment_not_found' => 'Finner ikke dette vedlegget.',
+ 'journal_link_bill' => 'Denne transaksjonen er knyttet til regning :name. Hvis du vil fjerne knytningen, fjerner du avmerkingen. Bruke regler for å koble den til en annen regning.',
+
+ // new user:
+ 'welcome' => 'Velkommen til Firefly III!',
+ 'submit' => 'Send inn',
+ 'submit_yes_really' => 'Registrer (Jeg vet hva jeg gjør)',
+ 'getting_started' => 'Kom igang',
+ 'to_get_started' => 'Det er godt å se at du har installert Firefly III. Vennligst skriv inn bankens navn og saldo på hovedkontoen din for å komme i gang. Du trenger Ikke bekymre deg hvis du har flere kontoer. Du kan legge dem til senere. Dette er bare for at Firefly III skal få noe data å arbeide med.',
+ 'savings_balance_text' => 'Firefly III vil automatisk opprette en sparekonto for deg. Som standard vil det ikke være penger på sparekontoen din, men hvis du oppgir saldoen din til Firefly III så blir den lagt inn for deg.',
+ 'finish_up_new_user' => 'Det var alt! Du kan fortsette ved å trykke Send. Deretter vil du bli tatt til startskjermen til Firefly III.',
+ 'stored_new_accounts_new_user' => 'Jippi! De nye kontoene dine ble lagret.',
+ 'set_preferred_language' => 'Hvis du foretrekker å bruke Firefly III med et annet språk, vennligst indiker det her.',
+ 'language' => 'Språk',
+ 'new_savings_account' => ':bank_name sparekonto',
+ 'cash_wallet' => 'Kontanter lommebok',
+ 'currency_not_present' => 'Hvis valutaen du vanligvis bruker ikke vises, ikke fortvil. Du kan opprette din egen valuta under Alternativer > valuta.',
+
+ // home page:
+ 'yourAccounts' => 'Dine kontoer',
+ 'your_accounts' => 'Din konto oversikt',
+ 'category_overview' => 'Kategori oversikt',
+ 'expense_overview' => 'Utgiftskonto oversikt',
+ 'revenue_overview' => 'Inntektskonto oversikt',
+ 'budgetsAndSpending' => 'Budsjetter og utgifter',
+ 'budgets_and_spending' => 'Budsjetter og utgifter',
+ 'go_to_budget' => 'Gå til budsjett "{budget}"',
+ 'savings' => 'Oppspart',
+ 'newWithdrawal' => 'Ny utgift',
+ 'newDeposit' => 'Nytt innskudd',
+ 'newTransfer' => 'Ny overføring',
+ 'bills_to_pay' => 'Regninger å betale',
+ 'per_day' => 'Per dag',
+ 'left_to_spend_per_day' => 'Igjen å bruke per dag',
+ 'bills_paid' => 'Regninger betalt',
+
+ // menu and titles, should be recycled as often as possible:
+ 'currency' => 'Valuta',
+ 'preferences' => 'Innstillinger',
+ 'logout' => 'Logg ut',
+ 'toggleNavigation' => 'Vis/Skjul navigation',
+ 'searchPlaceholder' => 'Søk...',
+ 'version' => 'Versjon',
+ 'dashboard' => 'Startskjerm',
+ 'available_budget' => 'Tilgjengelige budsjett ({currency})',
+ 'currencies' => 'Valutaer',
+ 'activity' => 'Aktivitet',
+ 'usage' => 'Bruk',
+ 'accounts' => 'Kontoer',
+ 'Asset account' => 'Aktivakonto',
+ 'Default account' => 'Aktivakonto',
+ 'Expense account' => 'Utgiftskonto',
+ 'Revenue account' => 'Inntektskonto',
+ 'Initial balance account' => 'Startsaldokonto',
+ 'account_type_Debt' => 'Gjeld',
+ 'account_type_Loan' => 'Lån',
+ 'account_type_Mortgage' => 'Boliglån',
+ 'account_type_Credit card' => 'Kredittkort',
+ 'budgets' => 'Budsjetter',
+ 'tags' => 'Tagger',
+ 'reports' => 'Rapporter',
+ 'transactions' => 'Transaksjoner',
+ 'expenses' => 'Utgifter',
+ 'income' => 'Inntekt',
+ 'transfers' => 'Overføringer',
+ 'moneyManagement' => 'Pengestyring',
+ 'money_management' => 'Pengestyring',
+ 'tools' => 'Verktøy',
+ 'piggyBanks' => 'Sparegriser',
+ 'piggy_banks' => 'Sparegriser',
+ 'amount_x_of_y' => '{current} av {total}',
+ 'bills' => 'Regninger',
+ 'withdrawal' => 'Uttak',
+ 'opening_balance' => 'Startsaldo',
+ 'deposit' => 'Innskudd',
+ 'account' => 'Konto',
+ 'transfer' => 'Overføring',
+ 'Withdrawal' => 'Uttak',
+ 'Deposit' => 'Innskudd',
+ 'Transfer' => 'Overføring',
+ 'bill' => 'Regning',
+ 'yes' => 'Ja',
+ 'no' => 'Nei',
+ 'amount' => 'Beløp',
+ 'overview' => 'Oversikt',
+ 'saveOnAccount' => 'Spar på konto',
+ 'unknown' => 'Ukjent',
+ 'daily' => 'Daglig',
+ 'monthly' => 'Månedlig',
+ 'profile' => 'Profil',
+ 'errors' => 'Feil',
+ 'debt_start_date' => 'Startdato for gjeld',
+ 'debt_start_amount' => 'Start beløp for gjeld',
+ 'debt_start_amount_help' => 'Skriv inn opprinnelig beløp for denne gjeld som et positivt tall. Du kan også angi gjeldende beløp. Pass på å redigere datoen nedenfor slik at det passer.',
+ 'store_new_liabilities_account' => 'Lagre ny gjeld',
+ 'edit_liabilities_account' => 'Rediger gjeld ":name"',
+
+ // reports:
+ 'report_default' => 'Standard finansiell rapport mellom :start og :end',
+ 'report_audit' => 'Transaksjonshistorikk og oversikt mellom :start og :end',
+ 'report_category' => 'Kategori rapport mellom :start og :end',
+ 'report_account' => 'Utgifts/Inntekts kontorapport mellom :start og :end',
+ 'report_budget' => 'Budsjettrapport mellom :start og :end',
+ 'report_tag' => 'Tag-rapport mellom :start og :end',
+ 'quick_link_reports' => 'Hurtiglenker',
+ 'quick_link_examples' => 'Dette er bare noen eksempel linker for å komme i gang. Sjekk ut hjelpesidene under (?) -knappen for informasjon om alle rapporter og de magiske ordene som du kan bruke.',
+ 'quick_link_default_report' => 'Standard finansiell rapport',
+ 'quick_link_audit_report' => 'Oversikt over transaksjonshistorikk',
+ 'report_this_month_quick' => 'Inneværende måned, alle kontoer',
+ 'report_last_month_quick' => 'Forrige måned, alle kontoer',
+ 'report_this_year_quick' => 'Inneværende år, alle kontoer',
+ 'report_this_fiscal_year_quick' => 'Inneværende regnskapsår, alle kontoer',
+ 'report_all_time_quick' => 'Fra tidenes morgen, alle kontoer',
+ 'reports_can_bookmark' => 'Husk at rapporter kan bokmerkes.',
+ 'incomeVsExpenses' => 'Inntekter vs. utgifter',
+ 'accountBalances' => 'Saldo',
+ 'balanceStart' => 'Saldo ved starten av periode',
+ 'balanceEnd' => 'Saldo ved utgangen av perioden',
+ 'splitByAccount' => 'Del opp på konto',
+ 'coveredWithTags' => 'Dekket med tagger',
+ 'leftInBudget' => 'Igjen i budsjett',
+ 'sumOfSums' => 'Sum av summer',
+ 'noCategory' => '(ingen kategori)',
+ 'notCharged' => 'Ikke belastet (ennå)',
+ 'inactive' => 'Inaktiv',
+ 'active' => 'Aktiv',
+ 'difference' => 'Differanse',
+ 'money_flowing_in' => 'Inn',
+ 'money_flowing_out' => 'Ut',
+ 'topX' => 'topp :number',
+ 'show_full_list' => 'Vis hele listen',
+ 'show_only_top' => 'Vis bare topp :number',
+ 'report_type' => 'Rapporttype',
+ 'report_type_default' => 'Standard finansiell rapport',
+ 'report_type_audit' => 'Transaksjonshistorikk (revisjon)',
+ 'report_type_category' => 'Kategorirapport',
+ 'report_type_budget' => 'Budsjettrapport',
+ 'report_type_tag' => 'Taggrapport',
+ 'report_type_account' => 'Rapport for kostnader / inntekter',
+ 'more_info_help' => 'Mer informasjon om disse rapportene finner du på hjelpesidene. Trykk på (?) -ikonet øverst til høyre.',
+ 'report_included_accounts' => 'Inkluderte kontoer',
+ 'report_date_range' => 'Datointervall',
+ 'report_preset_ranges' => 'Forhåndsinnstilte områder',
+ 'shared' => 'Delt',
+ 'fiscal_year' => 'Regnskapsår',
+ 'income_entry' => 'Inntekter fra konto ":name" mellom :start og :end',
+ 'expense_entry' => 'Utgifter til konto ":name" mellom :start og :end',
+ 'category_entry' => 'Utgifter i kategori ":name" mellom :start og :end',
+ 'budget_spent_amount' => 'Utgifter i budsjett ":budget" mellom :start og :end',
+ 'balance_amount' => 'Utgifter i budsjett ":budget" betalt fra konto ":account" mellom :start og :end',
+ 'no_audit_activity' => 'Ingen aktivitet er registrert på konto :account_name mellom :start og :end.',
+ 'audit_end_balance' => 'Kontobalanse fra :account_name ved slutten av :end var: :balance',
+ 'reports_extra_options' => 'Ekstra alternativer',
+ 'report_has_no_extra_options' => 'Denne rapporten har ingen ekstra alternativer',
+ 'reports_submit' => 'Vis rapport',
+ 'end_after_start_date' => 'Sluttdato for rapport må være etter startdato.',
+ 'select_category' => 'Velg kategori(er)',
+ 'select_budget' => 'Velg budsjett(er).',
+ 'select_tag' => 'Velg tagg(er).',
+ 'income_per_category' => 'Inntekter per kategori',
+ 'expense_per_category' => 'Utgifter per kategori',
+ 'expense_per_budget' => 'Utgifter per budsjett',
+ 'income_per_account' => 'Inntekter per konto',
+ 'expense_per_account' => 'Utgifter per konto',
+ 'expense_per_tag' => 'Utgifter per tagg',
+ 'income_per_tag' => 'Inntekter per tagg',
+ 'include_expense_not_in_budget' => 'Inkluderte utgifter ikke med i de valgte budsjettene',
+ 'include_expense_not_in_account' => 'Inkluderte utgifter ikke med i de valgte kontoene',
+ 'include_expense_not_in_category' => 'Inkluderte utgifter ikke med i de valgte kategoriene',
+ 'include_income_not_in_category' => 'Inkluderte inntekter ikke med i de valgte kategoriene',
+ 'include_income_not_in_account' => 'Inkluderte inntekter ikke med i de valgte kontoene',
+ 'include_income_not_in_tags' => 'Inkludert inntekt ikke i de valgte tag\'ene',
+ 'include_expense_not_in_tags' => 'Inkluderte utgifter ikke med i de valgte tag\'ene',
+ 'everything_else' => 'Alt annet',
+ 'income_and_expenses' => 'Inntekter og utgifter',
+ 'spent_average' => 'Brukt (gjennomsnittlig)',
+ 'income_average' => 'Inntekt (gjennomsnittlig)',
+ 'transaction_count' => 'Transaksjonsantall',
+ 'average_spending_per_account' => 'Gjennomsnittlig bruk per konto',
+ 'average_income_per_account' => 'Gjennomsnittlig inntekt per konto',
+ 'total' => 'Totalt',
+ 'description' => 'Beskrivelse',
+ 'sum_of_period' => 'Sum for perioden',
+ 'average_in_period' => 'Gjennomsnitt for periode',
+ 'account_role_defaultAsset' => 'Standard aktivakonto',
+ 'account_role_sharedAsset' => 'Delt aktivakonto',
+ 'account_role_savingAsset' => 'Sparekonto',
+ 'account_role_ccAsset' => 'Kredittkort',
+ 'account_role_cashWalletAsset' => 'Kontant lommebok',
+ 'budget_chart_click' => 'Vennligst trykk på et budsjettnavn i tabellen ovenfor for å se et diagram.',
+ 'category_chart_click' => 'Vennligst trykk på et kategorinavn i tabellen ovenfor for å se et diagram.',
+ 'in_out_accounts' => 'Tjent og brukt pr. kombinasjon',
+ 'in_out_per_category' => 'Tjent og brukt pr. kategori',
+ 'out_per_budget' => 'Brukt per budsjett',
+ 'select_expense_revenue' => 'Velg utgifts-/inntektskonto',
+ 'multi_currency_report_sum' => 'Siden denne listen inneholder kontoer med forskjellige valutaer vil summen mest sannsynlig ikke gi noen mening. Rapporten vil alltid falle tilbake på din standarde valuta.',
+ 'sum_in_default_currency' => 'Summen vil alltid be i din standard valuta.',
+ 'net_filtered_prefs' => 'Dette diagrammet vil aldri inkludere kontoer som ikke har "Inkluder i nettoverdi"-valget avkrysset.',
+
+ // charts:
+ 'chart' => 'Diagram',
+ 'month' => 'Måned',
+ 'budget' => 'Busjett',
+ 'spent' => 'Brukt',
+ 'spent_in_budget' => 'Brukt i budsjett',
+ 'left_to_spend' => 'Igjen å bruke',
+ 'earned' => 'Opptjent',
+ 'overspent' => 'Overforbruk',
+ 'left' => 'Gjenværende',
+ 'max-amount' => 'Maksimumsbeløp',
+ 'min-amount' => 'Minimumsbeløp',
+ 'journal-amount' => 'Gjeldende regningspost',
+ 'name' => 'Navn',
+ 'date' => 'Dato',
+ 'paid' => 'Betalt',
+ 'unpaid' => 'Ikke betalt',
+ 'day' => 'Dag',
+ 'budgeted' => 'Budsjettert',
+ 'period' => 'Periode',
+ 'balance' => 'Saldo',
+ 'sum' => 'Sum',
+ 'summary' => 'Oppsummering',
+ 'average' => 'Gjennomsnitt',
+ 'balanceFor' => 'Saldo for :name',
+ 'no_tags_for_cloud' => 'Ingen tags for å generere sky',
+ 'tag_cloud' => 'Tag sky',
+
+ // piggy banks:
+ 'add_money_to_piggy' => 'Legg til penger i sparegris ":name"',
+ 'piggy_bank' => 'Sparegris',
+ 'new_piggy_bank' => 'Ny sparegris',
+ 'store_piggy_bank' => 'Opprett ny sparegris',
+ 'stored_piggy_bank' => 'Lagre ny sparegris ":name"',
+ 'account_status' => 'Kontostatus',
+ 'left_for_piggy_banks' => 'Gjenstår i sparegriser',
+ 'sum_of_piggy_banks' => 'Sum i sparegriser',
+ 'saved_so_far' => 'Spart til nå',
+ 'left_to_save' => 'Igjen å spare',
+ 'suggested_amount' => 'Foreslått månedlig beløp for å spare',
+ 'add_money_to_piggy_title' => 'Legg til penger i sparegris ":name"',
+ 'remove_money_from_piggy_title' => 'Fjern penger fra sparegris ":name"',
+ 'add' => 'Legg til',
+ 'no_money_for_piggy' => 'Du har ikke flere penger å legge i denne sparegrisen.',
+ 'suggested_savings_per_month' => 'Foreslått pr. måned',
+
+ 'remove' => 'Fjern',
+ 'max_amount_add' => 'Maksimumsbeløpet du kan legge til er',
+ 'max_amount_remove' => 'Maksimumsbeløpet du kan fjerne er',
+ 'update_piggy_button' => 'Oppdater sparegris',
+ 'update_piggy_title' => 'Oppdater sparegris ":name"',
+ 'updated_piggy_bank' => 'Oppdatert sparegris ":name"',
+ 'details' => 'Detaljer',
+ 'events' => 'Hendelser',
+ 'target_amount' => 'Målbeløp',
+ 'start_date' => 'Startdato',
+ 'no_start_date' => 'Ingen start dato',
+ 'target_date' => 'Måldato',
+ 'no_target_date' => 'Ingen måldato',
+ 'table' => 'Tabell',
+ 'delete_piggy_bank' => 'Slett sparegris ":name"',
+ 'cannot_add_amount_piggy' => 'Kan ikke legge :amount til i ":name".',
+ 'cannot_remove_from_piggy' => 'Kan ikke fjerne :amount fra ":name".',
+ 'deleted_piggy_bank' => 'Slettet sparegris ":name"',
+ 'added_amount_to_piggy' => 'La til :amount i ":name"',
+ 'removed_amount_from_piggy' => 'Fjernet :amount fra ":name"',
+
+ // tags
+ 'delete_tag' => 'Slett tag ":tag"',
+ 'deleted_tag' => 'Slettet tag ":tag"',
+ 'new_tag' => 'Lag ny tag',
+ 'edit_tag' => 'Rediger tag ":tag"',
+ 'updated_tag' => 'Oppdatert tag ":tag"',
+ 'created_tag' => 'Tag ":tag" er opprettet!',
+
+ 'transaction_journal_information' => 'Transaksjonsinformasjon',
+ 'transaction_journal_meta' => 'Metainformasjon',
+ 'total_amount' => 'Totalbeløp',
+ 'number_of_decimals' => 'Antall desimaler',
+
+ // administration
+ 'administration' => 'Administrasjon',
+ 'user_administration' => 'Brukeradministrasjon',
+ 'list_all_users' => 'Alle brukere',
+ 'all_users' => 'Alle brukere',
+ 'instance_configuration' => 'Konfigurasjon',
+ 'firefly_instance_configuration' => 'Konfigurasjonsalternativer for Firefly III',
+ 'setting_single_user_mode' => 'Enkeltbrukermodus',
+ 'setting_single_user_mode_explain' => 'Som standard godtar Firefly III bare en (1) registrering: deg. Dette er et sikkerhetstiltak, som hindrer andre i å bruke din instans hvis du ikke tillater dem det. Fremtidige registreringer er blokkert. Når du krysser av denne ruten kan andre bruke din forekomst, forutsatt at de kan nå serveren (når den er koblet til Internett).',
+ 'store_configuration' => 'Lagre konfigurasjon',
+ 'single_user_administration' => 'Brukeradministrasjon for :email',
+ 'edit_user' => 'Rediger bruker :email',
+ 'hidden_fields_preferences' => 'Ikke alle feltene er synlige akkurat nå. Du må aktivere dem under innstillinger.',
+ 'user_data_information' => 'Brukerdata',
+ 'user_information' => 'Brukerinformasjon',
+ 'total_size' => 'totalstørrelse',
+ 'budget_or_budgets' => 'budsjett',
+ 'budgets_with_limits' => 'budsjett med konfigurert beløp',
+ 'nr_of_rules_in_total_groups' => ':count_rules regler i :count_groups regel gruppe(r)',
+ 'tag_or_tags' => 'tag(s)',
+ 'configuration_updated' => 'Konfigurasjonen er oppdatert',
+ 'setting_is_demo_site' => 'Demo nettsted',
+ 'setting_is_demo_site_explain' => 'Hvis du avhuker denne boksen, vil installasjonen oppføre seg som om det er en demo site, som kan ha rare bivirkninger.',
+ 'block_code_bounced' => 'Epostmelding(er) kunne ikke leveres',
+ 'block_code_expired' => 'Demo-konto utløpt',
+ 'no_block_code' => 'Ingen grunn for utestengelse eller brukeren er ikke utestengt',
+ 'block_code_email_changed' => 'Brukeren har ikke bekreftet ny e-postadresse ennå',
+ 'admin_update_email' => 'I motsetning til profilsiden, vil brukeren IKKE bli varslet om at e-postadressen er endret!',
+ 'update_user' => 'Oppdater bruker',
+ 'updated_user' => 'Brukerdata er endret.',
+ 'delete_user' => 'Slett bruker :email',
+ 'user_deleted' => 'Brukeren er slettet',
+ 'send_test_email' => 'Send test-epostmelding',
+ 'send_test_email_text' => 'For å se om installasjonen er kapabel til å sende mail, vennligst trykk på denne knappen. Du vil ikke se en feilmelding her, (hvis det kommer en) kun logg filene som vil vise feilmeldinger. Du kan trykke på denne knappen så mange ganger du ønsker, det er ingen spam kontroll. Meldingen vil bli sent til :email
og bør ankomme fort.',
+ 'send_message' => 'Send melding',
+ 'send_test_triggered' => 'Test ble utløst. Sjekk innboksen din og loggfilene.',
+
+ // links
+ 'journal_link_configuration' => 'Konfigurasjon av transaksjonslenker',
+ 'create_new_link_type' => 'Opprett ny lenktype',
+ 'store_new_link_type' => 'Lagre ny koblingstype',
+ 'update_link_type' => 'Oppdater koblingstype',
+ 'edit_link_type' => 'Rediger lenketype ":name"',
+ 'updated_link_type' => 'Oppdatert lenketype ":name"',
+ 'delete_link_type' => 'Slett lenketype ":name"',
+ 'deleted_link_type' => 'Slettet lenketype ":name"',
+ 'stored_new_link_type' => 'Lagre ny lenketype ":name"',
+ 'cannot_edit_link_type' => 'Kan ikke redigere lenketype ":name"',
+ 'link_type_help_name' => 'Dvs. "Duplikater"',
+ 'link_type_help_inward' => 'Dvs. "duplikater"',
+ 'link_type_help_outward' => 'Dvs. "dupliseres av"',
+ 'save_connections_by_moving' => 'Lagre koblingen mellom disse transaksjonene ved å flytte dem til en annen lenktype:',
+ 'do_not_save_connection' => '(ikke lagre kobling)',
+ 'link_transaction' => 'Sammenkoble transaksjon',
+ 'link_to_other_transaction' => 'Koble denne transaksjonen til en annen transaksjon',
+ 'select_transaction_to_link' => 'Velg en transaksjon å koble til denne transaksjonen',
+ 'this_transaction' => 'Denne transaksjonen',
+ 'transaction' => 'Transaksjon',
+ 'comments' => 'Kommentarer',
+ 'to_link_not_found' => 'Hvis transaksjonen du vil koble til ikke vises, kan du skrive inn en ID.',
+ 'invalid_link_selection' => 'Kan ikke koble disse transaksjonene sammen',
+ 'journals_linked' => 'Transaksjonene er knyttet sammen.',
+ 'journals_error_linked' => 'Disse transaksjonene er allerede knyttet sammen.',
+ 'journals_link_to_self' => 'Du kan ikke koble en transaksjon til seg selv',
+ 'journal_links' => 'Transaksjonskoblinger',
+ 'this_withdrawal' => 'Dette uttaket',
+ 'this_deposit' => 'Dette innskuddet',
+ 'this_transfer' => 'Denne overføringen',
+ 'overview_for_link' => 'Oversikt for linktype ":name"',
+ 'source_transaction' => 'Kildetransaksjon',
+ 'link_description' => 'Lenkebeskrivelse',
+ 'destination_transaction' => 'Destinasjonstransaksjon',
+ 'delete_journal_link' => 'Slett koblingen mellom :source og :destination',
+ 'deleted_link' => 'Slettet kobling',
+
+ // link translations:
+ 'Paid_name' => 'Betalt',
+ 'Refund_name' => 'Refusjon',
+ 'Reimbursement_name' => 'Tilbakebetaling',
+ 'Related_name' => 'Relatert',
+ 'relates to_inward' => 'relatert til',
+ 'is (partially) refunded by_inward' => 'er (delvis) refundert av',
+ 'is (partially) paid for by_inward' => 'er (delvis) betalt av',
+ 'is (partially) reimbursed by_inward' => 'er (delvis) tilbakebetalt av',
+ 'inward_transaction' => 'Innlands transaksjon',
+ 'outward_transaction' => 'Utenland transaksjon',
+ 'relates to_outward' => 'relatert til',
+ '(partially) refunds_outward' => '(delvise) refusjoner',
+ '(partially) pays for_outward' => 'betaler (delvis) for',
+ '(partially) reimburses_outward' => 'tilbakebetaler (delvis)',
+
+ // split a transaction:
+ 'splits' => 'Deler opp',
+ 'add_another_split' => 'Legg til en oppdeling til',
+ 'split-transactions' => 'Del transaksjoner',
+ 'do_split' => 'Gjør en oppdeling',
+ 'split_this_withdrawal' => 'Del dette uttaket',
+ 'split_this_deposit' => 'Del dette innskuddet',
+ 'split_this_transfer' => 'Del denne overføringen',
+ 'cannot_edit_multiple_source' => 'Du kan ikke redigere splittet transaksjon #:id med beskrivelse ":description" fordi den inneholder flere kontokilder.',
+ 'cannot_edit_multiple_dest' => 'Du kan ikke redigere splittet transaksjon #:id med beskrivelse ":description" fordi den inneholder flere kontodestinasjoner.',
+ 'cannot_edit_reconciled' => 'Du kan ikke redigere transaksjon #:id med beskrivelse ":description" fordi den er blitt merket som rekonsiliert (behandlet).',
+ 'cannot_edit_opening_balance' => 'Du kan ikke redigere åpningssaldoen til en konto.',
+ 'no_edit_multiple_left' => 'Du har ikke valgt en tillatt transaksjon for redigering.',
+ 'cannot_convert_split_journal' => 'Kan ikke konvertere en splittet transaksjon',
+
+ // Import page (general strings only)
+ 'import_index_title' => 'Importer transaksjoner til Firefly III',
+ 'import_data' => 'Importer data',
+ 'import_transactions' => 'Importer transaksjoner',
+
+ // sandstorm.io errors and messages:
+ 'sandstorm_not_available' => 'Denne funksjonen er ikke tilgjengelig når du bruker Firefly III i et Sandstorm.io miljø.',
+
+ // empty lists? no objects? instructions:
+ 'no_accounts_title_asset' => 'La oss opprette en aktivakonto!',
+ 'no_accounts_intro_asset' => 'Du har ingen aktivakontoer ennå. Aktivakontoer er hovedkontoene dine: brukskonto, sparekonto, delt konto eller til og med kredittkortet ditt.',
+ 'no_accounts_imperative_asset' => 'For å begynne å bruke Firefly III må du opprette minst én aktivakonto. La oss gjøre det nå:',
+ 'no_accounts_create_asset' => 'Opprett en aktivakonto',
+ 'no_accounts_title_expense' => 'La oss lage en utgiftskonto!',
+ 'no_accounts_intro_expense' => 'Du har ingen utgiftskonto ennå. Utgiftskontoer er de stedene du bruker penger, for eksempel butikker og supermarkeder.',
+ 'no_accounts_imperative_expense' => 'Utgiftskontoer opprettes automatisk når du oppretter transaksjoner, men du kan også opprette dem manuelt, hvis du vil. La oss lage en nå:',
+ 'no_accounts_create_expense' => 'Opprett en utgiftskonto',
+ 'no_accounts_title_revenue' => 'La oss opprette en inntektskonto!',
+ 'no_accounts_intro_revenue' => 'Du har ingen inntektskonto ennå. Inntektskontoer er de stedene du mottar penger fra, for eksempel arbeidsgiveren din.',
+ 'no_accounts_imperative_revenue' => 'Inntektsskontoer opprettes automatisk når du oppretter transaksjoner, men du kan også opprette dem manuelt, hvis du vil. La oss lage en nå:',
+ 'no_accounts_create_revenue' => 'Opprett en inntektskonto',
+ 'no_accounts_title_liabilities' => 'La oss lage et lån!',
+ 'no_accounts_intro_liabilities' => 'Du har ingen gjeld ennå. "Gjeld" er kontoer som du registrerer lån og andre former for gjeld på.',
+ 'no_accounts_imperative_liabilities' => 'Du behøver ikke bruke denne funksjonen, men den kan være fornuftig å bruke når du vil ha kontroll på disse tingene.',
+ 'no_accounts_create_liabilities' => 'Opprett gjeld',
+ 'no_budgets_title_default' => 'La oss lage et budsjett',
+ 'no_budgets_intro_default' => 'Du har ingen budsjett ennå. Budsjett brukes til å organisere utgifter i logiske grupper, som du kan sette tak på for å begrense utgifter.',
+ 'no_budgets_imperative_default' => 'Budsjett er et basis verktøy for finansiell administrasjon. La oss lage et nå:',
+ 'no_budgets_create_default' => 'Opprett et budsjett',
+ 'no_categories_title_default' => 'La oss lage en kategori!',
+ 'no_categories_intro_default' => 'Du har ingen kategorier ennå. Kategorier brukes til å finjustere dine transaksjoner og merke dem med sin egen kategori.',
+ 'no_categories_imperative_default' => 'Kategorier opprettes automatisk når du oppretter transaksjoner, men du kan opprette en manuelt også. La oss opprette en nå:',
+ 'no_categories_create_default' => 'Opprett en kategori',
+ 'no_tags_title_default' => 'La oss lage en tag!',
+ 'no_tags_intro_default' => 'Du har ingen tags ennå. Tags benyttes for å finjustere transaksjoner og lable dem med spesifikke nøkkelord.',
+ 'no_tags_imperative_default' => 'Tags blir opprettet automatisk når du lager transaksjoner, men du kan lage de manuelt også. La oss lage en nå:',
+ 'no_tags_create_default' => 'Opprett tagg',
+ 'no_transactions_title_withdrawal' => 'La oss lage en utgift!',
+ 'no_transactions_intro_withdrawal' => 'Du har ingen utgifter ennå. Du kan legge inn utgifter for å begynne å administrere din økonomi.',
+ 'no_transactions_imperative_withdrawal' => 'Har du brukt penger? Da bør du skrive det ned:',
+ 'no_transactions_create_withdrawal' => 'Opprett en utgift',
+ 'no_transactions_title_deposit' => 'La oss legge inn noen inntekter!',
+ 'no_transactions_intro_deposit' => 'Du har ingen registrert inntekt ennå. Du kan legge inn inntekter for å begynne å administrere din økonomi.',
+ 'no_transactions_imperative_deposit' => 'Har du mottatt penger? Da bør du skrive det ned:',
+ 'no_transactions_create_deposit' => 'Opprett et innskudd',
+ 'no_transactions_title_transfers' => 'La oss legge inn en overføring!',
+ 'no_transactions_intro_transfers' => 'Du har ingen overføringer ennå. Når du flytter penger mellom aktivakontoer, registreres dette som en overføring.',
+ 'no_transactions_imperative_transfers' => 'Har du flyttet penger rundt? Da bør du skrive det ned:',
+ 'no_transactions_create_transfers' => 'Opprett en overføring',
+ 'no_piggies_title_default' => 'La oss lage en sparegris!',
+ 'no_piggies_intro_default' => 'Du har ingen sparegriser ennå. Du kan opprette sparegriser for å forenkle sparing og holde oversikt over hva du sparer til.',
+ 'no_piggies_imperative_default' => 'Har du ting du sparer penger til? Lag en sparegris for å få kontroll på sparingen:',
+ 'no_piggies_create_default' => 'Lag en ny sparegris',
+ 'no_bills_title_default' => 'La oss legge inn en regning!',
+ 'no_bills_intro_default' => 'Du har ingen regninger ennå. Du kan opprette regninger for å holde oversikt over vanlige utgifter, som husleie eller forsikringer.',
+ 'no_bills_imperative_default' => 'Har du regninger som kommer jevnlig? Opprett en regning og for å holde styr på dine betalinger:',
+ 'no_bills_create_default' => 'Opprett en regning',
+
+ // recurring transactions
+ 'recurrences' => 'Gjentakende transaksjoner',
+ 'recurring_calendar_view' => 'Kalender',
+ 'no_recurring_title_default' => 'La oss opprette en gjentakende transaksjon!',
+ 'no_recurring_intro_default' => 'Du har ingen gjentakende transaksjoner ennå. Du kan bruke disse for å få Firefly III til å automatisk opprette transaksjoner for deg.',
+ 'no_recurring_imperative_default' => 'Dette er en ganske avansert funksjon, men det kan være svært nyttig. Husk å lese dokumentasjonen ((?)-ikonet øverst til høyre) før du fortsetter.',
+ 'no_recurring_create_default' => 'Opprett en gjentakende transaksjon',
+ 'make_new_recurring' => 'Opprett en gjentakende transaksjon',
+ 'recurring_daily' => 'Daglig',
+ 'recurring_weekly' => 'Hver uke på :weekday',
+ 'recurring_monthly' => 'Hver måned på :dayOfMonth :weekday',
+ 'recurring_ndom' => 'Hver måned på :dayOfMonth :weekday',
+ 'recurring_yearly' => 'Hvert år den :date',
+ 'overview_for_recurrence' => 'Oversikt for gjentakende transaksjon ":title"',
+ 'warning_duplicates_repetitions' => 'I sjeldne tilfeller vises datoene to ganger i listen. Dette kan skje når flere gjentakelser kolliderer. Firefly III genererer alltid én transaksjon per dag.',
+ 'created_transactions' => 'Relaterte transaksjoner',
+ 'expected_withdrawals' => 'Forventede uttak',
+ 'expected_deposits' => 'Forventede innskudd',
+ 'expected_transfers' => 'Forventede overføringer',
+ 'created_withdrawals' => 'Opprettede uttak',
+ 'created_deposits' => 'Opprettede innskudd',
+ 'created_transfers' => 'Opprettede overføringer',
+ 'created_from_recurrence' => 'Opprettet fra gjentakende transaksjon ":title" (#:id)',
+ 'recurring_never_cron' => 'Det synes at cron jobben som er nødvendig for å støtte gjentakende transaksjoner har aldri kjørt. Dette er selvfølgelig normalt når du nettopp har installert Firefly III, men dette bør settes opp så snart som mulig. Sjekk ut hjelp-sidene ved å bruke (?) -ikonet i øverste høyre hjørne på siden.',
+ 'recurring_cron_long_ago' => 'Det ser ut som det har gått mer enn 36 timer siden cron job\'en for å støtte gjentakende transaksjoner har kjørt. Er du sikker på at den er satt opp riktig? Sjekk ut hjelpe-sidene ved å bruke (?) -ikonet i øverste høyre hjørne på siden.',
+
+ 'recurring_meta_field_tags' => 'Tags',
+ 'recurring_meta_field_notes' => 'Notater',
+ 'recurring_meta_field_bill_id' => 'Regning',
+ 'recurring_meta_field_piggy_bank_id' => 'Sparegris',
+ 'create_new_recurrence' => 'Lag ny gjentakende transaksjon',
+ 'help_first_date' => 'Spesifiser den første forventede gjentakelse, det må være i fremtiden.',
+ 'help_first_date_no_past' => 'Spesifiser den første forventede gjentakelse. Firefly III vil ikke opprette transaksjoner i fortiden.',
+ 'no_currency' => '(ingen valuta)',
+ 'mandatory_for_recurring' => 'Pålagt gjentakelses informasjon',
+ 'mandatory_for_transaction' => 'Pålagt transaksjons informasjon',
+ 'optional_for_recurring' => 'Valgfritt gjentakelses informasjon',
+ 'optional_for_transaction' => 'Valgfritt transaksjons informasjon',
+ 'change_date_other_options' => 'Ved å endre på "første dato" får du flere valg.',
+ 'mandatory_fields_for_tranaction' => 'Verdiene her vil ende opp i transaksjonene som blir opprettet',
+ 'click_for_calendar' => 'Trykk her for å få en kalender som viser deg når transaksjonen vil gjenta seg.',
+ 'repeat_forever' => 'Gjenta for alltid',
+ 'repeat_until_date' => 'Gjenta til dato',
+ 'repeat_times' => 'Gjenta antall ganger',
+ 'recurring_skips_one' => 'Annen hver',
+ 'recurring_skips_more' => 'Hopper over :count forekomster',
+ 'store_new_recurrence' => 'Lagre gjentakende transaksjon',
+ 'stored_new_recurrence' => 'Gjentakende transaksjon ":title" lagret.',
+ 'edit_recurrence' => 'Rediger gjentakende transaksjon ":title"',
+ 'recurring_repeats_until' => 'Gjenta til :date',
+ 'recurring_repeats_forever' => 'Gjenta for alltid',
+ 'recurring_repeats_x_times' => 'Gjenta :count gang(er)',
+ 'update_recurrence' => 'Oppdater gjentakende transaksjon',
+ 'updated_recurrence' => 'Oppdatert gjentakende transaksjon ":title"',
+ 'recurrence_is_inactive' => 'Denne gjentakende transaksjonen er ikke aktiv og vil ikke generere nye transaksjoner.',
+ 'delete_recurring' => 'Slett gjentakende transaksjon ":title"',
+ 'new_recurring_transaction' => 'Opprett gjentakende transaksjon',
+ 'help_weekend' => 'Hva skal Firefly III gjøre når gjentakende transaksjon faller på en Lørdag eller Søndag?',
+ 'do_nothing' => 'Bare opprett transaksjonen',
+ 'skip_transaction' => 'Hopp over forekomsten',
+ 'jump_to_friday' => 'Opprett transaksjonen på foregående Fredag istedet',
+ 'jump_to_monday' => 'Opprett transaksjonen på neste Mandag istedet',
+ 'will_jump_friday' => 'Opprettes på Fredag i stedet for i helgene.',
+ 'will_jump_monday' => 'Opprettes på Mandag i stedet for i helgene.',
+ 'except_weekends' => 'Unntatt helger',
+ 'recurrence_deleted' => 'Gjentakende transaksjon ":title" slettet',
+];
diff --git a/resources/lang/nb_NO/form.php b/resources/lang/nb_NO/form.php
new file mode 100644
index 0000000000..764a2419f9
--- /dev/null
+++ b/resources/lang/nb_NO/form.php
@@ -0,0 +1,259 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ // new user:
+ 'bank_name' => 'Navn på bank',
+ 'bank_balance' => 'Saldo',
+ 'savings_balance' => 'Sparesaldo',
+ 'credit_card_limit' => 'Kredittkortgrense',
+ 'automatch' => 'Finn automatisk',
+ 'skip' => 'Hopp over',
+ 'enabled' => 'Aktivert',
+ 'name' => 'Navn',
+ 'active' => 'Aktiv',
+ 'amount_min' => 'Minimumsbeløp',
+ 'amount_max' => 'Maksimumsbeløp',
+ 'match' => 'Treff på',
+ 'strict' => 'Streng modus',
+ 'repeat_freq' => 'Gjentas',
+ 'journal_currency_id' => 'Valuta',
+ 'currency_id' => 'Valuta',
+ 'transaction_currency_id' => 'Valuta',
+ 'external_ip' => 'Serverens eksterne IP',
+ 'attachments' => 'Vedlegg',
+ 'journal_amount' => 'Beløp',
+ 'journal_source_name' => 'Inntektskonto (kilde)',
+ 'keep_bill_id' => 'Regning',
+ 'journal_source_id' => 'Brukskonto (kilde)',
+ 'BIC' => 'BIC',
+ 'verify_password' => 'Bekreft passordsikkerhet',
+ 'source_account' => 'Kildekonto',
+ 'destination_account' => 'Målkonto',
+ 'journal_destination_id' => 'Brukskonto (destinasjon)',
+ 'asset_destination_account' => 'Destinasjonskonto',
+ 'include_net_worth' => 'Inkluder i formue',
+ 'asset_source_account' => 'Kildekonto',
+ 'journal_description' => 'Beskrivelse',
+ 'note' => 'Notater',
+ 'split_journal' => 'Del opp denne transaksjonen',
+ 'split_journal_explanation' => 'Del denne transaksjonen opp i flere deler',
+ 'currency' => 'Valuta',
+ 'account_id' => 'Aktivakonto',
+ 'budget_id' => 'Busjett',
+ 'openingBalance' => 'Startsaldo',
+ 'tagMode' => 'Taggmodus',
+ 'tag_position' => 'Stedtagg',
+ 'virtualBalance' => 'Virtuell balanse',
+ 'targetamount' => 'Målbeløp',
+ 'accountRole' => 'Kontorolle',
+ 'openingBalanceDate' => 'Startsaldodato',
+ 'ccType' => 'Betalingsplan for kredittkort',
+ 'ccMonthlyPaymentDate' => 'Månedlig betalingsdato for kredittkort',
+ 'piggy_bank_id' => 'Sparegris',
+ 'returnHere' => 'Gå tilbake hit',
+ 'returnHereExplanation' => 'Gå tilbake hit etter lagring for å legge til på nytt.',
+ 'returnHereUpdateExplanation' => 'Gå tilbake hit etter endring.',
+ 'description' => 'Beskrivelse',
+ 'expense_account' => 'Utgiftskonto',
+ 'revenue_account' => 'Inntektskonto',
+ 'decimal_places' => 'Desimaler',
+ 'exchange_rate_instruction' => 'Utenlandske valutaer',
+ 'source_amount' => 'Beløp (kilde)',
+ 'destination_amount' => 'Beløp (destinasjon)',
+ 'native_amount' => 'Opprinnelig beløp',
+ 'new_email_address' => 'Ny epostadresse',
+ 'verification' => 'Bekreftelse',
+ 'api_key' => 'API-nøkkel',
+ 'remember_me' => 'Husk meg',
+ 'liability_type_id' => 'Gjeldstype',
+ 'interest' => 'Rente',
+ 'interest_period' => 'Renteperiode',
+
+ 'source_account_asset' => 'Kildekonto (aktivakonto)',
+ 'destination_account_expense' => 'Destinasjonskonto (utgiftskonto)',
+ 'destination_account_asset' => 'Destinasjonskonto (aktivakonto)',
+ 'source_account_revenue' => 'Kildekonto (inntektskonto)',
+ 'type' => 'Type',
+ 'convert_Withdrawal' => 'Konverter uttak',
+ 'convert_Deposit' => 'Konverter innskudd',
+ 'convert_Transfer' => 'Konverter overføring',
+
+ 'amount' => 'Beløp',
+ 'foreign_amount' => 'Utenlandske beløp',
+ 'existing_attachments' => 'Eksisterende vedlegg',
+ 'date' => 'Dato',
+ 'interest_date' => 'Rentedato',
+ 'book_date' => 'Bokføringsdato',
+ 'process_date' => 'Prosesseringsdato',
+ 'category' => 'Kategori',
+ 'tags' => 'Tagger',
+ 'deletePermanently' => 'Slett permanent',
+ 'cancel' => 'Avbryt',
+ 'targetdate' => 'Måldato',
+ 'startdate' => 'Startdato',
+ 'tag' => 'Tagg',
+ 'under' => 'Under',
+ 'symbol' => 'Symbol',
+ 'code' => 'Kode',
+ 'iban' => 'IBAN',
+ 'accountNumber' => 'Kontonummer',
+ 'creditCardNumber' => 'Kredittkortnummer',
+ 'has_headers' => 'Overskrifter',
+ 'date_format' => 'Datoformat',
+ 'specifix' => 'Bank- eller filspesifikke rettelser',
+ 'attachments[]' => 'Vedlegg',
+ 'store_new_withdrawal' => 'Lagre nytt uttak',
+ 'store_new_deposit' => 'Lagre nytt innskudd',
+ 'store_new_transfer' => 'Lagre ny overføring',
+ 'add_new_withdrawal' => 'Opprett nytt uttak',
+ 'add_new_deposit' => 'Opprett nytt innskudd',
+ 'add_new_transfer' => 'Opprett ny overføring',
+ 'title' => 'Tittel',
+ 'notes' => 'Notater',
+ 'filename' => 'Filnavn',
+ 'mime' => 'Mime-type',
+ 'size' => 'Størrelse',
+ 'trigger' => 'Utløser',
+ 'stop_processing' => 'Stopp prosessering',
+ 'start_date' => 'Startgrense',
+ 'end_date' => 'Sluttgrense',
+ 'export_start_range' => 'Start på eksportgrense',
+ 'export_end_range' => 'Slutt på eksportgrense',
+ 'export_format' => 'Filformat',
+ 'include_attachments' => 'Ta med opplastede vedlegg',
+ 'include_old_uploads' => 'Ta med importert data',
+ 'accounts' => 'Eksporter transaksjoner fra disse kontoene',
+ 'delete_account' => 'Slett konto ":name"',
+ 'delete_bill' => 'Slett regning ":name"',
+ 'delete_budget' => 'Slett budsjett ":name"',
+ 'delete_category' => 'Slett kategori ":name"',
+ 'delete_currency' => 'Slett valuta ":name"',
+ 'delete_journal' => 'Slett transaksjon med beskrivelse ":description"',
+ 'delete_attachment' => 'Slett vedlegg ":name"',
+ 'delete_rule' => 'Slett regel ":title"',
+ 'delete_rule_group' => 'Slett regelgruppe ":title"',
+ 'delete_link_type' => 'Slett lenketype ":name"',
+ 'delete_user' => 'Slett bruker ":email"',
+ 'delete_recurring' => 'Slett gjentakende transaksjon ":title"',
+ 'user_areYouSure' => 'Hvis du sletter brukeren ":email", vil alt bli borte. Det er ikke mulig å angre eller gjenopprette brukeren. Hvis du sletter din egen bruker, vil du miste tilgangen til Firefly III.',
+ 'attachment_areYouSure' => 'Er du sikker på at du vil slette vedlegget ved navn ":name"?',
+ 'account_areYouSure' => 'Er du sikker på at du vil slette brukeren ved navn ":name"?',
+ 'bill_areYouSure' => 'Er du sikker på at du vil slette regningen ved navn ":name"?',
+ 'rule_areYouSure' => 'Er du sikker på at du vil slette regelen ved navn ":title"?',
+ 'ruleGroup_areYouSure' => 'Er du sikker på at du vil slette regelgruppen ved navn ":title"?',
+ 'budget_areYouSure' => 'Er du sikker på at du vil slette budsjettet ved navn ":name"?',
+ 'category_areYouSure' => 'Er du sikker på at du vil slette kategorien ved navn ":name"?',
+ 'recurring_areYouSure' => 'Er du sikker på at du vil slette gjentakende transaksjonen ved navn ":title"?',
+ 'currency_areYouSure' => 'Er du sikker på at du vil slette valutaen ved navn ":name"?',
+ 'piggyBank_areYouSure' => 'Er du sikker på at du vil slette sparegrisen ved navn ":name"?',
+ 'journal_areYouSure' => 'Er du sikker på at du vil slette transaksjonen med beskrivelse ":description"?',
+ 'mass_journal_are_you_sure' => 'Er du sikker på at du vil slette disse transaksjonene?',
+ 'tag_areYouSure' => 'Er du sikker på at du vil slette taggen ":tag"?',
+ 'journal_link_areYouSure' => 'Er du sikker på at du vil slette koblingen mellom :source og :destination?',
+ 'linkType_areYouSure' => 'Er du sikker på at du vil slette koblingstypen ":name" (":inward" / ":outward")?',
+ 'permDeleteWarning' => 'Sletting av data fra Firefly III er permanent, og kan ikke angres.',
+ 'mass_make_selection' => 'Du kan fortsatt forhindre at elementer slettes ved å fjerne avkrysningen.',
+ 'delete_all_permanently' => 'Slett valgte elementer permanent',
+ 'update_all_journals' => 'Oppdater disse transaksjonene',
+ 'also_delete_transactions' => 'Den ene transaksjonen som er koblet til denne kontoen, vil også bli slettet. | Alle :count transaksjoner som er koblet til denne kontoen, slettes også.',
+ 'also_delete_connections' => 'Den ene transaksjonen som er knyttet til denne koblingstypen, vil miste denne forbindelsen. | Alle :count transaksjoner knyttet til denne koblingstypen vil miste forbindelsen.',
+ 'also_delete_rules' => 'Den ene regelen som er knyttet til denne regelgruppen, vil også bli slettet. | Alle de :count reglene som er knyttet til denne regelgruppen slettes også.',
+ 'also_delete_piggyBanks' => 'Den ene sparegrisen som er koblet til denne kontoen, vil også bli slettet. | Alle de :count sparegrisene knyttet til denne kontoen slettes også.',
+ 'bill_keep_transactions' => 'Ingen transaksjoner knyttet til denne regningen blir slettet.|Ingen av de :count transaksjonene knyttet til denne regningen vil bli slettet.',
+ 'budget_keep_transactions' => 'Ingen transaksjoner knyttet til dette budsjettet blir slettet.|Ingen av de :count transaksjonene knyttet til dette budsjettet vil bli slettet.',
+ 'category_keep_transactions' => 'Ingen transaksjoner knyttet til denne kategorien blir slettet.|Ingen av de :count transaksjonene knyttet til denne kategorien vil bli slettet.',
+ 'recurring_keep_transactions' => 'Ingen transaksjoner knyttet til denne gjentakende transaksjonen blir slettet.|Ingen av de :count transaksjonene knyttet til denne gjentakende transaksjonen vil bli slettet.',
+ 'tag_keep_transactions' => 'Ingen transaksjoner knyttet til denne tag blir slettet.|Ingen av de :count transaksjonene knyttet til denne tag vil bli slettet.',
+ 'check_for_updates' => 'Se etter oppdateringer',
+
+ 'email' => 'Epostadresse',
+ 'password' => 'Passord',
+ 'password_confirmation' => 'Passord (gjenta)',
+ 'blocked' => 'Er sperret?',
+ 'blocked_code' => 'Årsak til sperring',
+ 'login_name' => 'Logg inn',
+
+ // import
+ 'apply_rules' => 'Bruk regler',
+ 'artist' => 'Artist',
+ 'album' => 'Album',
+ 'song' => 'Sang',
+
+
+ // admin
+ 'domain' => 'Domene',
+ 'single_user_mode' => 'Deaktiver brukerregistrering',
+ 'is_demo_site' => 'Er demonettsted',
+
+ // import
+ 'import_file' => 'Importer fil',
+ 'configuration_file' => 'Konfigurasjonsfil',
+ 'import_file_type' => 'Importer filtype',
+ 'csv_comma' => 'Et komma (,)',
+ 'csv_semicolon' => 'Et semikolon (;)',
+ 'csv_tab' => 'En tabulator (usynlig)',
+ 'csv_delimiter' => 'CSV-feltskilletegn',
+ 'csv_import_account' => 'Standard importkonto',
+ 'csv_config' => 'CSV-importkonfigurasjon',
+ 'client_id' => 'Klient-ID',
+ 'service_secret' => 'Service-hemmelighet',
+ 'app_secret' => 'App-hemmelighet',
+ 'app_id' => 'App ID',
+ 'secret' => 'Secret',
+ 'public_key' => 'Offentlig nøkkel',
+ 'country_code' => 'Landskode',
+ 'provider_code' => 'Bank eller dataleverandør',
+ 'fints_url' => 'FinTS API URL',
+ 'fints_port' => 'Port',
+ 'fints_bank_code' => 'Bankkode',
+ 'fints_username' => 'Brukernavn',
+ 'fints_password' => 'PIN / Passord',
+ 'fints_account' => 'FinTS konto',
+ 'local_account' => 'Firefly III konto',
+ 'from_date' => 'Dato fra',
+ 'to_date' => 'Dato til',
+
+
+ 'due_date' => 'Forfallsdato',
+ 'payment_date' => 'Betalingsdato',
+ 'invoice_date' => 'Fakturadato',
+ 'internal_reference' => 'Intern referanse',
+ 'inward' => 'Innvendig beskrivelse',
+ 'outward' => 'Utvendig beskrivelse',
+ 'rule_group_id' => 'Regelgruppe',
+ 'transaction_description' => 'Transaksjonsbeskrivelse',
+ 'first_date' => 'Første dato',
+ 'transaction_type' => 'Transaksjonstype',
+ 'repeat_until' => 'Gjenta til',
+ 'recurring_description' => 'Gjentakende transaksjonsbeskrivelse',
+ 'repetition_type' => 'Type repetisjon',
+ 'foreign_currency_id' => 'Utenlandsk valuta',
+ 'repetition_end' => 'Repetisjon slutter',
+ 'repetitions' => 'Repetisjoner',
+ 'calendar' => 'Kalender',
+ 'weekend' => 'Helg',
+ 'client_secret' => 'Client Secret',
+
+];
diff --git a/resources/lang/nb_NO/import.php b/resources/lang/nb_NO/import.php
new file mode 100644
index 0000000000..24548fa9ef
--- /dev/null
+++ b/resources/lang/nb_NO/import.php
@@ -0,0 +1,309 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ // ALL breadcrumbs and subtitles:
+ 'index_breadcrumb' => 'Importer data til Firefly III',
+ 'prerequisites_breadcrumb_fake' => 'Forutsetninger for falsk import leverandør',
+ 'prerequisites_breadcrumb_spectre' => 'Forutsetninger for Spectre',
+ 'prerequisites_breadcrumb_bunq' => 'Forutsetninger for Bunq',
+ 'prerequisites_breadcrumb_ynab' => 'Forutsetninger for YNAB',
+ 'job_configuration_breadcrumb' => 'Konfigurasjon for ":key"',
+ 'job_status_breadcrumb' => 'Importstatus for ":key"',
+ 'disabled_for_demo_user' => 'deaktivert i demo',
+
+ // index page:
+ 'general_index_intro' => 'Velkommen til Firefly IIIs importrutine. Det er flere måter å importere data på i Firefly III, vist her som knapper.',
+
+ // import provider strings (index):
+ 'button_fake' => 'Utfør fake import',
+ 'button_file' => 'Importer fil',
+ 'button_bunq' => 'Importer fra bunq',
+ 'button_spectre' => 'Importer med Spectre',
+ 'button_plaid' => 'Importer med Plaid',
+ 'button_yodlee' => 'Importer med Yodlee',
+ 'button_quovo' => 'Importer med Quovo',
+ 'button_ynab' => 'Importer fra You Need A Budget',
+ 'button_fints' => 'Importer med FinTS',
+
+
+ // prerequisites box (index)
+ 'need_prereq_title' => 'Import forutsetninger',
+ 'need_prereq_intro' => 'Noen import metoder krever tilsyn før de kan bli benyttet. F. eks. at de krever en API nøkkel eller annen form for autentisering. DU kan konfigurere de her. Ikonet angir om forutsetningene har blitt oppfylt.',
+ 'do_prereq_fake' => 'Forutsetninger for falsk leverandør',
+ 'do_prereq_file' => 'Forutsetninger for fil import',
+ 'do_prereq_bunq' => 'Forutsetninger for import fra bunq',
+ 'do_prereq_spectre' => 'Forutsetninger for import fra Spectre',
+ 'do_prereq_plaid' => 'Forutsetninger for import fra Plaid',
+ 'do_prereq_yodlee' => 'Forutsetninger for import fra Yodlee',
+ 'do_prereq_quovo' => 'Forutsetninger for import fra Quovo',
+ 'do_prereq_ynab' => 'Forutsetninger for import fra YNAB',
+
+ // prerequisites:
+ 'prereq_fake_title' => 'Forutsetninger for import fra falsk leverandør',
+ 'prereq_fake_text' => 'Denne falske leverandøren krever en falsk API-nøkkel. Det må være 32 tegn. Du kan bruke denne: 123456789012345678901234567890AA',
+ 'prereq_spectre_title' => 'Forutsetninger for å importere med Spectre API',
+ 'prereq_spectre_text' => 'For å importere data ved hjelp av Spectre API (v4), må du angi Firefly III to nøkkel verdier. De kan finnes på secrets page.',
+ 'prereq_spectre_pub' => 'Spectre API må også vite fellesnøkkelen du ser nedenfor. Uten den, vil den ikke gjenkjenne deg. Angi denne offentlige nøkkelen fra din secrets page.',
+ 'prereq_bunq_title' => 'Forutsetninger for å importere med bunq',
+ 'prereq_bunq_text' => 'For å importere fra bunq må du skaffe en API-nøkkel. Du kan gjøre dette gjennom appen. Vær oppmerksom på at importfunksjonen i bunq er i BETA. Den har kun blitt testet mot sandbox API\'et.',
+ 'prereq_bunq_ip' => 'bunq krever din eksterne (internett) IP-adresse. Firefly III har forsøkt å fylle dette ved å bruke ipify service. Kontroller at IP-adressen er riktig, hvis ikke vil importen mislykkes.',
+ 'prereq_ynab_title' => 'Forutsetninger for import fra YNAB',
+ 'prereq_ynab_text' => 'For å kunne laste ned transaksjoner fra YNAB, vennligst opprett en ny applikasjon på din Developer Settings Page og angi client ID og nøkkel/secret fra denne siden.',
+ 'prereq_ynab_redirect' => 'For å fullføre konfigurasjonen, oppgi følgende URL på Developer Settings Page under "Redirect URI(s)".',
+ 'callback_not_tls' => 'Firefly III har oppdaget følgende callback URI. Det ser ut som serveren din er ikke konfigurert til å godta TLS-tilkoblinger (https). YNAB vil ikke godta denne URI. Du kan fortsette med importen (fordi Firefly III kan ta feil), men vær obs.',
+ // prerequisites success messages:
+ 'prerequisites_saved_for_fake' => 'Falsk API-nøkkel lagret riktig!',
+ 'prerequisites_saved_for_spectre' => 'App ID og secret lagret!',
+ 'prerequisites_saved_for_bunq' => 'API-nøkkel og IP lagret!',
+ 'prerequisites_saved_for_ynab' => 'YNAB klient-ID og secret lagret!',
+
+ // job configuration:
+ 'job_config_apply_rules_title' => 'Jobb konfigurasjon - iverksette dine regler?',
+ 'job_config_apply_rules_text' => 'Når den falske leverandøren har kjørt, kan reglene bli brukt på transaksjonene. Dette vil legge til ekstra tid på import jobben.',
+ 'job_config_input' => 'Ditt innspill',
+ // job configuration for the fake provider:
+ 'job_config_fake_artist_title' => 'Skriv inn albumnavn',
+ 'job_config_fake_artist_text' => 'Noen import rutiner har konfigurasjonstrinn må du gå gjennom. I den falske import leverandøren må du svare på noen rare spørsmål. I dette tilfellet angi "David Bowie" for å fortsette.',
+ 'job_config_fake_song_title' => 'Skriv inn sangtittel',
+ 'job_config_fake_song_text' => 'Nevn sangen "Gylne år" for å fortsette med den falske importen.',
+ 'job_config_fake_album_title' => 'Skriv inn albumnavn',
+ 'job_config_fake_album_text' => 'Noen import rutiner krever tilleggsdata midt i import prosessen. I den falske import leverandøren må du svare noen rare spørsmål. Angi «Station to Station» for å fortsette.',
+ // job configuration form the file provider
+ 'job_config_file_upload_title' => 'Importoppsett (1/4) - Last opp filen din',
+ 'job_config_file_upload_text' => 'Denne rutinen vil hjelpe deg med å importere filer fra banken din til Firefly III. ',
+ 'job_config_file_upload_help' => 'Velg fil. Husk å kontroller at filen er UTF-8-kodet.',
+ 'job_config_file_upload_config_help' => 'Hvis du tidligere har importert data til Firefly III, kan du ha en konfigurasjonsfil liggende som har forhåndsfylte konfigurasjonsverdier for deg. For enkelte banker har andre brukere lagt ut konfigurasjonsfiler, se konfigurasjonen fil',
+ 'job_config_file_upload_type_help' => 'Velg type fil du vil laste opp',
+ 'job_config_file_upload_submit' => 'Last opp filer',
+ 'import_file_type_csv' => 'CSV (kommaseparerte verdier)',
+ 'import_file_type_ofx' => 'OFX',
+ 'file_not_utf8' => 'Filen du har lastet opp er ikke kodet som UTF-8 eller ASCII. Firefly III kan ikke håndtere slike filer. Bruk Notepad ++ eller Sublime for å konvertere filen til UTF-8.',
+ 'job_config_uc_title' => 'Importoppsett (2/4) - Grunnleggende fil oppsett',
+ 'job_config_uc_text' => 'For å kunne importere filen riktig vennligst valider alternativene nedenfor.',
+ 'job_config_uc_header_help' => 'Merk av denne boksen hvis den første raden i CSV-filen din består av kolonnetitler.',
+ 'job_config_uc_date_help' => 'Datoformat for tiden i filen. Bruk formatet denne side angir. Standardverdien vil parse datoene til å se slik ut: :dateExample.',
+ 'job_config_uc_delimiter_help' => 'Velg feltskilletegnet som brukes i filen din. Hvis du ikke er sikker så er komma det tryggeste alternativet.',
+ 'job_config_uc_account_help' => 'Hvis filen IKKE inneholder informasjon om dine bruks/aktiva konto(er), bruk denne rullegardinlisten til å velge hvilken konto transaksjonene i filen tilhører.',
+ 'job_config_uc_apply_rules_title' => 'Utfør regler',
+ 'job_config_uc_apply_rules_text' => 'Utfører dine regler på alle importerte transaksjoner. Merk at dette gjør importen betydelig tregere.',
+ 'job_config_uc_specifics_title' => 'Bank-spesifikke alternativer',
+ 'job_config_uc_specifics_txt' => 'Enkelte banker gir dårlig formaterte filer. Firefly III kan fikse disse automatisk. Hvis banken din leverer slike filer men er ikke oppført her, vennligst lag en sak på GitHub.',
+ 'job_config_uc_submit' => 'Fortsett',
+ 'invalid_import_account' => 'Du har valgt en ugyldig konto å importere til.',
+ 'import_liability_select' => 'Gjeld',
+ // job configuration for Spectre:
+ 'job_config_spectre_login_title' => 'Velg innlogging',
+ 'job_config_spectre_login_text' => 'Firefly III har funnet :count eksisterende innlogginger på din Spectre konto. Hvilken vil du importere fra?',
+ 'spectre_login_status_active' => 'Aktiv',
+ 'spectre_login_status_inactive' => 'Inaktiv',
+ 'spectre_login_status_disabled' => 'Deaktivert',
+ 'spectre_login_new_login' => 'Logg inn med annen bank, eller en av disse bankene med forskjellig legitimasjon.',
+ 'job_config_spectre_accounts_title' => 'Velg kontoer å importere fra',
+ 'job_config_spectre_accounts_text' => 'Du har valgt ":name" (:country). Du har :count tilgjengelige kontorer fra denne leverandøren. Velg Firefly III bruks/aktiva kontoen(e) der transaksjonene fra disse kontoene skal lagres. Husk, for å importere data fra Firefly III kontoen og ":name"-kontoen må begge ha samme valuta.',
+ 'spectre_do_not_import' => '(Ikke importer)',
+ 'spectre_no_mapping' => 'Du har ikke valgt noen kontoer å importere fra.',
+ 'imported_from_account' => 'Importert fra ":account"',
+ 'spectre_account_with_number' => 'Konto :number',
+ 'job_config_spectre_apply_rules' => 'Bruk regler',
+ 'job_config_spectre_apply_rules_text' => 'Som standard vil reglene brukes på transaksjoner som er opprettet under denne importrutinen. Hvis du ikke ønsker at dette skal skje må du avhuke valget.',
+
+ // job configuration for bunq:
+ 'job_config_bunq_accounts_title' => 'bunq-kontoer',
+ 'job_config_bunq_accounts_text' => 'Dette er kontoene knyttet til din bunq-konto. Vennligst velg kontoene du vil importere fra, og hvilken konto transaksjonene skal importeres til.',
+ 'bunq_no_mapping' => 'Du har ikke valgt noen kontoer.',
+ 'should_download_config' => 'Du bør laste ned konfigurasjonen filen for denne jobben. Dette vil gjøre fremtidige import jobber lettere.',
+ 'share_config_file' => 'Hvis du har importert data fra en offentlig bank bør du dele din konfigurasjons fil slik at det blir lettere for andre brukere å importere sin data. Å dele din konfigurasjons fil vil ikke eksponere dine finanisielle data eller verdier.',
+ 'job_config_bunq_apply_rules' => 'Bruk regler',
+ 'job_config_bunq_apply_rules_text' => 'Som standard vil reglene brukes på transaksjoner som er opprettet under denne importrutinen. Hvis du ikke ønsker at dette skal skje må du avhuke valget.',
+ 'bunq_savings_goal' => 'Spare mål: :amount (:percentage%)',
+ 'bunq_account_status_CANCELLED' => 'Stengt bunq konto',
+
+ 'ynab_account_closed' => 'Konto er stengt!',
+ 'ynab_account_deleted' => 'Konto er slettet!',
+ 'ynab_account_type_savings' => 'sparekonto',
+ 'ynab_account_type_checking' => 'brukskonto',
+ 'ynab_account_type_cash' => 'kontantkonto',
+ 'ynab_account_type_creditCard' => 'kredittkort',
+ 'ynab_account_type_lineOfCredit' => 'kredittgrense',
+ 'ynab_account_type_otherAsset' => 'annen aktivakonto',
+ 'ynab_account_type_otherLiability' => 'andre gjeld',
+ 'ynab_account_type_payPal' => 'PayPal',
+ 'ynab_account_type_merchantAccount' => 'selgerkonto',
+ 'ynab_account_type_investmentAccount' => 'investerings konto',
+ 'ynab_account_type_mortgage' => 'pant',
+ 'ynab_do_not_import' => '(Ikke importer)',
+ 'job_config_ynab_apply_rules' => 'Bruk regler',
+ 'job_config_ynab_apply_rules_text' => 'Som standard vil reglene brukes på transaksjoner som er opprettet under denne importrutinen. Hvis du ikke ønsker at dette skal skje må du avhuke valget.',
+
+ // job configuration for YNAB:
+ 'job_config_ynab_select_budgets' => 'Velg ditt budsjett',
+ 'job_config_ynab_select_budgets_text' => 'Du har :count budsjett lagret hos YNAB. Vennligst velg en som Firefly III kan importere transaksjonene til.',
+ 'job_config_ynab_no_budgets' => 'Det er ingen budsjett tilgjengelig å importere fra.',
+ 'ynab_no_mapping' => 'Du har ikke valgt noen kontoer å importere fra.',
+ 'job_config_ynab_bad_currency' => 'Du kan ikke importere fra følgende budsjett, fordi du har ingen kontoer med samme valuta som disse budsjettene.',
+ 'job_config_ynab_accounts_title' => 'Velg konto',
+ 'job_config_ynab_accounts_text' => 'Du har følgende kontoer tilgjengelig i dette budsjettet. Vennligst velg hvilken konto du vil importere og hvor transaksjonene skal lagres.',
+
+
+ // keys from "extra" array:
+ 'spectre_extra_key_iban' => 'IBAN',
+ 'spectre_extra_key_swift' => 'SWIFT',
+ 'spectre_extra_key_status' => 'Status',
+ 'spectre_extra_key_card_type' => 'Korttype',
+ 'spectre_extra_key_account_name' => 'Kontonavn',
+ 'spectre_extra_key_client_name' => 'Klientnavn',
+ 'spectre_extra_key_account_number' => 'Kontonummer',
+ 'spectre_extra_key_blocked_amount' => 'Blokkert beløp',
+ 'spectre_extra_key_available_amount' => 'Tilgjengelig beløp',
+ 'spectre_extra_key_credit_limit' => 'Kredittgrense',
+ 'spectre_extra_key_interest_rate' => 'Rentesats',
+ 'spectre_extra_key_expiry_date' => 'Utløpsdato',
+ 'spectre_extra_key_open_date' => 'Åpningsdato',
+ 'spectre_extra_key_current_time' => 'Gjeldende tid',
+ 'spectre_extra_key_current_date' => 'Gjeldende dato',
+ 'spectre_extra_key_cards' => 'Kort',
+ 'spectre_extra_key_units' => 'Enheter',
+ 'spectre_extra_key_unit_price' => 'Enhetspris',
+ 'spectre_extra_key_transactions_count' => 'Transaksjonsantall',
+
+ //job configuration for finTS
+ 'fints_connection_failed' => 'En feil oppsto ved tilkobling til din bank. Vennligst verifiser at all data du har skrevet inn er korrekt. Feilmelding: :originalError',
+
+ 'job_config_fints_url_help' => 'F.eks. https://banking-dkb.s-fints-pt-dkb.de/fints30',
+ 'job_config_fints_username_help' => 'For mange banker er dette konto nummeret ditt.',
+ 'job_config_fints_port_help' => 'Standard porten er 443.',
+ 'job_config_fints_account_help' => 'Velg bank kontoen du ønsker å importere transaksjoner til.',
+ 'job_config_local_account_help' => 'Velg Firefly III kontoen knyttet til din bank konto valgt ovenfor.',
+ // specifics:
+ 'specific_ing_name' => 'ING NL',
+ 'specific_ing_descr' => 'Lag bedre beskrivelser i ING eksporter',
+ 'specific_sns_name' => 'SNS / Volksbank NL',
+ 'specific_sns_descr' => 'Trim tekst fra SNS / Volksbank eksport filer',
+ 'specific_abn_name' => 'ABN AMRO NL',
+ 'specific_abn_descr' => 'Fikser potensielle problemer med ABN AMRO filer',
+ 'specific_rabo_name' => 'Rabobank NL',
+ 'specific_rabo_descr' => 'Fikser potensielle problemer med Rabobank filer',
+ 'specific_pres_name' => 'President\'s Choice Financial CA',
+ 'specific_pres_descr' => 'Fikser potensielle problemer med PC filer',
+ // job configuration for file provider (stage: roles)
+ 'job_config_roles_title' => 'Importoppsett (3/4) - Definer hver kolonnes rolle',
+ 'job_config_roles_text' => 'Hver kolonne i CSV filen inneholder visse data. Vennligst indiker hvilken type data importen kan forvente. "Map" valget indikerer at du vil knytte hver oppføring funnet i kolonnen til en verdi in databasen. En ofte knyttet kolonne is kolonnen som inneholder IBAN til motstående konto. Dette kan enkelt matches mot IBAN verdier som er i databasen allerede.',
+ 'job_config_roles_submit' => 'Fortsett',
+ 'job_config_roles_column_name' => 'Navn på kolonne',
+ 'job_config_roles_column_example' => 'Kolonneeksempeldata',
+ 'job_config_roles_column_role' => 'Kolonne forklaring',
+ 'job_config_roles_do_map_value' => 'Sammenkoble disse verdiene',
+ 'job_config_roles_no_example' => 'Ingen eksempeldata tilgjengelig',
+ 'job_config_roles_fa_warning' => 'Hvis du merker en kolonne som inneholder et beløp i en fremmed valuta, må du også angi kolonnen som inneholder hvilken valuta det er.',
+ 'job_config_roles_rwarning' => 'I det minste, merk én kolonne som beløps-kolonnen. Det anbefales også velge en kolonne for beskrivelse, dato og motstående konto.',
+ 'job_config_roles_colum_count' => 'Kolonne',
+ // job config for the file provider (stage: mapping):
+ 'job_config_map_title' => 'Importoppsett (4/4) - Koble importdata til Firefly III-data',
+ 'job_config_map_text' => 'I følgende tabeller viser verdien til venstre informasjonen funnet i den opplastede filen. Det er din oppgave å knytte denne verdien, hvis mulig, til en eksisterende verdi i databasen. Firefly vil holde seg til denne tilordningen. Hvis det er ingen verdi å knytte til, eller du ikke ønsker å knytte den, velg ingenting.',
+ 'job_config_map_nothing' => 'Det finnes ingen data i filen som du kan koble til eksisterende verdier. Vennligst trykk "Start import" for å fortsette.',
+ 'job_config_field_value' => 'Feltverdi',
+ 'job_config_field_mapped' => 'Koblet til',
+ 'map_do_not_map' => '(ikke koble til)',
+ 'job_config_map_submit' => 'Start importen',
+
+
+ // import status page:
+ 'import_with_key' => 'Importer med nøkkel \':key \'',
+ 'status_wait_title' => 'Vennligst vent...',
+ 'status_wait_text' => 'Denne boksen vil forsvinne om et øyeblikk.',
+ 'status_running_title' => 'Importen kjører',
+ 'status_job_running' => 'Vennligst vent, kjører import...',
+ 'status_job_storing' => 'Vennligst vent, lagrer data...',
+ 'status_job_rules' => 'Vennligst vent, kjører regler...',
+ 'status_fatal_title' => 'Uopprettelig feil',
+ 'status_fatal_text' => 'Det har oppstått en feil som importen ikke kunne gjenopprette seg fra. Beklager!',
+ 'status_fatal_more' => 'Denne (muligens meget krytpiske) feilmeldingen suppleres av loggfiler, som du finner på harddisken eller i Docker container der du kjører Firefly III fra.',
+ 'status_finished_title' => 'Import fullført',
+ 'status_finished_text' => 'Importen er ferdig.',
+ 'finished_with_errors' => 'Det oppstod enkelte feil under import. Vennligst les disse nøye.',
+ 'unknown_import_result' => 'Ukjent import resultat',
+ 'result_no_transactions' => 'Ingen transaksjoner er importert. Kanskje var alle duplikater eller så var det ingen transaksjoner tilstede som kunne importeres. Loggfilene kan gi en bedre indikering på hva som har oppstått. Hvis du importerer data regelmessig vil dette være normalt.',
+ 'result_one_transaction' => 'Nøyaktig én transaksjon er importert. Den er lagret under tag :tag hvor kan du undersøke videre.',
+ 'result_many_transactions' => 'Firefly III har importert :count transaksjoner. De er lagret under tag :tag hvor du kan undersøke dem videre.',
+
+
+ // general errors and warnings:
+ 'bad_job_status' => 'For å få adgang til denne siden kan ikke import jobben ha status ":status".',
+
+ // column roles for CSV import:
+ 'column__ignore' => '(ignorer denne kolonnen)',
+ 'column_account-iban' => 'Aktivakonto (IBAN)',
+ 'column_account-id' => 'Aktivakonto-ID (koblet til FF3)',
+ 'column_account-name' => 'Aktivakonto (navn)',
+ 'column_account-bic' => 'Aktivakonto (BIC)',
+ 'column_amount' => 'Beløp',
+ 'column_amount_foreign' => 'Beløp (i utenlandsk valuta)',
+ 'column_amount_debit' => 'Beløp (debetkolonne)',
+ 'column_amount_credit' => 'Beløp (kredittkolonne)',
+ 'column_amount_negated' => 'Beløp (invers kolonne)',
+ 'column_amount-comma-separated' => 'Beløp (komma som desimaltegn)',
+ 'column_bill-id' => 'Regning-ID (koblet til FF3)',
+ 'column_bill-name' => 'Regningsnavn',
+ 'column_budget-id' => 'Budsjett-ID (koblet til FF3)',
+ 'column_budget-name' => 'Budsjettnavn',
+ 'column_category-id' => 'Kategori-ID (samsvarer FF3)',
+ 'column_category-name' => 'Kategorinavn',
+ 'column_currency-code' => 'Valutakode (ISO 4217)',
+ 'column_foreign-currency-code' => 'Utenlandsk valutakode (ISO 4217)',
+ 'column_currency-id' => 'Valuta-ID (samsvarer FF3)',
+ 'column_currency-name' => 'Valutanavn (samsvarer FF3)',
+ 'column_currency-symbol' => 'Valuta symbol (samsvarer FF3)',
+ 'column_date-interest' => 'Renteberegningsdato',
+ 'column_date-book' => 'Bokføringsdato for transaksjon',
+ 'column_date-process' => 'Prosesseringsdato for transaksjon',
+ 'column_date-transaction' => 'Dato',
+ 'column_date-due' => 'Forfallsdato for transaksjon',
+ 'column_date-payment' => 'Betalingsdato for transaksjon',
+ 'column_date-invoice' => 'Fakturadato for transaksjon',
+ 'column_description' => 'Beskrivelse',
+ 'column_opposing-iban' => 'Motkonto (IBAN)',
+ 'column_opposing-bic' => 'Motkonto (BIC)',
+ 'column_opposing-id' => 'Motstående konto ID (samsvarer FF3)',
+ 'column_external-id' => 'Ekstern ID',
+ 'column_opposing-name' => 'Motstående konto (navn)',
+ 'column_rabo-debit-credit' => 'Rabobank spesifikk debet/kreditt indikator',
+ 'column_ing-debit-credit' => 'ING spesifikk debet/kreditt indikator',
+ 'column_generic-debit-credit' => 'Generisk bank debet/kreditt indikator',
+ 'column_sepa-ct-id' => 'SEPA ende-til-ende identifikator',
+ 'column_sepa-ct-op' => 'SEPA Motstående kontoidentifikator',
+ 'column_sepa-db' => 'SEPA Mandat identifikator',
+ 'column_sepa-cc' => 'SEPA klareringskode',
+ 'column_sepa-ci' => 'SEPA kreditoridentifikator',
+ 'column_sepa-ep' => 'SEPA Eksternt formål',
+ 'column_sepa-country' => 'SEPA landskode',
+ 'column_sepa-batch-id' => 'SEPA sats/parti ID',
+ 'column_tags-comma' => 'Tagger (kommaseparerte)',
+ 'column_tags-space' => 'Tagger (oppdelt med mellomrom)',
+ 'column_account-number' => 'Aktivakonto (kontonummer)',
+ 'column_opposing-number' => 'Motkonto (kontonummer)',
+ 'column_note' => 'Notat(er)',
+ 'column_internal-reference' => 'Intern referanse',
+
+];
diff --git a/resources/lang/nb_NO/intro.php b/resources/lang/nb_NO/intro.php
new file mode 100644
index 0000000000..6b8986a9c3
--- /dev/null
+++ b/resources/lang/nb_NO/intro.php
@@ -0,0 +1,138 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ // index
+ 'index_intro' => 'Velkommen til forsiden til Firefly III. Ta deg tid til å gå gjennom denne introen for å få en følelse av hvordan Firefly III fungerer.',
+ 'index_accounts-chart' => 'Dette diagrammet viser gjeldende saldo på aktivakontoene dine. Du kan velge kontoene som er synlige her under innstillinger.',
+ 'index_box_out_holder' => 'Denne lille boksen og boksene ved siden av gir deg rask oversikt over din økonomiske situasjon.',
+ 'index_help' => 'Hvis du trenger hjelp til en side eller et skjema, trykker du på denne knappen.',
+ 'index_outro' => 'De fleste sidene av Firefly III vil starte med en liten gjennomgang slik som denne. Ta kontakt med meg hvis du har spørsmål eller kommentarer. Sett igang!',
+ 'index_sidebar-toggle' => 'For å opprette nye transaksjoner, kontoer eller andre ting, bruk menyen under dette ikonet.',
+
+ // create account:
+ 'accounts_create_iban' => 'Gi kontoene dine en gyldig IBAN. Dette gjør dataimport lettere i fremtiden.',
+ 'accounts_create_asset_opening_balance' => 'Aktivakontoer kan ha en "åpningssaldo" som indikerer starten på denne kontoens historie i Firefly III.',
+ 'accounts_create_asset_currency' => 'Firefly III støtter flere valutaer. Aktivakontoer har en hovedvaluta, som du må sette her.',
+ 'accounts_create_asset_virtual' => 'Det kan noen ganger hjelpe å gi kontoen din en virtuell saldo: et ekstra beløp blir alltid lagt til eller fjernet fra den faktiske saldoen.',
+
+ // budgets index
+ 'budgets_index_intro' => 'Budsjetter brukes til å styre din økonomi og er en av kjernefunksjonene i Firefly III.',
+ 'budgets_index_set_budget' => 'Sett ditt totale budsjett for hver periode, så Firefly III kan fortelle deg om du har budsjettert med alle tilgjengelige penger.',
+ 'budgets_index_see_expenses_bar' => 'Når du bruker penger vil denne linjen fylles opp.',
+ 'budgets_index_navigate_periods' => 'Naviger gjennom perioder for å enkelt sette budsjetter på forhånd.',
+ 'budgets_index_new_budget' => 'Opprett nye budsjetter etter behov.',
+ 'budgets_index_list_of_budgets' => 'Bruk denne tabellen til å angi beløp for hvert budsjett og se hvordan du klarer deg.',
+ 'budgets_index_outro' => 'Hvis du vil vite mer om budsjettering, trykk på hjelp-ikonet øverst til høyre.',
+
+ // reports (index)
+ 'reports_index_intro' => 'Bruk disse rapportene for å få detaljert innsikt i din økonomi.',
+ 'reports_index_inputReportType' => 'Velg en rapporttype. Sjekk ut hjelpesidene for å se hva hver rapport viser deg.',
+ 'reports_index_inputAccountsSelect' => 'Du kan ekskludere eller inkludere aktivakontoer etter eget ønske.',
+ 'reports_index_inputDateRange' => 'Den valgte datoperioden er helt opp til deg: fra en dag, og opptil 10 år.',
+ 'reports_index_extra-options-box' => 'Avhengig av hvilken rapport du har valgt, kan du velge ekstra filtre og alternativer her. Følg med på denne boksen når du endrer rapporttyper.',
+
+ // reports (reports)
+ 'reports_report_default_intro' => 'Denne rapporten gir deg en rask og omfattende oversikt over økonomien din. Hvis du ønsker å se noe annet her, ikke nøl med å kontakte meg!',
+ 'reports_report_audit_intro' => 'Denne rapporten gir deg detaljert innsikt i aktivakontoene dine.',
+ 'reports_report_audit_optionsBox' => 'Bruk disse avkrysningssboksene for å vise eller skjule kolonnene du er interessert i.',
+
+ 'reports_report_category_intro' => 'Denne rapporten gir deg innblikk i en eller flere kategorier.',
+ 'reports_report_category_pieCharts' => 'Disse diagrammene gir deg innblikk i utgifter og inntekt per kategori eller per konto.',
+ 'reports_report_category_incomeAndExpensesChart' => 'Dette diagrammet viser dine utgifter og inntekter per kategori.',
+
+ 'reports_report_tag_intro' => 'Denne rapporten gir deg innblikk i en eller flere tagger.',
+ 'reports_report_tag_pieCharts' => 'Disse diagrammene gir deg innblikk i utgifter og inntekter per tagg, konto, kategori eller budsjett.',
+ 'reports_report_tag_incomeAndExpensesChart' => 'Dette diagrammet viser dine utgifter og inntekter per tagg.',
+
+ 'reports_report_budget_intro' => 'Denne rapporten gir deg innblikk i ett eller flere budsjetter.',
+ 'reports_report_budget_pieCharts' => 'Disse diagrammene gir deg innblikk i utgifter og inntekter per budsjett eller per konto.',
+ 'reports_report_budget_incomeAndExpensesChart' => 'Dette diagrammet viser dine utgifter per budsjett.',
+
+ // create transaction
+ 'transactions_create_switch_box' => 'Bruk disse knappene for å raskt bytte til den typen transaksjon du vil lagre.',
+ 'transactions_create_ffInput_category' => 'Du kan fritt skrive inn dette feltet. Tidligere opprettede kategorier vil bli foreslått.',
+ 'transactions_create_withdrawal_ffInput_budget' => 'Koble uttaket ditt til et budsjett for bedre økonomisk kontroll.',
+ 'transactions_create_withdrawal_currency_dropdown_amount' => 'Bruk denne rullegardinmenyen når uttaket ditt er i en annen valuta.',
+ 'transactions_create_deposit_currency_dropdown_amount' => 'Bruk denne rullegardinmenyen når innskuddet ditt er i en annen valuta.',
+ 'transactions_create_transfer_ffInput_piggy_bank_id' => 'Velg en sparegris og knytt denne overføringen til din sparing.',
+
+ // piggy banks index:
+ 'piggy-banks_index_saved' => 'Dette feltet viser hvor mye du har spart i hver sparegris.',
+ 'piggy-banks_index_button' => 'Ved siden av denne fremdriftslinjen er det to knapper (+ og -) for å legge til eller fjerne penger fra hver sparegris.',
+ 'piggy-banks_index_accountStatus' => 'For hver aktivakonto med minst en sparegris er statusen oppført i denne tabellen.',
+
+ // create piggy
+ 'piggy-banks_create_name' => 'Hva er ditt mål? En ny sofa, et kamera, penger til uforutsette utgifter?',
+ 'piggy-banks_create_date' => 'Du kan angi en måldato eller en frist for din sparegris.',
+
+ // show piggy
+ 'piggy-banks_show_piggyChart' => 'Dette diagrammet viser historikken til denne sparegrisen.',
+ 'piggy-banks_show_piggyDetails' => 'Noen detaljer om sparegrisen din',
+ 'piggy-banks_show_piggyEvents' => 'Eventuelle tillegg eller flyttinger er også oppført her.',
+
+ // bill index
+ 'bills_index_rules' => 'Her ser du hvilke regler som vil sjekke om denne regningen passer',
+ 'bills_index_paid_in_period' => 'Dette feltet angir når regningen sist ble betalt.',
+ 'bills_index_expected_in_period' => 'Dette feltet angir for hver regning om og når neste regning forventes å komme.',
+
+ // show bill
+ 'bills_show_billInfo' => 'Denne tabellen viser generell informasjon om denne regningen.',
+ 'bills_show_billButtons' => 'Bruk denne knappen til å skanne gamle transaksjoner på nytt, slik at de blir riktig koblet opp med denne regningen.',
+ 'bills_show_billChart' => 'Dette diagrammet viser transaksjoner knyttet til denne regningen.',
+
+ // create bill
+ 'bills_create_intro' => 'Bruk regninger for å spore hvor mange penger du skal betale for hver periode. Tenk på utgifter som leie, forsikring eller nedbetaling av boliglån.',
+ 'bills_create_name' => 'Bruk et beskrivende navn som "Leie" eller "Helseforsikring".',
+ //'bills_create_match' => 'To match transactions, use terms from those transactions or the expense account involved. All words must match.',
+ 'bills_create_amount_min_holder' => 'Velg minimum og maksimumsbeløp for denne regningen.',
+ 'bills_create_repeat_freq_holder' => 'De fleste regninger gjentas månedlig, men du kan angi en annen frekvens her.',
+ 'bills_create_skip_holder' => 'Hvis en regning gjentas hver andre uke, skal "hopp over" -feltet settes til "1" for å hoppe over annenhver uke.',
+
+ // rules index
+ 'rules_index_intro' => 'Firefly III lar deg administrere regler som automatisk vil bli brukt på alle transaksjoner du oppretter eller redigerer.',
+ 'rules_index_new_rule_group' => 'Du kan kombinere regler i grupper for enklere håndtering.',
+ 'rules_index_new_rule' => 'Lag så mange regler som du vil.',
+ 'rules_index_prio_buttons' => 'Legg dem i den rekkefølgen du synes passer best.',
+ 'rules_index_test_buttons' => 'Du kan teste reglene dine eller bruke dem på eksisterende transaksjoner.',
+ 'rules_index_rule-triggers' => 'Regler har "utløsere" og "handlinger" som du kan bytte rekkefølge på ved å dra og slippe.',
+ 'rules_index_outro' => 'Husk å sjekke ut hjelpesidene ved å bruke (?) -ikonet øverst til høyre!',
+
+ // create rule:
+ 'rules_create_mandatory' => 'Velg en beskrivende tittel, og bestem når regelen skal utløses.',
+ 'rules_create_ruletriggerholder' => 'Legg til så mange utløsere som du vil, men husk at ALLE utløsere må samsvare før noen handlinger settes i gang.',
+ 'rules_create_test_rule_triggers' => 'Bruk denne knappen for å se hvilke eksisterende transaksjoner som samsvarer med regelen din.',
+ 'rules_create_actions' => 'Sett så mange handlinger som du vil.',
+
+ // preferences
+ 'preferences_index_tabs' => 'Flere alternativer er tilgjengelig bak disse fanene.',
+
+ // currencies
+ 'currencies_index_intro' => 'Firefly III støtter flere valutaer, som du kan endre på denne siden.',
+ 'currencies_index_default' => 'Firefly III har en standard valuta.',
+ 'currencies_index_buttons' => 'Bruk disse knappene for å endre standard valuta eller aktivere andre valutaer.',
+
+ // create currency
+ 'currencies_create_code' => 'Denne koden bør være ISO-kompatibel (Søk på Google for å finne ISO-koden).',
+];
diff --git a/resources/lang/nb_NO/list.php b/resources/lang/nb_NO/list.php
new file mode 100644
index 0000000000..319409ce0e
--- /dev/null
+++ b/resources/lang/nb_NO/list.php
@@ -0,0 +1,136 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ 'buttons' => 'Knapper',
+ 'icon' => 'Ikon',
+ 'id' => 'ID',
+ 'create_date' => 'Opprettet',
+ 'update_date' => 'Oppdatert',
+ 'updated_at' => 'Oppdatert',
+ 'balance_before' => 'Saldo før',
+ 'balance_after' => 'Saldo etter',
+ 'name' => 'Navn',
+ 'role' => 'Rolle',
+ 'currentBalance' => 'Nåværende saldo',
+ 'linked_to_rules' => 'Relevante regler',
+ 'active' => 'Er aktiv?',
+ 'lastActivity' => 'Siste aktivitet',
+ 'balanceDiff' => 'Saldodifferanse',
+ 'matchesOn' => 'Traff på',
+ 'account_type' => 'Kontotype',
+ 'created_at' => 'Opprettet',
+ 'account' => 'Konto',
+ 'matchingAmount' => 'Beløp',
+ 'split_number' => 'Del #',
+ 'destination' => 'Mål',
+ 'source' => 'Kilde',
+ 'next_expected_match' => 'Neste forventede treff',
+ 'automatch' => 'Automatisk treff?',
+ 'repeat_freq' => 'Gjentas',
+ 'description' => 'Beskrivelse',
+ 'amount' => 'Beløp',
+ 'internal_reference' => 'Intern referanse',
+ 'date' => 'Dato',
+ 'interest_date' => 'Rentedato',
+ 'book_date' => 'Bokføringsdato',
+ 'process_date' => 'Prosesseringsdato',
+ 'due_date' => 'Forfallsdato',
+ 'payment_date' => 'Betalingsdato',
+ 'invoice_date' => 'Fakturadato',
+ 'interal_reference' => 'Intern referanse',
+ 'notes' => 'Notater',
+ 'from' => 'Fra',
+ 'piggy_bank' => 'Sparegris',
+ 'to' => 'Til',
+ 'budget' => 'Busjett',
+ 'category' => 'Kategori',
+ 'bill' => 'Regning',
+ 'withdrawal' => 'Uttak',
+ 'deposit' => 'Innskudd',
+ 'transfer' => 'Overføring',
+ 'type' => 'Type',
+ 'completed' => 'Ferdig',
+ 'iban' => 'IBAN',
+ 'paid_current_period' => 'Betalt denne perioden',
+ 'email' => 'Epost',
+ 'registered_at' => 'Registrert den',
+ 'is_blocked' => 'Er sperret',
+ 'is_admin' => 'Er admin',
+ 'has_two_factor' => 'Har 2FA',
+ 'blocked_code' => 'Blokkert kode',
+ 'source_account' => 'Kildekonto',
+ 'destination_account' => 'Målkonto',
+ 'accounts_count' => 'Antall kontoer',
+ 'journals_count' => 'Antall transaksjoner',
+ 'attachments_count' => 'Antall vedlegg',
+ 'bills_count' => 'Antall regninger',
+ 'categories_count' => 'Antall kategorier',
+ 'export_jobs_count' => 'Antall eksportjobber',
+ 'import_jobs_count' => 'Antall importjobber',
+ 'budget_count' => 'Antall budsjetter',
+ 'rule_and_groups_count' => 'Antall regler og regelgrupper',
+ 'tags_count' => 'Antall tagger',
+ 'tags' => 'Tagger',
+ 'inward' => 'Innvendig beskrivelse',
+ 'outward' => 'Utvendig beskrivelse',
+ 'number_of_transactions' => 'Antall transaksjoner',
+ 'total_amount' => 'Totalbeløp',
+ 'sum' => 'Sum',
+ 'sum_excluding_transfers' => 'Sum (unntatt overføringer)',
+ 'sum_withdrawals' => 'Sum av uttak',
+ 'sum_deposits' => 'Sum av innskudd',
+ 'sum_transfers' => 'Sum av overføringer',
+ 'reconcile' => 'Avstem',
+ 'account_on_spectre' => 'Konto (Spectre)',
+ 'account_on_ynab' => 'Konto (YNAB)',
+ 'do_import' => 'Importer fra denne kontoen',
+ 'sepa-ct-id' => 'SEPA ende-til-ende-identifikator',
+ 'sepa-ct-op' => 'SEPA Motkonto-identifikator',
+ 'sepa-db' => 'SEPA Mandat-identifikator',
+ 'sepa-country' => 'SEPA-land',
+ 'sepa-cc' => 'SEPA-klareringskode',
+ 'sepa-ep' => 'SEPA Eksternt formål',
+ 'sepa-ci' => 'SEPA kreditoridentifikator',
+ 'sepa-batch-id' => 'SEPA sats/parti ID',
+ 'external_id' => 'Ekstern ID',
+ 'account_at_bunq' => 'Konto med bunq',
+ 'file_name' => 'Filnavn',
+ 'file_size' => 'Filstørrelse',
+ 'file_type' => 'Filtype',
+ 'attached_to' => 'Knyttet til',
+ 'file_exists' => 'Filen eksisterer',
+ 'spectre_bank' => 'Bank',
+ 'spectre_last_use' => 'Siste innlogging',
+ 'spectre_status' => 'Status',
+ 'bunq_payment_id' => 'bunq betalings ID',
+ 'repetitions' => 'Repetisjoner',
+ 'title' => 'Tittel',
+ 'transaction_s' => 'Transaksjoner',
+ 'field' => 'Felt',
+ 'value' => 'Verdi',
+ 'interest' => 'Renter',
+ 'interest_period' => 'renteperiode',
+ 'liability_type' => 'Type gjeld',
+];
diff --git a/resources/lang/nb_NO/pagination.php b/resources/lang/nb_NO/pagination.php
new file mode 100644
index 0000000000..7505314821
--- /dev/null
+++ b/resources/lang/nb_NO/pagination.php
@@ -0,0 +1,28 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ 'previous' => '« Forrige',
+ 'next' => 'Neste »',
+];
diff --git a/resources/lang/nb_NO/passwords.php b/resources/lang/nb_NO/passwords.php
new file mode 100644
index 0000000000..6bad72245c
--- /dev/null
+++ b/resources/lang/nb_NO/passwords.php
@@ -0,0 +1,32 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ 'password' => 'Passord må være minst seks tegn og samsvare med bekreftelsen.',
+ 'user' => 'Vi finner ikke noen bruker med denne epostadressen.',
+ 'token' => 'Passord-nullstillingskoden er ikke gyldig.',
+ 'sent' => 'Passord-nullstillingslenke sendt!',
+ 'reset' => 'Passordet er tilbakestilt!',
+ 'blocked' => 'Du skal ha for forsøket.',
+];
diff --git a/resources/lang/nb_NO/validation.php b/resources/lang/nb_NO/validation.php
new file mode 100644
index 0000000000..49f1294235
--- /dev/null
+++ b/resources/lang/nb_NO/validation.php
@@ -0,0 +1,167 @@
+.
+ */
+
+declare(strict_types=1);
+
+return [
+ 'iban' => 'Dette er ikke en gyldig IBAN.',
+ 'zero_or_more' => 'Verdien kan ikke være negativ.',
+ 'date_or_time' => 'Verdien må være et gyldig dato- eller klokkeslettformat (ISO 8601).',
+ 'source_equals_destination' => 'Kildekontoen er lik destinasjonskonto.',
+ 'unique_account_number_for_user' => 'Det ser ut som dette kontonummeret er allerede i bruk.',
+ 'unique_iban_for_user' => 'Det ser ut som dette IBAN er allerede i bruk.',
+ 'deleted_user' => 'På grunn av sikkerhetsbegrensninger kan du ikke registreres med denne e-postadresse.',
+ 'rule_trigger_value' => 'Denne verdien er ugyldig for den valgte triggeren.',
+ 'rule_action_value' => 'Denne verdien er ugyldig for den valgte handlingen.',
+ 'file_already_attached' => 'Opplastede fil ":name" er allerede knyttet til dette objektet.',
+ 'file_attached' => 'Opplasting av fil ":name" var vellykket.',
+ 'must_exist' => 'IDen i feltet :attribute finnes ikke i databasen.',
+ 'all_accounts_equal' => 'Alle kontoer i dette feltet må være like.',
+ 'invalid_selection' => 'Dine valg er ugyldig.',
+ 'belongs_user' => 'Denne verdien er ugyldig for dette feltet.',
+ 'at_least_one_transaction' => 'Trenger minst én transaksjon.',
+ 'at_least_one_repetition' => 'Trenger minst en gjentagelse.',
+ 'require_repeat_until' => 'Krever enten et antall repetisjoner eller en slutt dato (gjentas til). Ikke begge.',
+ 'require_currency_info' => 'Innholdet i dette feltet er ugyldig uten valutainformasjon.',
+ 'equal_description' => 'Transaksjonsbeskrivelsen bør ikke være lik global beskrivelse.',
+ 'file_invalid_mime' => 'Kan ikke akseptere fil ":name" av typen ":mime" for opplasting.',
+ 'file_too_large' => '":name"-filen er for stor.',
+ 'belongs_to_user' => 'Verdien av :attribute er ukjent.',
+ 'accepted' => ':attribute må bli godtatt.',
+ 'bic' => 'Dette er ikke en gyldig BIC.',
+ 'at_least_one_trigger' => 'Regel må ha minst en trigger.',
+ 'at_least_one_action' => 'Regel må ha minst en aksjon.',
+ 'base64' => 'Dette er ikke godkjent base64 kodet data.',
+ 'model_id_invalid' => 'Den angitte ID er ugyldig for denne modellen.',
+ 'more' => ':attribute må være større enn null.',
+ 'less' => ':attribute må være mindre enn 10,000,000',
+ 'active_url' => ':attribute er ikke en gyldig URL.',
+ 'after' => ':attribute må være en dato etter :date.',
+ 'alpha' => ':attribute kan kun inneholde bokstaver.',
+ 'alpha_dash' => ':attribute kan bare inneholde bokstaver, tall og bindestreker.',
+ 'alpha_num' => ':attribute kan bare inneholde bokstaver og tall.',
+ 'array' => ':attribute må være en liste.',
+ 'unique_for_user' => 'Det finnes allerede en forekomst med :attribute.',
+ 'before' => ':attribute må være en dato før :date.',
+ 'unique_object_for_user' => 'Dette navnet er allerede i bruk.',
+ 'unique_account_for_user' => 'Dette konto navnet er allerede i bruk.',
+ 'between.numeric' => ':attribute må være en verdi mellom :min og :max.',
+ 'between.file' => ':attribute må være mellom :min og :max kilobyte.',
+ 'between.string' => ':attribute må være mellom :min og :max tegn.',
+ 'between.array' => ':attribute må ha mellom :min og :max elementer.',
+ 'boolean' => ':attribute må være sann eller usann.',
+ 'confirmed' => ':attribute bekreftelsen stemmer ikke overens.',
+ 'date' => ':attribute er ikke en gyldig dato.',
+ 'date_format' => ':attribute samsvarer ikke med formatet :format.',
+ 'different' => ':attribute og :other må være forskjellig.',
+ 'digits' => ':attribute må være :digits sifre.',
+ 'digits_between' => ':attribute må være mellom :min og :max sifre.',
+ 'email' => ':attribute må være en gyldig epostaddresse.',
+ 'filled' => ':attribute må fylles ut.',
+ 'exists' => 'Den valgte :attribute er ikke gyldig.',
+ 'image' => ':attribute må være et bilde.',
+ 'in' => 'Den valgte :attribute er ikke gyldig.',
+ 'integer' => ':attribute må være et heltall.',
+ 'ip' => ':attribute må være en gyldig IP-addresse.',
+ 'json' => ':attribute må være en gyldig JSON streng.',
+ 'max.numeric' => ':attribute ikke kan være større enn :max.',
+ 'max.file' => ':attribute ikke kan være større enn :max kilobytes.',
+ 'max.string' => ':attribute ikke kan være større enn :max tegn.',
+ 'max.array' => ':attribute kan ikke inneholde mer enn :max elementer.',
+ 'mimes' => ':attribute må være en fil av type: :values.',
+ 'min.numeric' => ':attribute må være minst :min.',
+ 'lte.numeric' => ':attribute må være mindre enn eller lik :value.',
+ 'min.file' => ':attribute må være minst :min kilobytes.',
+ 'min.string' => ':attribute må være minst :min tegn.',
+ 'min.array' => ':attribute må inneholde minst :min elementer.',
+ 'not_in' => 'Den valgte :attribute er ikke gyldig.',
+ 'numeric' => ':attribute må være et tall.',
+ 'numeric_native' => 'Den normale beløpet må være et nummer.',
+ 'numeric_destination' => 'Destinasjons beløpet må være et nummer.',
+ 'numeric_source' => 'Kilde beløpet må være et nummer.',
+ 'regex' => ':attribute formatet er ugyldig.',
+ 'required' => ':attribute feltet må fylles ut.',
+ 'required_if' => ':attribute feltet er påkrevd når :other er :value.',
+ 'required_unless' => ':attribute feltet er påkrevd hvis ikke :other er i :values.',
+ 'required_with' => ':attribute feltet er nødvendig når :values er tilstede.',
+ 'required_with_all' => ':attribute feltet er nødvendig når :values er tilstede.',
+ 'required_without' => ':attribute er påkrevd når :values ikke er definert.',
+ 'required_without_all' => ':attribute er påkrevd når ingen av :values er definert.',
+ 'same' => ':attribute og :other må være like.',
+ 'size.numeric' => ':attribute må være :size.',
+ 'amount_min_over_max' => 'Minimumsbeløpet kan ikke være større enn maksimumsbeløpet.',
+ 'size.file' => ':attribute må være :size kilobyte.',
+ 'size.string' => ':attribute må være :size tegn.',
+ 'size.array' => ':attribute må inneholde :size elementer.',
+ 'unique' => ':attribute har allerede blitt tatt.',
+ 'string' => ':attribute må være en streng.',
+ 'url' => ':attribute formatet er ugyldig.',
+ 'timezone' => ':attribute må være en gyldig tidssone.',
+ '2fa_code' => ':attribute formatet er ugyldig.',
+ 'dimensions' => ':attribute har ugyldig bilde dimensjoner.',
+ 'distinct' => ':attribute feltet har en duplikatverdi.',
+ 'file' => ':attribute må være en fil.',
+ 'in_array' => 'Feltet :attribute finnes ikke i :other.',
+ 'present' => ':attribute feltet må være definert.',
+ 'amount_zero' => 'Totalbeløpet kan ikke være null.',
+ 'unique_piggy_bank_for_user' => 'Navnet på sparegris må være unik.',
+ 'secure_password' => 'Dette er ikke et sikkert passord. Vennligst prøv igjen. For mer informasjon, se https://bit.ly/FF3-password-security',
+ 'valid_recurrence_rep_type' => 'Ugyldig repetisjons type for gjentakende transaksjoner.',
+ 'valid_recurrence_rep_moment' => 'Ugyldig repetisjons tid for denne type repetisjon.',
+ 'invalid_account_info' => 'Ugyldig konto informasjon.',
+ 'attributes' => [
+ 'email' => 'epostadresse',
+ 'description' => 'beskrivelse',
+ 'amount' => 'beløp',
+ 'name' => 'navn',
+ 'piggy_bank_id' => 'sparegris ID',
+ 'targetamount' => 'målbeløp',
+ 'openingBalanceDate' => 'åpningssaldo dato',
+ 'openingBalance' => 'åpningssaldo',
+ 'match' => 'match',
+ 'amount_min' => 'minimumsbeløp',
+ 'amount_max' => 'maksimumsbeløp',
+ 'title' => 'tittel',
+ 'tag' => 'tag',
+ 'transaction_description' => 'transaksjonsbeskrivelse',
+ 'rule-action-value.1' => 'regel aksjonsverdi #1',
+ 'rule-action-value.2' => 'regel aksjonsverdi #2',
+ 'rule-action-value.3' => 'regel aksjonsverdi #3',
+ 'rule-action-value.4' => 'regel aksjonsverdi #4',
+ 'rule-action-value.5' => 'regel aksjonsverdi #5',
+ 'rule-action.1' => 'regel aksjon#1',
+ 'rule-action.2' => 'regel aksjon#2',
+ 'rule-action.3' => 'regel aksjon#3',
+ 'rule-action.4' => 'regel aksjon#4',
+ 'rule-action.5' => 'regel aksjon#5',
+ 'rule-trigger-value.1' => 'regel trigger verdi #1',
+ 'rule-trigger-value.2' => 'regel trigger verdi #2',
+ 'rule-trigger-value.3' => 'regel trigger verdi #3',
+ 'rule-trigger-value.4' => 'regel trigger verdi #4',
+ 'rule-trigger-value.5' => 'regel trigger verdi #5',
+ 'rule-trigger.1' => 'regel trigger #1',
+ 'rule-trigger.2' => 'regel trigger #2',
+ 'rule-trigger.3' => 'regel trigger #3',
+ 'rule-trigger.4' => 'regel trigger #4',
+ 'rule-trigger.5' => 'regel trigger #5',
+ ],
+];
diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php
index 8790e1cff1..68e792b90c 100644
--- a/resources/lang/pl_PL/firefly.php
+++ b/resources/lang/pl_PL/firefly.php
@@ -33,7 +33,7 @@ return [
'last_seven_days' => 'Ostatnie 7 dni',
'last_thirty_days' => 'Ostanie 30 dni',
'welcomeBack' => 'Co jest grane?',
- 'welcome_back' => 'What\'s playing?',
+ 'welcome_back' => 'Co jest grane?',
'everything' => 'Wszystko',
'today' => 'dzisiaj',
'customRange' => 'Niestandardowy zakres',
diff --git a/resources/lang/pl_PL/import.php b/resources/lang/pl_PL/import.php
index 1527ebcbf9..2b2d48894d 100644
--- a/resources/lang/pl_PL/import.php
+++ b/resources/lang/pl_PL/import.php
@@ -140,18 +140,18 @@ return [
'bunq_savings_goal' => 'Cel oszczędzania: :amount (:percentage%)',
'bunq_account_status_CANCELLED' => 'Zamknięte konto bunq',
- 'ynab_account_closed' => 'Account is closed!',
+ 'ynab_account_closed' => 'Konto jest zamknięte!',
'ynab_account_deleted' => 'Konto usunięte!',
'ynab_account_type_savings' => 'konto oszczędnościowe',
- 'ynab_account_type_checking' => 'checking account',
+ 'ynab_account_type_checking' => 'sprawdzanie konta',
'ynab_account_type_cash' => 'konto gotówkowe',
'ynab_account_type_creditCard' => 'karta kredytowa',
'ynab_account_type_lineOfCredit' => 'line of credit',
'ynab_account_type_otherAsset' => 'other asset account',
'ynab_account_type_otherLiability' => 'inne zobowiązania',
'ynab_account_type_payPal' => 'PayPal',
- 'ynab_account_type_merchantAccount' => 'merchant account',
- 'ynab_account_type_investmentAccount' => 'investment account',
+ 'ynab_account_type_merchantAccount' => 'konto handlowe',
+ 'ynab_account_type_investmentAccount' => 'konto inwestycyjne',
'ynab_account_type_mortgage' => 'mortgage',
'ynab_do_not_import' => '(do not import)',
'job_config_ynab_apply_rules' => 'Zastosuj reguły',
@@ -192,17 +192,17 @@ return [
'fints_connection_failed' => 'An error occurred while trying to connecting to your bank. Please make sure that all the data you entered is correct. Original error message: :originalError',
'job_config_fints_url_help' => 'E.g. https://banking-dkb.s-fints-pt-dkb.de/fints30',
- 'job_config_fints_username_help' => 'For many banks this is your account number.',
+ 'job_config_fints_username_help' => 'Dla wielu banków jest to numer twojego konta.',
'job_config_fints_port_help' => 'The default port is 443.',
- 'job_config_fints_account_help' => 'Choose the bank account for which you want to import transactions.',
- 'job_config_local_account_help' => 'Choose the Firefly III account corresponding to your bank account chosen above.',
+ 'job_config_fints_account_help' => 'Wybierz konto bankowe, dla którego chcesz importować transakcje.',
+ 'job_config_local_account_help' => 'Wybierz konto Firefly III odpowiadające wybranemu powyżej kontu bankowemu.',
// specifics:
'specific_ing_name' => 'ING NL',
'specific_ing_descr' => 'Create better descriptions in ING exports',
'specific_sns_name' => 'SNS / Volksbank NL',
- 'specific_sns_descr' => 'Trim quotes from SNS / Volksbank export files',
+ 'specific_sns_descr' => 'Usuwa cudzysłowy z plików eksportów SNS / Volksbank',
'specific_abn_name' => 'ABN AMRO NL',
- 'specific_abn_descr' => 'Fixes potential problems with ABN AMRO files',
+ 'specific_abn_descr' => 'Napraw potencjalne problemy z plikami ABN AMRO',
'specific_rabo_name' => 'Rabobank NL',
'specific_rabo_descr' => 'Fixes potential problems with Rabobank files',
'specific_pres_name' => 'President\'s Choice Financial CA',
@@ -279,7 +279,7 @@ return [
'column_date-book' => 'Data księgowania transakcji',
'column_date-process' => 'Data przetworzenia transakcji',
'column_date-transaction' => 'Data',
- 'column_date-due' => 'Transaction due date',
+ 'column_date-due' => 'Data transakcji',
'column_date-payment' => 'Transaction payment date',
'column_date-invoice' => 'Transaction invoice date',
'column_description' => 'Opis',
diff --git a/resources/lang/pl_PL/list.php b/resources/lang/pl_PL/list.php
index fdf2ffdc41..47fbcaf3af 100644
--- a/resources/lang/pl_PL/list.php
+++ b/resources/lang/pl_PL/list.php
@@ -108,9 +108,9 @@ return [
'do_import' => 'Importuj z tego konta',
'sepa-ct-id' => 'Identyfikator end-to-end SEPA',
'sepa-ct-op' => 'Identyfikator przeciwnego konta SEPA',
- 'sepa-db' => 'SEPA Mandate Identifier',
+ 'sepa-db' => 'Identyfikator mandatu SEPA',
'sepa-country' => 'Kraj SEPA',
- 'sepa-cc' => 'SEPA Clearing Code',
+ 'sepa-cc' => 'Kod rozliczeniowy SEPA',
'sepa-ep' => 'SEPA External Purpose',
'sepa-ci' => 'SEPA Creditor Identifier',
'sepa-batch-id' => 'ID paczki SEPA',
diff --git a/resources/lang/pt_BR/demo.php b/resources/lang/pt_BR/demo.php
index 2f148d10c8..16e974996c 100644
--- a/resources/lang/pt_BR/demo.php
+++ b/resources/lang/pt_BR/demo.php
@@ -34,5 +34,5 @@ return [
'transactions-index' => 'Estas despesas, depósitos e transferências não são fantasiosas. Elas foram geradas automaticamente.',
'piggy-banks-index' => 'Como você pode ver, existem três cofrinhos. Use o sinal de mais e menos botões para influenciar a quantidade de dinheiro em cada cofrinho. Clique no nome do cofrinho para ver a administração de cada cofrinho.',
'import-index' => 'Qualquer arquivo CSV pode ser importado para o Firefly III. Importações de dados de bunq e Specter também são suportadas. Outros bancos e agregadores financeiros serão implementados futuramente. Como usuário de demonstração, no entanto, você só pode ver o provedor "falso" em ação. Ele irá gerar transações aleatórias para lhe mostrar como funciona o processo.',
- 'profile-index' => 'Nao te esquecas que a plataforma demo reinicia a cada 4 horas. O teu acesso pode ser revogado a qualquer altura. Isto acontece automaticamente e nao e um problema na plataforma.',
+ 'profile-index' => 'Tenha em mente que o site de demonstração reinicia a cada 4 horas. Seu acesso pode ser revogado a qualquer momento. Isso acontece automaticamente e não é um erro.',
];
diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php
index bcdf62f2f7..b4a52d0106 100644
--- a/resources/lang/pt_BR/firefly.php
+++ b/resources/lang/pt_BR/firefly.php
@@ -33,7 +33,7 @@ return [
'last_seven_days' => 'Últimos sete dias',
'last_thirty_days' => 'Últimos 30 dias',
'welcomeBack' => 'O que está passando?',
- 'welcome_back' => 'What\'s playing?',
+ 'welcome_back' => 'O que está passando?',
'everything' => 'Tudo',
'today' => 'hoje',
'customRange' => 'Intervalo Personalizado',
@@ -115,7 +115,7 @@ return [
'cannot_redirect_to_account' => 'Firefly III não pode redirecioná-lo para a página correta. Minhas desculpas.',
'sum_of_expenses' => 'Soma das despesas',
'sum_of_income' => 'Soma da renda',
- 'liabilities' => 'Responsabilidades',
+ 'liabilities' => 'Passivos',
'spent_in_specific_budget' => 'Gasto no orçamento ":budget"',
'sum_of_expenses_in_budget' => 'Gasto total no orçamento ":budget"',
'left_in_budget_limit' => 'Restante para gastar de acordo com o orçamento',
@@ -180,10 +180,10 @@ return [
'reset_button' => 'Redefinir',
'want_to_login' => 'Eu quero fazer o login',
'login_page_title' => 'Login no Firefly III',
- 'register_page_title' => 'Registar no Firefly III',
- 'forgot_pw_page_title' => 'Esqueceste a password do Firefly III',
- 'reset_pw_page_title' => 'Reiniciar a password do Firefly III',
- 'cannot_reset_demo_user' => 'Nao podes reiniciar a password do utilizador de demonstracao.',
+ 'register_page_title' => 'Registrar no Firefly III',
+ 'forgot_pw_page_title' => 'Esqueceu sua senha do Firefly III',
+ 'reset_pw_page_title' => 'Redefinir sua senha para Firefly III',
+ 'cannot_reset_demo_user' => 'Você não pode redefinir a senha do usuário demo.',
'button_register' => 'Registrar',
'authorization' => 'Autorização',
'active_bills_only' => 'apenas faturas ativas',
@@ -218,27 +218,27 @@ return [
// search
'search' => 'Pesquisa',
'search_query' => 'Pedido',
- 'search_found_transactions' => 'Firefly III found :count transaction(s) in :time seconds.',
- 'search_for_query' => 'Firefly III is searching for transactions with all of these words in them: :query',
- 'search_modifier_amount_is' => 'Amount is exactly :value',
- 'search_modifier_amount' => 'Amount is exactly :value',
- 'search_modifier_amount_max' => 'Amount is at most :value',
- 'search_modifier_amount_min' => 'Amount is at least :value',
- 'search_modifier_amount_less' => 'Amount is less than :value',
- 'search_modifier_amount_more' => 'Amount is more than :value',
- 'search_modifier_source' => 'Source account is :value',
- 'search_modifier_destination' => 'Destination account is :value',
- 'search_modifier_category' => 'Category is :value',
- 'search_modifier_budget' => 'Budget is :value',
- 'search_modifier_bill' => 'Bill is :value',
- 'search_modifier_type' => 'Transaction type is :value',
- 'search_modifier_date' => 'Transaction date is :value',
- 'search_modifier_date_before' => 'Transaction date is before :value',
- 'search_modifier_date_after' => 'Transaction date is after :value',
- 'search_modifier_on' => 'Transaction date is :value',
- 'search_modifier_before' => 'Transaction date is before :value',
- 'search_modifier_after' => 'Transaction date is after :value',
- 'modifiers_applies_are' => 'The following modifiers are applied to the search as well:',
+ 'search_found_transactions' => 'Firefly III encontrou :count transação(ões) em :time segundo(s).',
+ 'search_for_query' => 'Firefly III está procurando transações com todas estas palavras neles: :query',
+ 'search_modifier_amount_is' => 'Valor é exatamente :value',
+ 'search_modifier_amount' => 'Valor é exatamente :value',
+ 'search_modifier_amount_max' => 'Valor é no máximo :value',
+ 'search_modifier_amount_min' => 'Valor é pelo menos :value',
+ 'search_modifier_amount_less' => 'Valor é menor que :value',
+ 'search_modifier_amount_more' => 'Valor é maior que :value',
+ 'search_modifier_source' => 'Conta de origem é :value',
+ 'search_modifier_destination' => 'Conta de destino é :value',
+ 'search_modifier_category' => 'Categoria é :value',
+ 'search_modifier_budget' => 'Orçamento é :value',
+ 'search_modifier_bill' => 'Fatura é :value',
+ 'search_modifier_type' => 'Tipo de transação é :value',
+ 'search_modifier_date' => 'Data da transação é :value',
+ 'search_modifier_date_before' => 'Data da transação é antes de :value',
+ 'search_modifier_date_after' => 'Data da transação é após :value',
+ 'search_modifier_on' => 'Data da transação é :value',
+ 'search_modifier_before' => 'Data da transação é antes de :value',
+ 'search_modifier_after' => 'Data da transação é após :value',
+ 'modifiers_applies_are' => 'Os seguintes modificadores são aplicados também à busca:',
'general_search_error' => 'Ocorreu um erro durante a pesquisa. Verifique os arquivos de log para obter mais informações.',
'search_box' => 'Pesquisar',
'search_box_intro' => 'Bem-vindo à função de pesquisa do Firefly III. Digite sua consulta de pesquisa na caixa. Certifique-se de verificar o arquivo de ajuda porque a pesquisa é bastante avançada.',
@@ -480,7 +480,7 @@ return [
'without_date' => 'Sem data',
'result' => 'Resultado',
'sums_apply_to_range' => 'Todas as somas aplicam-se ao intervalo selecionado',
- 'mapbox_api_key' => 'To use map, get an API key from Mapbox. Open your .env
file and enter this code after MAPBOX_API_KEY=
.',
+ 'mapbox_api_key' => 'Para usar o mapa, obtenha uma chave API do Mapbox. Abra seu arquivo .env
e insira este código MAPBOX_API_KEY=
.',
'press_tag_location' => 'Clique com o botão direito ou pressione longamente para definir a localização da tag.',
'clear_location' => 'Limpar localização',
@@ -562,13 +562,13 @@ return [
'invalid_password' => 'Senha inválida!',
'what_is_pw_security' => 'O que é "verificar a segurança da senha"?',
'secure_pw_title' => 'Como escolher uma senha segura',
- 'secure_pw_history' => 'Not a week goes by that you read in the news about a site losing the passwords of its users. Hackers and thieves use these passwords to try to steal your private information. This information is valuable.',
- 'secure_pw_ff' => 'Do you use the same password all over the internet? If one site loses your password, hackers have access to all your data. Firefly III relies on you to choose a strong and unique password to protect your financial records.',
- 'secure_pw_check_box' => 'To help you do that Firefly III can check if the password you want to use has been stolen in the past. If this is the case, Firefly III advises you NOT to use that password.',
- 'secure_pw_working_title' => 'How does it work?',
- 'secure_pw_working' => 'By checking the box, Firefly III will send the first five characters of the SHA1 hash of your password to the website of Troy Hunt to see if it is on the list. This will stop you from using unsafe passwords as is recommended in the latest NIST Special Publication on this subject.',
+ 'secure_pw_history' => 'Não é toda semana que você lê notícias sobre site que perde as senhas de seus usuários. Hackers e ladrões usam essas senhas para tentar roubar suas informações privadas. Esta informação é valiosa.',
+ 'secure_pw_ff' => 'Você usa a mesma senha em toda a internet? Se um site perder sua senha, os hackers terão acesso a todos os seus dados. O Firefly III depende de você para escolher uma senha forte e única para proteger seus registros financeiros.',
+ 'secure_pw_check_box' => 'Para ajudá-lo o Firefly III pode verificar se a senha que você deseja usar foi roubada anteriormente. Se for esse o caso, o Firefly III aconselha a você NÃO utilizar essa senha.',
+ 'secure_pw_working_title' => 'Como isso funciona?',
+ 'secure_pw_working' => 'Ao marcar a caixa de seleção, o Firefly III enviará os cinco primeiros caracteres do hash SHA1 de sua senha ao site Troy Hunt, para verificar se ela está na lista. Isso impede que você use senhas inseguras, como recomendado na última publicação NIST Special sobre esse assunto.',
'secure_pw_should' => 'Devo verificar a caixa?',
- 'secure_pw_long_password' => 'Yes. Always verify your password is safe.',
+ 'secure_pw_long_password' => 'Sim. Sempre verificar se sua senha é segura.',
'command_line_token' => 'Token de linha de comando',
'explain_command_line_token' => 'Você precisa desse token para executar opções de linha de comando, como importar ou exportar dados. Sem isso, tais comandos sensíveis não funcionarão. Não compartilhe seu token de acesso. Ninguém pedirá por este token, nem mesmo eu. Se você tem medo de perder isso, ou quando você se preocupar, regenere esse token usando o botão.',
'regenerate_command_line_token' => 'Regenerar token de linha de comando',
@@ -786,13 +786,13 @@ return [
'updated_account' => 'Conta ":name" atualizada',
'credit_card_options' => 'Opções de cartão de crédito',
'no_transactions_account' => 'Não há transações (neste período) para a conta ativa ":name".',
- 'no_transactions_period' => 'There are no transactions (in this period).',
+ 'no_transactions_period' => 'Não há transações (neste período).',
'no_data_for_chart' => 'Não há informações suficientes (ainda) para gerar este gráfico.',
- 'select_at_least_one_account' => 'Por favor selecciona, pelo menos, uma conta de activos',
- 'select_at_least_one_category' => 'Por favor selecciona, pelo menos, uma categoria',
- 'select_at_least_one_budget' => 'Por favor selecciona, pelo menos, um orcamento',
- 'select_at_least_one_tag' => 'Por favor selecciona, pelo menos, uma tag',
- 'select_at_least_one_expense' => 'Please select at least one combination of expense/revenue accounts. If you have none (the list is empty) this report is not available.',
+ 'select_at_least_one_account' => 'Por favor, selecione pelo menos uma conta de ativo',
+ 'select_at_least_one_category' => 'Por favor selecione, pelo menos, uma categoria',
+ 'select_at_least_one_budget' => 'Por favor, selecione pelo menos um orçamento',
+ 'select_at_least_one_tag' => 'Por favor, selecione pelo menos uma tag',
+ 'select_at_least_one_expense' => 'Por favor, selecione pelo menos uma combinação de contas de despesas/receitas. Se você não tem nenhuma (a lista está vazia) este relatório não está disponível.',
'account_default_currency' => 'Esta será a moeda padrão associada a esta conta.',
'reconcile_has_more' => 'Seu registro do Firefly III tem mais dinheiro nele do que o seu banco afirma que você deveria ter. Existem várias opções. Escolha o que fazer. Em seguida, pressione "Confirmar reconciliação".',
'reconcile_has_less' => 'Seu registro do Firefly III tem menos dinheiro nele do que o seu banco afirma que você deveria ter. Existem várias opções. Escolha o que fazer. Em seguida, pressione "Confirmar reconciliação".',
@@ -861,7 +861,7 @@ return [
'no_bulk_budget' => 'Não atualize o orçamento',
'no_bulk_tags' => 'Não atualize a(s) tag(s)',
'bulk_edit' => 'Editar vários',
- 'cannot_edit_other_fields' => 'Você não pode editar em massa outros campos que não esse aqui, porque não há espaço para mostrá-los. Por favor siga o link e editá-los por um por um, se você precisar editar esses campos.',
+ 'cannot_edit_other_fields' => 'Você não pode editar em massa outros campos que não esses aqui, porque não há espaço para mostrá-los. Por favor siga o link e editá-los por um por um, se você precisar editar esses campos.',
'no_budget' => '(sem orçamento)',
'no_budget_squared' => '(sem orçamento)',
'perm-delete-many' => 'Exclusão de muitos itens de uma só vez pode ser muito perturbador. Por favor, seja cauteloso.',
@@ -881,7 +881,7 @@ return [
'notes' => 'Notas',
'unknown_journal_error' => 'A transação não pôde ser armazenada. Por favor, verifique os arquivos de log.',
'attachment_not_found' => 'O anexo não foi encontrado.',
- 'journal_link_bill' => 'This transaction is linked to bill :name. To remove the connection, uncheck the checkbox. Use rules to connect it to another bill.',
+ 'journal_link_bill' => 'Esta transação está ligada à conta :name. Para remover a conexão, desmarque a caixa de seleção. Use as regras para conectá-la a outra conta.',
// new user:
'welcome' => 'Bem Vindo ao Firefly III!',
@@ -900,13 +900,13 @@ return [
// home page:
'yourAccounts' => 'Suas contas',
- 'your_accounts' => 'Your account overview',
- 'category_overview' => 'Category overview',
- 'expense_overview' => 'Expense account overview',
- 'revenue_overview' => 'Revenue account overview',
+ 'your_accounts' => 'Visão geral da sua conta',
+ 'category_overview' => 'Visão geral da categoria',
+ 'expense_overview' => 'Visão geral da conta de despesa',
+ 'revenue_overview' => 'Visão geral da conta de receita',
'budgetsAndSpending' => 'Orçamentos e despesas',
- 'budgets_and_spending' => 'Budgets and spending',
- 'go_to_budget' => 'Go to budget "{budget}"',
+ 'budgets_and_spending' => 'Orçamentos e despesas',
+ 'go_to_budget' => 'Ir para o orçamento "{budget}"',
'savings' => 'Poupanças',
'newWithdrawal' => 'Nova despesa',
'newDeposit' => 'Novo depósito',
@@ -924,10 +924,10 @@ return [
'searchPlaceholder' => 'Pesquisar...',
'version' => 'Versão',
'dashboard' => 'Painel de Controle',
- 'available_budget' => 'Available budget ({currency})',
+ 'available_budget' => 'Orçamento disponível ({currency})',
'currencies' => 'Moedas',
- 'activity' => 'Activity',
- 'usage' => 'Usage',
+ 'activity' => 'Atividade',
+ 'usage' => 'Utilização',
'accounts' => 'Contas',
'Asset account' => 'Conta de ativo',
'Default account' => 'Conta de ativo',
@@ -946,11 +946,11 @@ return [
'income' => 'Receita / Renda',
'transfers' => 'Transferências',
'moneyManagement' => 'Gerenciamento de Dinheiro',
- 'money_management' => 'Money management',
- 'tools' => 'Tools',
+ 'money_management' => 'Gestão Monetária',
+ 'tools' => 'Ferramentas',
'piggyBanks' => 'Cofrinhos',
- 'piggy_banks' => 'Piggy banks',
- 'amount_x_of_y' => '{current} of {total}',
+ 'piggy_banks' => 'Cofrinhos',
+ 'amount_x_of_y' => '{current} de {total}',
'bills' => 'Faturas',
'withdrawal' => 'Retirada',
'opening_balance' => 'Saldo inicial',
@@ -985,11 +985,11 @@ return [
'report_budget' => 'Relatório de orçamento entre :start e :end',
'report_tag' => 'Relatório de tag entre :start e :end',
'quick_link_reports' => 'Ligações rápidas',
- 'quick_link_examples' => 'These are just some example links to get you started. Check out the help pages under the (?)-button for information on all reports and the magic words you can use.',
+ 'quick_link_examples' => 'Estes são apenas alguns links de exemplo para você começar. Confira as páginas de ajuda com o botão (?) para obter informações sobre todos os relatórios e as palavras mágicas que você pode usar.',
'quick_link_default_report' => 'Relatório financeiro padrão',
'quick_link_audit_report' => 'Visão geral do histórico de transação',
'report_this_month_quick' => 'Mês atual, todas as contas',
- 'report_last_month_quick' => 'Last month, all accounts',
+ 'report_last_month_quick' => 'Mês passado, todas as contas',
'report_this_year_quick' => 'Ano atual, todas as contas',
'report_this_fiscal_year_quick' => 'Ano fiscal atual, todas as contas',
'report_all_time_quick' => 'Todos os tempos, todas as contas',
@@ -1101,11 +1101,11 @@ return [
'period' => 'Período',
'balance' => 'Saldo',
'sum' => 'Soma',
- 'summary' => 'Summary',
+ 'summary' => 'Resumo',
'average' => 'Média',
'balanceFor' => 'Saldo para ":name"',
- 'no_tags_for_cloud' => 'No tags to generate cloud',
- 'tag_cloud' => 'Tag cloud',
+ 'no_tags_for_cloud' => 'Sem tags para gerar nuvem',
+ 'tag_cloud' => 'Nuvem de Tags',
// piggy banks:
'add_money_to_piggy' => 'Adicionar dinheiro ao cofrinho ":name"',
@@ -1287,7 +1287,7 @@ return [
'no_accounts_imperative_revenue' => 'As contas de receita são criadas automaticamente quando você cria transações, mas você também pode criar uma manualmente, se desejar. Vamos criar um agora:',
'no_accounts_create_revenue' => 'Criar uma conta de receita',
'no_accounts_title_liabilities' => 'Vamos criar um passivo!',
- 'no_accounts_intro_liabilities' => 'You have no liabilities yet. Liabilities are the accounts that register your (student) loans and other debts.',
+ 'no_accounts_intro_liabilities' => 'Você ainda não tem responsabilidades. As habilidades são as contas que registram seus empréstimos e outras dívidas.',
'no_accounts_imperative_liabilities' => 'Você não precisa usar esse recurso, mas pode ser útil se você quer controlar esse tipo de coisas.',
'no_accounts_create_liabilities' => 'Criar um passivo',
'no_budgets_title_default' => 'Vamos criar um orçamento',
@@ -1325,7 +1325,7 @@ return [
// recurring transactions
'recurrences' => 'Transações recorrentes',
- 'recurring_calendar_view' => 'Calendar',
+ 'recurring_calendar_view' => 'Calendário',
'no_recurring_title_default' => 'Vamos criar uma transação recorrente!',
'no_recurring_intro_default' => 'Você ainda não tem nenhuma transação recorrente. Você pode usá-las para que o Firefly III crie transações para você automaticamente.',
'no_recurring_imperative_default' => 'Essa é uma função bastante avançada, mas pode ser muito útil. Leia a documentação (ícone (?) no canto superior direito) antes de continuar.',
@@ -1339,12 +1339,12 @@ return [
'overview_for_recurrence' => 'Visão geral da transação recorrente ":title"',
'warning_duplicates_repetitions' => 'Em raras ocasiões, as datas aparecem duas vezes na lista. Isso pode acontecer quando várias repetições colidem. Firefly III sempre irá gerar uma transação por dia.',
'created_transactions' => 'Transações relacionadas',
- 'expected_withdrawals' => 'Expected withdrawals',
- 'expected_deposits' => 'Expected deposits',
- 'expected_transfers' => 'Expected transfers',
- 'created_withdrawals' => 'Created withdrawals',
- 'created_deposits' => 'Created deposits',
- 'created_transfers' => 'Created transfers',
+ 'expected_withdrawals' => 'Retiradas previstas',
+ 'expected_deposits' => 'Depósitos previstos',
+ 'expected_transfers' => 'Transferências previstas',
+ 'created_withdrawals' => 'Retiradas criadas',
+ 'created_deposits' => 'Depósitos criados',
+ 'created_transfers' => 'Transferências criadas',
'created_from_recurrence' => 'Criado a partir da transação recorrente ":title" (#:id)',
'recurring_never_cron' => 'Parece que o cron job necessário para dar suporte a transações recorrentes nunca foi executado. Isso é normal quando você acabou de instalar o Firefly III, mas deve ser configurado o quanto antes. Por favor, veja as páginas de ajuda usando o ícone (?) no canto superior direito da página.',
'recurring_cron_long_ago' => 'Faz mais de 36 horas que o cron job que dá suporte a transações recorrentes foi acionado pela última vez. Tem certeza de que foi configurado corretamente? Por favor, veja as páginas de ajuda usando o ícone (?) no canto superior direito da página.',
@@ -1370,20 +1370,20 @@ return [
'recurring_skips_one' => 'Intercalado',
'recurring_skips_more' => 'Pular :count ocorrências',
'store_new_recurrence' => 'Salvar transação recorrente',
- 'stored_new_recurrence' => 'Recurring transaction ":title" stored successfully.',
- 'edit_recurrence' => 'Edit recurring transaction ":title"',
- 'recurring_repeats_until' => 'Repeats until :date',
- 'recurring_repeats_forever' => 'Repetir para sempre',
+ 'stored_new_recurrence' => 'Transação recorrente ":title" armazenada com sucesso.',
+ 'edit_recurrence' => 'Editar transação recorrente ":title"',
+ 'recurring_repeats_until' => 'Repetir até :date',
+ 'recurring_repeats_forever' => 'Repetir sempre',
'recurring_repeats_x_times' => 'Repetir :count vez(es)',
- 'update_recurrence' => 'Alterar transaccao recorrente',
- 'updated_recurrence' => 'Alterar transaccao recorrente ":title"',
- 'recurrence_is_inactive' => 'This recurring transaction is not active and will not generate new transactions.',
- 'delete_recurring' => 'Delete recurring transaction ":title"',
- 'new_recurring_transaction' => 'New recurring transaction',
- 'help_weekend' => 'What should Firefly III do when the recurring transaction falls on a Saturday or Sunday?',
- 'do_nothing' => 'Just create the transaction',
- 'skip_transaction' => 'Skip the occurence',
- 'jump_to_friday' => 'Create the transaction on the previous Friday instead',
+ 'update_recurrence' => 'Atualizar transação recorrente',
+ 'updated_recurrence' => 'Atualizar transação recorrente ":title"',
+ 'recurrence_is_inactive' => 'Esta transação recorrente não está ativa e não gerará novas transações.',
+ 'delete_recurring' => 'Apagar transação recorrente ":title"',
+ 'new_recurring_transaction' => 'Nova transação recorrente',
+ 'help_weekend' => 'O que o Firefly III deve fazer quando a transação recorrente cai em um sábado ou domingo?',
+ 'do_nothing' => 'Apenas criar a transação',
+ 'skip_transaction' => 'Pular a ocorrência',
+ 'jump_to_friday' => 'Criar a transação na segunda-feira seguinte',
'jump_to_monday' => 'Criar a transação na segunda-feira seguinte',
'will_jump_friday' => 'Será criada na sexta-feira em vez de nos finais de semana.',
'will_jump_monday' => 'Será criada na segunda-feira em vez de nos finais de semana.',
diff --git a/resources/lang/pt_BR/form.php b/resources/lang/pt_BR/form.php
index 18a6998d51..84948ee347 100644
--- a/resources/lang/pt_BR/form.php
+++ b/resources/lang/pt_BR/form.php
@@ -45,13 +45,13 @@ return [
'attachments' => 'Anexos',
'journal_amount' => 'Quantia',
'journal_source_name' => 'Conta de receita (origem)',
- 'keep_bill_id' => 'Factura',
- 'journal_source_id' => 'Conta de activos (origem)',
+ 'keep_bill_id' => 'Fatura',
+ 'journal_source_id' => 'Conta de ativo (origem)',
'BIC' => 'BIC',
'verify_password' => 'Verificação da segurança da senha',
'source_account' => 'Conta de origem',
'destination_account' => 'Conta de destino',
- 'journal_destination_id' => 'Conta de activos (destino)',
+ 'journal_destination_id' => 'Conta de ativo (destino)',
'asset_destination_account' => 'Conta de destino',
'include_net_worth' => 'Incluir no patrimonio liquido',
'asset_source_account' => 'Conta de origem',
@@ -87,9 +87,9 @@ return [
'verification' => 'Verificação',
'api_key' => 'Chave da API',
'remember_me' => 'Lembrar-me',
- 'liability_type_id' => 'Tipo de responsabilidade',
- 'interest' => 'Juro',
- 'interest_period' => 'Periodo de juros',
+ 'liability_type_id' => 'Tipo de passivo',
+ 'interest' => 'Juros',
+ 'interest_period' => 'Período de juros',
'source_account_asset' => 'Conta de origem (conta de ativo)',
'destination_account_expense' => 'Conta de destino (conta de despesa)',
@@ -156,7 +156,7 @@ return [
'delete_rule_group' => 'Exclua o grupo de regras ":title"',
'delete_link_type' => 'Excluir tipo de link ":name"',
'delete_user' => 'Excluir o usuário ":email"',
- 'delete_recurring' => 'Apagar transaccao recorrente ":title"',
+ 'delete_recurring' => 'Apagar transação recorrente ":title"',
'user_areYouSure' => 'Se você excluir o usuário ":email", tudo desaparecerá. Não será possível desfazer a ação. Se excluir você mesmo, você perderá acesso total a essa instância do Firefly III.',
'attachment_areYouSure' => 'Tem certeza que deseja excluir o anexo denominado ":name"?',
'account_areYouSure' => 'Tem certeza que deseja excluir a conta denominada ":name"?',
@@ -165,7 +165,7 @@ return [
'ruleGroup_areYouSure' => 'Tem certeza que deseja excluir o grupo de regras intitulado ":title"?',
'budget_areYouSure' => 'Tem certeza que deseja excluir o orçamento chamado ":name"?',
'category_areYouSure' => 'Tem certeza que deseja excluir a categoria com o nome ":name"?',
- 'recurring_areYouSure' => 'Tens a certeza que pretendes apagar a transaccao recorrente chamada ":title"?',
+ 'recurring_areYouSure' => 'Tem certeza que deseja excluir o grupo de regras intitulado ":title"?',
'currency_areYouSure' => 'Tem certeza que deseja excluir a moeda chamada ":name"?',
'piggyBank_areYouSure' => 'Tem certeza que deseja excluir o cofrinho chamado ":name"?',
'journal_areYouSure' => 'Tem certeza que deseja excluir a transação descrita ":description"?',
@@ -181,11 +181,11 @@ return [
'also_delete_connections' => 'A única transação relacionada com este tipo de link vai perder a conexão. | Todas as transações de :count ligadas com este tipo de link vão perder sua conexão.',
'also_delete_rules' => 'A única regra que ligado a este grupo de regras será excluída também.|Todos as :count regras ligadas a este grupo de regras serão excluídas também.',
'also_delete_piggyBanks' => 'O único cofrinho conectado a essa conta será excluído também.|Todos os :count cofrinhos conectados a esta conta serão excluídos também.',
- 'bill_keep_transactions' => 'A unica transaccao vinculada a esta factura nao vai ser apagada.|Todas as :count transaccoes vinculadas a esta factura nao vao ser apagadas.',
- 'budget_keep_transactions' => 'A unica transaccao vinculada a este orcamento nao vai ser apagada.|Todas as :count transaccoes vinculadas a este orcamento nao vao ser apagadas.',
- 'category_keep_transactions' => 'A unica transaccao vinculada a esta categoria nao vai ser apagada.|Todas as :count transaccoes vinculadas a esta categoria nao vao ser apagadas.',
- 'recurring_keep_transactions' => 'A unica transaccao criada a partir desta transaccao recorrente nao vai ser apagada.|Todas as :count transaccoes criadas a partir desta transaccao recorrente nao vao ser apagadas.',
- 'tag_keep_transactions' => 'A unica transaccao vinculada a esta tag nao vai ser apagada.|Todas as :count transaccoes vinculadas a esta tag nao vao ser apagadas.',
+ 'bill_keep_transactions' => 'A única transação conectada a esta fatura não será excluída.|Todas as :count transações conectadas a esta fatura não serão excluídas.',
+ 'budget_keep_transactions' => 'A única transação conectada a este orçamento não será excluída.|Todas as :count transações conectadas a este orçamento não serão excluídas.',
+ 'category_keep_transactions' => 'A única transação conectada a esta categoria não será excluída.|Todas as :count transações conectadas a esta categoria não serão excluídas.',
+ 'recurring_keep_transactions' => 'A única transação criada por esta transação recorrente não será excluída.|Todas as :count transações criadas por esta transação recorrente não serão excluídas.',
+ 'tag_keep_transactions' => 'A única transação conectada a esta tag não será excluída.|Todas as :count transações conectadas a esta tag não serão excluídas.',
'check_for_updates' => 'Buscar atualizações',
'email' => 'E-mail',
@@ -198,8 +198,8 @@ return [
// import
'apply_rules' => 'Aplicar Regras',
'artist' => 'Artista',
- 'album' => 'Album',
- 'song' => 'Musica',
+ 'album' => 'Álbum',
+ 'song' => 'Música',
// admin
@@ -225,15 +225,15 @@ return [
'public_key' => 'Chave pública',
'country_code' => 'Código do país',
'provider_code' => 'Banco ou provedor de dados',
- 'fints_url' => 'URL da API FinTS',
+ 'fints_url' => 'URL da API do FinTS',
'fints_port' => 'Porta',
- 'fints_bank_code' => 'Codigo do banco',
- 'fints_username' => 'Utilizador',
- 'fints_password' => 'PIN / Password',
- 'fints_account' => 'Conta FinTS',
- 'local_account' => 'Conta Firefly III',
- 'from_date' => 'Data desde',
- 'to_date' => 'Data ate',
+ 'fints_bank_code' => 'Código do banco',
+ 'fints_username' => 'Usuário',
+ 'fints_password' => 'PIN / Senha',
+ 'fints_account' => 'Conta no FinTS',
+ 'local_account' => 'Conta no Firefly III',
+ 'from_date' => 'Data inicial',
+ 'to_date' => 'Data final',
'due_date' => 'Data de vencimento',
@@ -243,17 +243,17 @@ return [
'inward' => 'Descrição interna',
'outward' => 'Descrição externa',
'rule_group_id' => 'Grupo de regras',
- 'transaction_description' => 'Descricao da transaccao',
+ 'transaction_description' => 'Descrição da transação',
'first_date' => 'Primeira data',
- 'transaction_type' => 'Tipo de transaccao',
- 'repeat_until' => 'Repetir ate',
- 'recurring_description' => 'Descricao da transaccao recorrente',
- 'repetition_type' => 'Tipo de repeticao',
- 'foreign_currency_id' => 'Divisa estrangeira',
- 'repetition_end' => 'Repetica termina',
- 'repetitions' => 'Repeticoes',
- 'calendar' => 'Calendario',
- 'weekend' => 'Fim de semana',
- 'client_secret' => 'Segredo do cliente',
+ 'transaction_type' => 'Tipo de transação',
+ 'repeat_until' => 'Repetir até',
+ 'recurring_description' => 'Descrição da transação recorrente',
+ 'repetition_type' => 'Tipo de repetição',
+ 'foreign_currency_id' => 'Moeda estrangeira',
+ 'repetition_end' => 'Repetição termina',
+ 'repetitions' => 'Repetições',
+ 'calendar' => 'Calendário',
+ 'weekend' => 'Fim de Semana',
+ 'client_secret' => 'Chave secreta',
];
diff --git a/resources/lang/pt_BR/import.php b/resources/lang/pt_BR/import.php
index b7d0f52643..27ef3682b9 100644
--- a/resources/lang/pt_BR/import.php
+++ b/resources/lang/pt_BR/import.php
@@ -118,7 +118,7 @@ return [
'job_config_spectre_login_text' => 'Firefly III has found :count existing login(s) in your Spectre account. Which one would you like to use to import from?',
'spectre_login_status_active' => 'Activo',
'spectre_login_status_inactive' => 'Inactivo',
- 'spectre_login_status_disabled' => 'Desactivado',
+ 'spectre_login_status_disabled' => 'Desabilitado',
'spectre_login_new_login' => 'Login with another bank, or one of these banks with different credentials.',
'job_config_spectre_accounts_title' => 'Seleccionar as contas de onde vai importar',
'job_config_spectre_accounts_text' => 'You have selected ":name" (:country). You have :count account(s) available from this provider. Please select the Firefly III asset account(s) where the transactions from these accounts should be stored. Remember, in order to import data both the Firefly III account and the ":name"-account must have the same currency.',
@@ -140,9 +140,9 @@ return [
'bunq_savings_goal' => 'Savings goal: :amount (:percentage%)',
'bunq_account_status_CANCELLED' => 'Closed bunq account',
- 'ynab_account_closed' => 'A conta esta fechada!',
- 'ynab_account_deleted' => 'A conta esta apagada!',
- 'ynab_account_type_savings' => 'contas poupanca',
+ 'ynab_account_closed' => 'Conta fechada!',
+ 'ynab_account_deleted' => 'Conta excluída!',
+ 'ynab_account_type_savings' => 'conta poupança',
'ynab_account_type_checking' => 'checking account',
'ynab_account_type_cash' => 'conta de dinheiro',
'ynab_account_type_creditCard' => 'cartao de credito',
@@ -174,12 +174,12 @@ return [
'spectre_extra_key_card_type' => 'Tipo de cartao',
'spectre_extra_key_account_name' => 'Nome da conta',
'spectre_extra_key_client_name' => 'Nome do cliente',
- 'spectre_extra_key_account_number' => 'Numero da conta',
- 'spectre_extra_key_blocked_amount' => 'Montante bloqueado',
- 'spectre_extra_key_available_amount' => 'Montante disponivel',
- 'spectre_extra_key_credit_limit' => 'Limite de credito',
+ 'spectre_extra_key_account_number' => 'Número da conta',
+ 'spectre_extra_key_blocked_amount' => 'Valor bloqueado',
+ 'spectre_extra_key_available_amount' => 'Valor disponível',
+ 'spectre_extra_key_credit_limit' => 'Limite de crédito',
'spectre_extra_key_interest_rate' => 'Taxa de juros',
- 'spectre_extra_key_expiry_date' => 'Data de validade',
+ 'spectre_extra_key_expiry_date' => 'Data de vencimento',
'spectre_extra_key_open_date' => 'Data de abertura',
'spectre_extra_key_current_time' => 'Hora actual',
'spectre_extra_key_current_date' => 'Data actual',
diff --git a/resources/lang/pt_BR/list.php b/resources/lang/pt_BR/list.php
index 95506b9b5c..2709d7eff6 100644
--- a/resources/lang/pt_BR/list.php
+++ b/resources/lang/pt_BR/list.php
@@ -63,7 +63,7 @@ return [
'notes' => 'Notas',
'from' => 'De',
'piggy_bank' => 'Cofrinho',
- 'to' => 'Até',
+ 'to' => 'Para',
'budget' => 'Orçamento',
'category' => 'Categoria',
'bill' => 'Fatura',
diff --git a/resources/lang/pt_BR/validation.php b/resources/lang/pt_BR/validation.php
index 230e310be7..8908af7c02 100644
--- a/resources/lang/pt_BR/validation.php
+++ b/resources/lang/pt_BR/validation.php
@@ -25,7 +25,7 @@ declare(strict_types=1);
return [
'iban' => 'Este não é um válido IBAN.',
'zero_or_more' => 'O valor não pode ser negativo.',
- 'date_or_time' => 'The value must be a valid date or time value (ISO 8601).',
+ 'date_or_time' => 'O valor deve ser uma data válida (ISO 8601).',
'source_equals_destination' => 'A conta de origem é igual à conta de destino.',
'unique_account_number_for_user' => 'Parece que este número de conta já está em uso.',
'unique_iban_for_user' => 'Parece que este IBAN já está em uso.',
@@ -124,7 +124,7 @@ return [
'present' => 'O campo :attribute deve estar presente.',
'amount_zero' => 'O montante total não pode ser zero.',
'unique_piggy_bank_for_user' => 'O nome do cofrinho deve ser único.',
- 'secure_password' => 'Esta nao e uma password segura. Tenta de novo por favor. Para mais informacoes visita https://bit.ly/FF3-password-security',
+ 'secure_password' => 'Esta não é uma senha segura. Por favor, tente novamente. Para mais informações, visite https://bit.ly/FF3-password-security',
'valid_recurrence_rep_type' => 'Tipo de repetição inválido para transações recorrentes.',
'valid_recurrence_rep_moment' => 'Momento de repetição inválido para esse tipo de repetição.',
'invalid_account_info' => 'Informação de conta inválida.',
diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php
index 04520a820a..84553f3944 100644
--- a/resources/lang/ru_RU/firefly.php
+++ b/resources/lang/ru_RU/firefly.php
@@ -33,7 +33,7 @@ return [
'last_seven_days' => 'Последние 7 дней',
'last_thirty_days' => 'Последние 30 дней',
'welcomeBack' => 'Что происходит с моими финансами?',
- 'welcome_back' => 'What\'s playing?',
+ 'welcome_back' => 'Что происходит с моими финансами?',
'everything' => 'Всё',
'today' => 'сегодня',
'customRange' => 'Другой интервал',
@@ -218,19 +218,19 @@ return [
// search
'search' => 'Поиск',
'search_query' => 'Запрос',
- 'search_found_transactions' => 'Firefly III found :count transaction(s) in :time seconds.',
- 'search_for_query' => 'Firefly III is searching for transactions with all of these words in them: :query',
- 'search_modifier_amount_is' => 'Amount is exactly :value',
- 'search_modifier_amount' => 'Amount is exactly :value',
- 'search_modifier_amount_max' => 'Amount is at most :value',
- 'search_modifier_amount_min' => 'Amount is at least :value',
- 'search_modifier_amount_less' => 'Amount is less than :value',
- 'search_modifier_amount_more' => 'Amount is more than :value',
- 'search_modifier_source' => 'Source account is :value',
- 'search_modifier_destination' => 'Destination account is :value',
- 'search_modifier_category' => 'Category is :value',
- 'search_modifier_budget' => 'Budget is :value',
- 'search_modifier_bill' => 'Bill is :value',
+ 'search_found_transactions' => 'Firefly III нашёл :count транзакций за :time секунд.',
+ 'search_for_query' => 'Firefly III ищет транзакции со всеми этими словами: :query',
+ 'search_modifier_amount_is' => 'Сумма точно равна :value',
+ 'search_modifier_amount' => 'Сумма точно равна :value',
+ 'search_modifier_amount_max' => 'Сумма больше, чем :value',
+ 'search_modifier_amount_min' => 'Сумма не менее, чем :value',
+ 'search_modifier_amount_less' => 'Сумма меньше, чем :value',
+ 'search_modifier_amount_more' => 'Сумма больше, чем :value',
+ 'search_modifier_source' => 'Счёт-источник = :value',
+ 'search_modifier_destination' => 'Счёт назначения = :value',
+ 'search_modifier_category' => 'Категория = :value',
+ 'search_modifier_budget' => 'Бюджет = :value',
+ 'search_modifier_bill' => 'Счёт на оплату = :value',
'search_modifier_type' => 'Transaction type is :value',
'search_modifier_date' => 'Transaction date is :value',
'search_modifier_date_before' => 'Transaction date is before :value',
@@ -453,12 +453,12 @@ return [
'rule_action_link_to_bill_choice' => 'Ссылка на счёт к оплате..',
'rule_action_link_to_bill' => 'Ссылка на счёт к оплате ":action_value"',
'rule_action_set_notes' => 'Назначить примечания ":action_value"',
- 'rule_action_convert_deposit_choice' => 'Convert the transaction to a deposit',
- 'rule_action_convert_deposit' => 'Convert the transaction to a deposit from ":action_value"',
- 'rule_action_convert_withdrawal_choice' => 'Convert the transaction to a withdrawal',
- 'rule_action_convert_withdrawal' => 'Convert the transaction to a withdrawal to ":action_value"',
- 'rule_action_convert_transfer_choice' => 'Convert the transaction to a transfer',
- 'rule_action_convert_transfer' => 'Convert the transaction to a transfer with ":action_value"',
+ 'rule_action_convert_deposit_choice' => 'Преобразовать транзакцию в доход',
+ 'rule_action_convert_deposit' => 'Преобразовать транзакцию в доход с помощью ":action_value"',
+ 'rule_action_convert_withdrawal_choice' => 'Преобразовать транзакцию в расход',
+ 'rule_action_convert_withdrawal' => 'Преобразовать транзакцию в расход с помощью ":action_value"',
+ 'rule_action_convert_transfer_choice' => 'Преобразовать транзакцию в перевод',
+ 'rule_action_convert_transfer' => 'Преобразовать транзакцию в перевод с помощью ":action_value"',
'rules_have_read_warning' => 'Вы прочитали предупреждение?',
'apply_rule_warning' => 'Предупреждение: запуск правила (группы) при большом числе выбранных транзакций может занять много времени, и это может привести к тайм-ауту. Если это произойдёт, правило (группа) будут применены к неизвестной части ваших транзакций. Это может серьёзно повредить вашему управлению финансами. Пожалуйста, будьте осторожны.',
@@ -786,9 +786,9 @@ return [
'updated_account' => 'Обновить счёт ":name"',
'credit_card_options' => 'Параметры кредитной карты',
'no_transactions_account' => 'Для основного счёта ":name" нет транзакций (в этом периоде).',
- 'no_transactions_period' => 'There are no transactions (in this period).',
+ 'no_transactions_period' => 'Нет транзакций (в этот период).',
'no_data_for_chart' => 'Недостаточно информации (пока) для построения этой диаграммы.',
- 'select_at_least_one_account' => 'Please select at least one asset account',
+ 'select_at_least_one_account' => 'Выберите хотя бы один счёт',
'select_at_least_one_category' => 'Пожалуйста, выберите по крайней мере одну категорию',
'select_at_least_one_budget' => 'Пожалуйста, выберите по крайней мере один бюджет',
'select_at_least_one_tag' => 'Пожалуйста, выберите по крайней мере одну метку',
@@ -881,7 +881,7 @@ return [
'notes' => 'Заметки',
'unknown_journal_error' => 'Не удалось сохранить транзакцию. Пожалуйста, проверьте log-файлы.',
'attachment_not_found' => 'Вложение не найдено.',
- 'journal_link_bill' => 'This transaction is linked to bill :name. To remove the connection, uncheck the checkbox. Use rules to connect it to another bill.',
+ 'journal_link_bill' => 'Эта транзакция связана со счётом на оплату :name. Чтобы удалить эту связь, снимите галочку. Используйте правила для связи с другим счётом на оплату.',
// new user:
'welcome' => 'Добро пожаловать в Firefly III!',
@@ -950,7 +950,7 @@ return [
'tools' => 'Инструменты',
'piggyBanks' => 'Копилки',
'piggy_banks' => 'Копилки',
- 'amount_x_of_y' => '{current} of {total}',
+ 'amount_x_of_y' => '{current} из {total}',
'bills' => 'Счета к оплате',
'withdrawal' => 'Расход',
'opening_balance' => 'Начальный баланс',
@@ -1101,11 +1101,11 @@ return [
'period' => 'Период',
'balance' => 'Бaлaнc',
'sum' => 'Сумма',
- 'summary' => 'Summary',
+ 'summary' => 'Сводка',
'average' => 'Среднее значение',
'balanceFor' => 'Баланс для :name',
- 'no_tags_for_cloud' => 'No tags to generate cloud',
- 'tag_cloud' => 'Tag cloud',
+ 'no_tags_for_cloud' => 'Нет тегов для создания облака',
+ 'tag_cloud' => 'Облако тегов',
// piggy banks:
'add_money_to_piggy' => 'Добавить деньги в копилку ":name"',
@@ -1339,15 +1339,15 @@ return [
'overview_for_recurrence' => 'Обзор повторяющейся транзакции ":title"',
'warning_duplicates_repetitions' => 'In rare instances, dates appear twice in this list. This can happen when multiple repetitions collide. Firefly III will always generate one transaction per day.',
'created_transactions' => 'Связанные транзакции',
- 'expected_withdrawals' => 'Expected withdrawals',
- 'expected_deposits' => 'Expected deposits',
- 'expected_transfers' => 'Expected transfers',
- 'created_withdrawals' => 'Created withdrawals',
- 'created_deposits' => 'Created deposits',
- 'created_transfers' => 'Created transfers',
+ 'expected_withdrawals' => 'Просроченные расходы',
+ 'expected_deposits' => 'Просроченные доходы',
+ 'expected_transfers' => 'Просроченные переводы',
+ 'created_withdrawals' => 'Расходы созданы',
+ 'created_deposits' => 'Доходы созданы',
+ 'created_transfers' => 'Переводы созданы',
'created_from_recurrence' => 'Создано из повторяющейся транзакции ":title" (#:id)',
- 'recurring_never_cron' => 'It seems the cron job that is necessary to support recurring transactions has never run. This is of course normal when you have just installed Firefly III, but this should be something to set up as soon as possible. Please check out the help-pages using the (?)-icon in the top right corner of the page.',
- 'recurring_cron_long_ago' => 'It looks like it has been more than 36 hours since the cron job to support recurring transactions has fired for the last time. Are you sure it has been set up correctly? Please check out the help-pages using the (?)-icon in the top right corner of the page.',
+ 'recurring_never_cron' => 'Похоже, что задание cron, которое необходимо для работы повторяющихся транзакций, никогда не запускалось. Это совершенно нормально, если вы только что установили Firefly III, но возможно стоит проверить кое-какие настройки как можно скорее. Пожалуйста, перечитайте страницу справки, используя значок (?) в верхнем правом углу этой страницы.',
+ 'recurring_cron_long_ago' => 'Похоже, что прошло более 36 часов с того времени, когда задание cron должно было быть выполнено в последний раз. Вы уверены, что всё настроено правильно? Пожалуйста, перечитайте страницу справки, используя значок (?) в верхнем правом углу этой страницы.',
'recurring_meta_field_tags' => 'Метки',
'recurring_meta_field_notes' => 'Примечания',
@@ -1378,14 +1378,14 @@ return [
'update_recurrence' => 'Обновить повторяющуюся транзакцию',
'updated_recurrence' => 'Повторяющаяся транзакция ":title" обновлена',
'recurrence_is_inactive' => 'Эта повторяющаяся транзакция не активна и не создаёт новые транзакции.',
- 'delete_recurring' => 'Delete recurring transaction ":title"',
- 'new_recurring_transaction' => 'New recurring transaction',
- 'help_weekend' => 'What should Firefly III do when the recurring transaction falls on a Saturday or Sunday?',
- 'do_nothing' => 'Just create the transaction',
- 'skip_transaction' => 'Skip the occurence',
- 'jump_to_friday' => 'Create the transaction on the previous Friday instead',
- 'jump_to_monday' => 'Create the transaction on the next Monday instead',
- 'will_jump_friday' => 'Will be created on Friday instead of the weekends.',
+ 'delete_recurring' => 'Удалить повторяющуюся транзакцию ":title"',
+ 'new_recurring_transaction' => 'Новая запланированная транзакция',
+ 'help_weekend' => 'Что должен сделать Firefly III, когда повторяющаяся транзакция попадает на субботу или воскресенье?',
+ 'do_nothing' => 'Просто создать транзакцию',
+ 'skip_transaction' => 'Не создавать транзакцию',
+ 'jump_to_friday' => 'Создать транзакцию в предшествующую пятницу',
+ 'jump_to_monday' => 'Создать транзакцию в следующий понедельник',
+ 'will_jump_friday' => 'Будет создана в пятницу, а не в выходной день.',
'will_jump_monday' => 'Будет создана в понедельник, а не в выходной день.',
'except_weekends' => 'Исключить выходные дни',
'recurrence_deleted' => 'Повторяющаяся транзакция ":title" удалена',
diff --git a/resources/lang/ru_RU/import.php b/resources/lang/ru_RU/import.php
index c9b3645ead..c64a18874a 100644
--- a/resources/lang/ru_RU/import.php
+++ b/resources/lang/ru_RU/import.php
@@ -153,7 +153,7 @@ return [
'ynab_account_type_merchantAccount' => 'merchant account',
'ynab_account_type_investmentAccount' => 'investment account',
'ynab_account_type_mortgage' => 'ипотека',
- 'ynab_do_not_import' => '(do not import)',
+ 'ynab_do_not_import' => '(не импортировать)',
'job_config_ynab_apply_rules' => 'Применить правила',
'job_config_ynab_apply_rules_text' => 'By default, your rules will be applied to the transactions created during this import routine. If you do not want this to happen, deselect this checkbox.',
@@ -163,7 +163,7 @@ return [
'job_config_ynab_no_budgets' => 'There are no budgets available to be imported from.',
'ynab_no_mapping' => 'It seems you have not selected any accounts to import from.',
'job_config_ynab_bad_currency' => 'You cannot import from the following budget(s), because you do not have accounts with the same currency as these budgets.',
- 'job_config_ynab_accounts_title' => 'Select accounts',
+ 'job_config_ynab_accounts_title' => 'Выберите аккаунты',
'job_config_ynab_accounts_text' => 'You have the following accounts available in this budget. Please select from which accounts you want to import, and where the transactions should be stored.',
@@ -171,9 +171,9 @@ return [
'spectre_extra_key_iban' => 'IBAN',
'spectre_extra_key_swift' => 'SWIFT',
'spectre_extra_key_status' => 'Статус',
- 'spectre_extra_key_card_type' => 'Card type',
- 'spectre_extra_key_account_name' => 'Account name',
- 'spectre_extra_key_client_name' => 'Client name',
+ 'spectre_extra_key_card_type' => 'Тип карты',
+ 'spectre_extra_key_account_name' => 'Название счёта',
+ 'spectre_extra_key_client_name' => 'Имя клиента',
'spectre_extra_key_account_number' => 'Account number',
'spectre_extra_key_blocked_amount' => 'Blocked amount',
'spectre_extra_key_available_amount' => 'Available amount',
diff --git a/resources/lang/ru_RU/validation.php b/resources/lang/ru_RU/validation.php
index ec0bfc5679..4390f77690 100644
--- a/resources/lang/ru_RU/validation.php
+++ b/resources/lang/ru_RU/validation.php
@@ -25,7 +25,7 @@ declare(strict_types=1);
return [
'iban' => 'Это некорректный IBAN.',
'zero_or_more' => 'Это значение не может быть отрицательным.',
- 'date_or_time' => 'The value must be a valid date or time value (ISO 8601).',
+ 'date_or_time' => 'Значение должно быть корректной датой или временем (ISO 8601).',
'source_equals_destination' => 'Счёт источник и счёт назначения совпадают.',
'unique_account_number_for_user' => 'Этот номер счёта уже используется.',
'unique_iban_for_user' => 'Этот IBAN уже используется.',
diff --git a/resources/lang/zh_TW/auth.php b/resources/lang/zh_TW/auth.php
index face59d682..6131c3e6f6 100644
--- a/resources/lang/zh_TW/auth.php
+++ b/resources/lang/zh_TW/auth.php
@@ -24,5 +24,5 @@ declare(strict_types=1);
return [
'failed' => '憑證與系統記錄不符。',
- 'throttle' => '過多登入嘗試,請於 :seconds 秒後重試。',
+ 'throttle' => '登入嘗試太多,請於 :seconds 秒後重試。',
];
diff --git a/resources/lang/zh_TW/components.php b/resources/lang/zh_TW/components.php
index 89c5dcca43..2f4a84f9ec 100644
--- a/resources/lang/zh_TW/components.php
+++ b/resources/lang/zh_TW/components.php
@@ -24,9 +24,9 @@ declare(strict_types=1);
return [
// profile
- 'personal_access_tokens' => '個人訪問權杖',
+ 'personal_access_tokens' => '個人存取權杖',
// bills:
- 'not_expected_period' => '本期未預期',
+ 'not_expected_period' => '未預期在此時期內',
'not_or_not_yet' => '(還) 沒有',
];
diff --git a/resources/lang/zh_TW/demo.php b/resources/lang/zh_TW/demo.php
index c228479548..94097b11a4 100644
--- a/resources/lang/zh_TW/demo.php
+++ b/resources/lang/zh_TW/demo.php
@@ -23,16 +23,16 @@
declare(strict_types=1);
return [
- 'no_demo_text' => '抱歉,沒有額外的展示說明文字可供 此頁。',
- 'see_help_icon' => '不過,右上角的這個 -圖示或許可以告訴你更多資訊。',
- 'index' => '歡迎來到 Firefly III!您可在此頁快速概覽您的財務狀況。如需更多資, 請前往帳戶 → 資產帳戶 亦或是 預算 以及 報表 頁面。您也可以繼續瀏覽此頁。',
- 'accounts-index' => '資產帳戶是您的個人銀行帳戶。支出帳戶是您花費金錢的帳戶,如商家或其他友人。收入帳戶是您獲得收入的地方,如您的工作、政府或其他收入源。債務是您的借貸,如信用卡帳單或學生貸款。在此頁面您可以編輯或刪除這些項目。',
- 'budgets-index' => '此頁面顯示您的預算概覽。上方橫條顯示可用預算額,它可隨時透過點選右方的總額進行客製化。您已花費的額度則顯示在下方橫條,而以下則是每條預算的支出以及您已編列的預算。',
- 'reports-index-start' => 'Firefly III 支援數種不同的報表形式,您可以點選右上方的 -圖示獲得更多資訊。',
- 'reports-index-examples' => '請確認您以檢閱過以下範例:月財務概覽、年度財務概覽 以及 預算概覽。',
- 'currencies-index' => 'Firefly III 支援多種貨幣,即便預設為歐元,亦可設成美金或其他貨幣。如您所見,系統已包含了一小部分的貨幣種類,但您也可自行新增其他貨幣。修改預設貨幣並不會改變既有交易的貨幣種類,且 Firefly III 支援同時使用不同貨幣。',
- 'transactions-index' => '這些支出、儲蓄與轉帳並非蓄意虛構,而是自動產生的。',
- 'piggy-banks-index' => '如您所見,目前有3個小豬撲滿。使用 + 號與 - 號按鈕可改變每個小豬撲滿的總額,而點選小豬撲滿的名稱則可管理該撲滿。',
- 'import-index' => '任何 CSV 格式的檔案都可匯入 Firefly III,本程式也支援來自 bunq 與 Spectre 的檔案格式,其他銀行與金融機構則會在未來提供支援。而作為一名展示使用者,你只會看到「假的」供應者,系統會隨機產生交易紀錄以告知您如何運作。',
- 'profile-index' => '請謹記本展示網站每四小時會自動重新啟用,您的訪問憑證可能隨時被撤銷,這是自動發生而非錯誤。',
+ 'no_demo_text' => '抱歉,此頁未提供額外的展示說明。',
+ 'see_help_icon' => '不過,右上角的 圖示也許會給您一點資訊。',
+ 'index' => '歡迎使用 Firefly III!此頁可讓您快速概覽財務狀況。至於詳細資料,可見 帳戶 → 資產帳戶,另見 預算 和 報表 頁面。當然,您也可以到處逛逛看。',
+ 'accounts-index' => '資產帳戶比如是您的銀行個人帳戶。支出帳戶是您花錢的帳戶,如商家或其他友人。收入帳戶是您的財源,如工作、政府或其他收入來源。債務是您的借貸,如信用卡帳單或學生貸款。這些都可在此頁編輯或刪除。',
+ 'budgets-index' => '此頁顯示您的預算概覽。上方橫條顯示可用預算額,按一下右方的總額就可自訂該時期的預算額。您已花費的額度則在下方橫條顯示,隨後是每一預算的支出及編製預算額。',
+ 'reports-index-start' => 'Firefly III 支援數種不同類型的報表,按一下右上方的 圖示可查看更多資訊。',
+ 'reports-index-examples' => '舉例說:月財務概覽、年度財務概覽 及 預算概覽,記得去看看。',
+ 'currencies-index' => 'Firefly III 支援多種貨幣,預設為歐元,但亦可設成美元或其他貨幣。您可見到系統已預設包含一些貨幣種類,但您也可自行新增其他貨幣。修改預設貨幣並不會改變現有交易的貨幣種類:Firefly III 是支援同時使用多種貨幣的。',
+ 'transactions-index' => '這些支出、存款與轉帳談不上別出心裁:這些範例是自動產生的。',
+ 'piggy-banks-index' => '您可見到有 3 個小豬撲滿。使用 + 號、- 號按鈕控制每個小豬撲滿的存款額,按一下小豬撲滿的名稱則可查看管理詳情。',
+ 'import-index' => '任何 CSV 格式的檔案都可匯入 Firefly III,也支援自 bunq 與 Spectre 匯入資料,日後或會支援其他銀行與金融機構。展示使用者只會看到「虛擬」提供者的示範,系統會隨機產生交易紀錄以示範操作過程。',
+ 'profile-index' => '請注意,本展示網站每 4 小時會自動重設,存取權限可能隨時撤銷。這是自動安排的,不是錯誤。',
];
diff --git a/resources/lang/zh_TW/firefly.php b/resources/lang/zh_TW/firefly.php
index 71b4488a7d..6417fa3dba 100644
--- a/resources/lang/zh_TW/firefly.php
+++ b/resources/lang/zh_TW/firefly.php
@@ -33,7 +33,7 @@ return [
'last_seven_days' => '最近7天',
'last_thirty_days' => '最近30天',
'welcomeBack' => '吃飽沒?',
- 'welcome_back' => 'What\'s playing?',
+ 'welcome_back' => '吃飽沒?',
'everything' => '所有',
'today' => '今天',
'customRange' => '自訂範圍',
@@ -46,7 +46,7 @@ return [
'help_translating' => '此說明尚欠奉中文版,要協助翻譯嗎?',
'showEverything' => '全部顯示',
'never' => '未有資料',
- 'no_results_for_empty_search' => '您的搜尋為空,找不到任何東西。',
+ 'no_results_for_empty_search' => '您的搜尋空白,結果也是空白。',
'removed_amount' => '已移除 :amount',
'added_amount' => '已新增 :amount',
'asset_account_role_help' => '選擇後如有額外選項,可稍後設定。',
@@ -70,25 +70,25 @@ return [
'new_liabilities_account' => '新債務',
'new_budget' => '新預算',
'new_bill' => '新帳單',
- 'block_account_logout' => '你已被登出。被封鎖的帳號不能使用本網站,您沒有以有效的電子郵件地址註冊嗎?',
+ 'block_account_logout' => '您已被登出。被封鎖的帳號無法使用本網站,您是以有效的電子郵件地址註冊嗎?',
'flash_success' => '成功!',
'flash_info' => '訊息',
'flash_warning' => '警告!',
'flash_error' => '錯誤!',
- 'flash_info_multiple' => '有1個訊息|有 :count 個訊息',
- 'flash_error_multiple' => '有1個錯誤|有 :count 個錯誤',
+ 'flash_info_multiple' => '有 1 個訊息|有 :count 個訊息',
+ 'flash_error_multiple' => '有 1 個錯誤|有 :count 個錯誤',
'net_worth' => '淨值',
'route_has_no_help' => '此處尚未提供說明。',
'help_for_this_page' => '本頁說明',
'no_help_could_be_found' => '找不到說明文本。',
'no_help_title' => '不好意思,發生一個錯誤。',
'two_factor_welcome' => ':user 您好!',
- 'two_factor_enter_code' => '若要繼續,請輸入你的兩步驟驗證 (two factor authentication) 代碼,您的應用程式可為您產生。',
+ 'two_factor_enter_code' => '如要繼續,請輸入您的兩步驟驗證 (two factor authentication) 代碼,您的應用程式可為您產生。',
'two_factor_code_here' => '在此輸入代碼',
'two_factor_title' => '兩步驟驗證',
'authenticate' => '驗證',
'two_factor_forgot_title' => '遺失兩步驟驗證',
- 'two_factor_forgot' => '往忘記我的兩步驟什麼的。',
+ 'two_factor_forgot' => '啥兩步驟我忘了。',
'two_factor_lost_header' => '遺失您的兩步驟驗證嗎?',
'two_factor_lost_intro' => '可惜,網頁介面並不提供重設。以下方法請二擇其一。',
'two_factor_lost_fix_self' => '若您自行架構 Firefly III,請查閱 storage/logs
中日誌檔內的指示。',
@@ -163,11 +163,11 @@ return [
'chart_all_journals_for_budget' => '預算 :name 的所有交易圖表',
'journals_in_period_for_category' => '分類 :name 自 :start 至 :end 的所有交易',
'journals_in_period_for_tag' => '標籤 :tag 自 :start 至 :end 的所有交易',
- 'not_available_demo_user' => '您欲使用的功能並無開放給展示使用者',
+ 'not_available_demo_user' => '此功能未開放予展示使用者。',
'exchange_rate_instructions' => '資產帳戶「@name」僅接受以 @native_currency 交易,若您希望使用 @foreign_currency,請確認對應 @native_currency 的總額:',
'transfer_exchange_rate_instructions' => '來源資產帳戶「@source_name」僅接受以 @source_currency 交易,目標資產帳戶「@dest_name」僅接受以 @dest_currency 交易,您必須提供對應兩種貨幣的轉帳總額。',
'transaction_data' => '交易資料',
- 'invalid_server_configuration' => '無效伺服器組態',
+ 'invalid_server_configuration' => '伺服器組態無效',
'invalid_locale_settings' => 'Firefly III 無法格式化金額,因為伺服器缺少必要套件。請參閱 相關指示。',
'quickswitch' => '快速切換',
'sign_in_to_start' => '登入以開始您的連線階段',
@@ -185,7 +185,7 @@ return [
'reset_pw_page_title' => '重設您 Firefly III 的密碼',
'cannot_reset_demo_user' => '您不能重設 展示使用者 的密碼。',
'button_register' => '註冊帳號',
- 'authorization' => '身份認証',
+ 'authorization' => '身份認證',
'active_bills_only' => '僅限使用中帳單',
'average_per_bill' => '每張帳單的平均數',
'expected_total' => '預期總數',
@@ -194,7 +194,7 @@ return [
'authorization_request_intro' => ':client 正要求權限存取您的財務管理,您是否願意授權 :client 存取這些紀錄?',
'scopes_will_be_able' => '此應用程式可以:',
'button_authorize' => '授權',
- 'none_in_select_list' => '(空)',
+ 'none_in_select_list' => '(空)',
'name_in_currency' => ':name 於 :currency',
'paid_in_currency' => '以 :currency 支付',
'unpaid_in_currency' => '未以 :currency 支付',
@@ -203,7 +203,7 @@ return [
'update_check_title' => '檢查更新',
'admin_update_check_title' => '自動檢查更新',
'admin_update_check_explain' => 'Firefly III 可以自動檢查更新。啟用此設定時,將會自動連接 Github 查看是否有新版本可用,並在可用時顯示一則通知。您可使用右方按鈕測試通知功能,並於下方表示您是否希望 Firefly III 檢查更新。',
- 'check_for_updates_permission' => 'Firefly III 可自動檢查更新,但此功能需要您的許可。請轉至 後臺管理 表明您是否需要啟用此功能。',
+ 'check_for_updates_permission' => 'Firefly III 可以自動檢查更新,但需要您先許可。請前往 系統管理 表示您是否想啟用此功能。',
'updates_ask_me_later' => '稍後再詢問',
'updates_do_not_check' => '不檢查更新',
'updates_enable_check' => '啟用更新檢查',
@@ -496,18 +496,18 @@ return [
'pref_6M' => '6個月',
'pref_1Y' => '1年',
'pref_languages' => '語言',
- 'pref_languages_help' => 'Firefly III 支援多種語言,您傾向使用何者?',
+ 'pref_languages_help' => 'Firefly III 支援多種語言,您想顯示哪一種?',
'pref_custom_fiscal_year' => '財政年度設定',
'pref_custom_fiscal_year_label' => '已啟用',
- 'pref_custom_fiscal_year_help' => '在使用1月1日至12月31日以外作為會計年度的國家,您可開啟此功能並指定財政年度的起迄日。',
+ 'pref_custom_fiscal_year_help' => '有些國家/地區採用的會計年度有別於每年 1 月 1 日至 12 月 31 日,您可開啟此功能並指定財政年度的起迄日。',
'pref_fiscal_year_start_label' => '財政年度開始日期',
'pref_two_factor_auth' => '兩步驟驗證',
- 'pref_two_factor_auth_help' => '當您啟用兩步驟驗證 (亦稱為雙重驗證),便為您的帳號增加了一層安全保護。您以已知的方式 (密碼) 以及既有物 (認證碼) 登入,認證碼係由您的手機產生,如 Authy 或 Google 身份驗證器。',
+ 'pref_two_factor_auth_help' => '啟用兩步驟驗證 (亦稱為雙重驗證) 可為您的帳號增添一重安全保障,登入時需憑您腦海的記憶 (密碼) 加上一個手持的憑證 (認證碼),認證碼由手機應用程式產生,例如 Authy 或 Google Authenticator。',
'pref_enable_two_factor_auth' => '啟用兩步驟驗證',
- 'pref_two_factor_auth_disabled' => '兩步驟驗證碼已刪除且停用',
- 'pref_two_factor_auth_remove_it' => '別忘記自您的驗證應用程式上刪除帳號!',
+ 'pref_two_factor_auth_disabled' => '兩步驟驗證碼已移除並停用',
+ 'pref_two_factor_auth_remove_it' => '別忘記在您的驗證應用程式上刪除此帳號!',
'pref_two_factor_auth_code' => '驗證碼',
- 'pref_two_factor_auth_code_help' => '使用手機上的應用程式,如 Authy 或 Google 身分驗證器,掃描 QR 碼並輸入自動產生之代碼。',
+ 'pref_two_factor_auth_code_help' => '使用您手機上的應用程式 (如 Authy 或 Google Authenticator) 掃描 QR 碼並輸入自動產生之代碼。',
'pref_two_factor_auth_reset_code' => '重設認證碼',
'pref_two_factor_auth_disable_2fa' => '停用兩步驟驗證',
'2fa_use_secret_instead' => '如果您無法掃描 QR 碼,請使用密鑰: :secret。',
@@ -526,7 +526,7 @@ return [
'list_page_size_label' => '頁面大小',
'between_dates' => '(:start 與 :end)',
'pref_optional_fields_transaction' => '交易的選填欄位',
- 'pref_optional_fields_transaction_help' => '預設狀況下,建立一筆新交易 (由於叢集關係) 時,並非所有欄位都是啟用的。以下,您可啟用您覺得對您有用的欄位。當然,任何已鍵入卻停用的欄位,仍是可見的,與設定無關。',
+ 'pref_optional_fields_transaction_help' => '建立新交易時,預設不會啟用全部欄位 (以免版面空間不敷應用)。您可在下方啟用您覺得有用的欄位。當然,若欄位本身停用卻已填入資料,則不論設定如何均會顯示。',
'optional_tj_date_fields' => '日期欄位',
'optional_tj_business_fields' => '商務欄位',
'optional_tj_attachment_fields' => '附加檔案欄位',
@@ -536,60 +536,60 @@ return [
'pref_optional_tj_due_date' => '截止日期',
'pref_optional_tj_payment_date' => '付款日期',
'pref_optional_tj_invoice_date' => '發票日期',
- 'pref_optional_tj_internal_reference' => '內部參考',
- 'pref_optional_tj_notes' => '註釋',
+ 'pref_optional_tj_internal_reference' => '內部參照',
+ 'pref_optional_tj_notes' => '備註',
'pref_optional_tj_attachments' => '附加檔案',
'optional_field_meta_dates' => '日期',
'optional_field_meta_business' => '商務',
'optional_field_attachments' => '附加檔案',
- 'optional_field_meta_data' => '可選後設資料',
+ 'optional_field_meta_data' => '可選中繼資料',
// profile:
'change_your_password' => '更改您的密碼',
- 'delete_account' => '移除帳戶',
+ 'delete_account' => '移除帳號',
'current_password' => '目前密碼',
'new_password' => '新密碼',
'new_password_again' => '新密碼 (再輸入一次)',
- 'delete_your_account' => '刪除您的帳戶',
- 'delete_your_account_help' => '刪除您的帳戶亦將刪除任何帳戶、交易、任何 您可能存再 Firefly III 的東西,均將消逝。',
+ 'delete_your_account' => '刪除您的帳號',
+ 'delete_your_account_help' => '刪除您的帳號,將一併刪除任何帳戶、交易,一切 您可能儲存在 Firefly III 上的資料,都將一去不復返。',
'delete_your_account_password' => '輸入您的密碼以繼續。',
'password' => '密碼',
- 'are_you_sure' => '是否確定?您無法還原此操作。',
- 'delete_account_button' => '刪除您的帳戶',
+ 'are_you_sure' => '您確定嗎?您無法還原此操作。',
+ 'delete_account_button' => '*刪除* 您的帳號',
'invalid_current_password' => '無效的目前密碼!',
'password_changed' => '已變更密碼!',
- 'should_change' => '我們的想法是更改您的密碼。',
+ 'should_change' => '建議您變更密碼。',
'invalid_password' => '無效密碼!',
'what_is_pw_security' => '何謂 "驗證密碼安全"?',
- 'secure_pw_title' => '如何選擇安全密碼',
- 'secure_pw_history' => '每週無不見有關網站遺失使用者密碼的相關新聞,駭客與竊賊使用這些帳號密碼企圖竊取您的個人資訊,這些資訊是很有價值的。',
- 'secure_pw_ff' => '您在網路上都使用一樣的密碼嗎?如果一個網站遺失您的密碼,駭客將可通行您的所有資料。Firefly III 需要您選擇強大且獨特的密碼以保護您的財務紀錄。',
- 'secure_pw_check_box' => '為了協助您達成安全密碼的目的,Firefly III 可自動檢查您的密碼過去是否已被盜用。若然,Firefly III 建議您避免使用此密碼。',
- 'secure_pw_working_title' => '它是如何運作的?',
- 'secure_pw_working' => '藉由勾選此方塊,Firefly III 會傳送您密碼產生的SHA1 hash 的前5字元至 特洛伊獵殺網站 以檢查是否上榜。如最新的 NIST 特殊刊物 與此相關的主題所建議的,結果將制止您使用不安全的密碼。',
- 'secure_pw_should' => '我應該勾選這個方塊嗎?',
- 'secure_pw_long_password' => '是,永遠驗證您的密碼是安全的。',
+ 'secure_pw_title' => '如何選擇安全的密碼',
+ 'secure_pw_history' => '翻閱新聞,屢屢可見有網站遺失使用者密碼,駭客與竊賊利用這些密碼企圖竊取個人資料,這些資訊是有價的。',
+ 'secure_pw_ff' => '您在網路上都用同一個密碼走天涯嗎?如果一個網站遺失您的密碼,駭客就可存取您所有的資料。Firefly III 倚賴您選擇一個強而獨特的密碼以保護您的財務紀錄。',
+ 'secure_pw_check_box' => '為此,Firefly III 可協助您檢查選用的密碼過去是否曾被竊取。若然如此,Firefly III 建議您避免使用此密碼。',
+ 'secure_pw_working_title' => '這是如何運作?',
+ 'secure_pw_working' => '若您勾選此方塊,Firefly III 將以您的密碼產生一個 SHA1 湊合,並將首 5 個字元傳送到 Troy Hunt 的網站 比對一個清單,避免您使用一些已知不安全的密碼,遵從最近 NIST Special Publication 有關此課題的建議。',
+ 'secure_pw_should' => '我該勾選此方塊嗎?',
+ 'secure_pw_long_password' => '是,好以驗證您的密碼是安全的。',
'command_line_token' => '指令列權杖',
- 'explain_command_line_token' => '您需要此權杖以執行指令列選項,如匯入或匯出資料。若無權杖,部分機敏指令則無法運行。請勿分享您的指令列權杖,包括我,沒有人會問你權杖為何。如果您擔心遺失或驚慌時,請使用按鈕重新產生權杖。',
+ 'explain_command_line_token' => '您需要此權杖以執行指令列選項,如匯入或匯出資料。部分機敏指令若無此權仗將無法執行。切勿分享您的指令列權杖。沒有人 (包括我) 會向您索取權仗。若您擔心曾遺失權仗或感到不放心,可按一下此按鈕重新產生權杖。',
'regenerate_command_line_token' => '重新產生指令列權杖',
'token_regenerated' => '產生了新的指令列權杖',
'change_your_email' => '更改您的電子郵件地址',
- 'email_verification' => '一封電子郵件將發送到您的舊的和新的電子郵件地址。出於安全考量,在驗證新的電子郵件地址之前,您將無法登入。如果您不確定您的 Firefly III 安裝是否能夠發送電子郵件,請不要使用此功能。如果您是管理員,可以在 後台管理 中對此進行測試。',
- 'email_changed_logout' => '在驗證您的電子郵件地址之前,您無法登入。',
+ 'email_verification' => '將同時寄送一封電子郵件到您的舊和新的電子郵件地址。顧及安全考慮,在驗證新的電子郵件地址之前,您將無法登入。如果您不確定您的 Firefly III 安裝是否能夠發送電子郵件,請勿使用此功能。如果您是管理員,可以在 系統管理 中對此進行測試。',
+ 'email_changed_logout' => '在驗證您的電子郵件地址之前,您將無法登入。',
'login_with_new_email' => '現在,您可以使用新的電子郵件地址登入。',
'login_with_old_email' => '現在,您可以再次使用舊的電子郵件地址登入。',
'login_provider_local_only' => '當藉由 ":login_provider" 驗證時,此動作不可用。',
'delete_local_info_only' => '由於您以 ":login_provider" 驗證,僅會刪除本機 Firefly III 資訊。',
// attachments
- 'nr_of_attachments' => '1個附加檔案|:count 個附加檔案',
+ 'nr_of_attachments' => '̇1 個附加檔案|:count 個附加檔案',
'attachments' => '附加檔案',
'edit_attachment' => '編輯附加檔案 ":name"',
'update_attachment' => '更新附加檔案',
'delete_attachment' => '刪除附加檔案 ":name"',
'attachment_deleted' => '已刪除附加檔案 ":name"',
'attachment_updated' => '已更新附加檔案 ":name',
- 'upload_max_file_size' => '最大檔案尺寸: :size',
+ 'upload_max_file_size' => '最大檔案大小: :size',
'list_all_attachments' => '全部附加檔案清單',
// transaction index
@@ -656,7 +656,7 @@ return [
'created_currency' => ':name 貨幣已建立',
'could_not_store_currency' => '無法儲存新貨幣',
'updated_currency' => ':name 貨幣已更新',
- 'ask_site_owner' => '請詢問 :owner 以新增、刪除或編輯貨幣。',
+ 'ask_site_owner' => '請要求 :owner 新增、刪除或編輯貨幣。',
'currencies_intro' => 'Firefly III 支援多種貨幣,您可在此設定並啟用。',
'make_default_currency' => '設為預設',
'default_currency' => '預設',
@@ -695,7 +695,7 @@ return [
'available_amount_indication' => '使用這些金額以獲得您總預算可能為何的指標',
'suggested' => '建議',
'average_between' => '自 :start 至 :end 的平均',
- 'over_budget_warn' => ' 通常您的每日預算為 :amount,此為每日 :over_amount。',
+ 'over_budget_warn' => ' 您每日通常預算約 :amount,此為每日 :over_amount。',
// bills:
'match_between_amounts' => '帳單配合自 :low 至 :high 的交易。',
@@ -703,7 +703,7 @@ return [
'repeats' => '重複',
'connected_journals' => '已連接交易',
'auto_match_on' => '由 Firefly III 自動配對',
- 'auto_match_off' => '由 Firefly III 不自動配對',
+ 'auto_match_off' => '不由 Firefly III 自動配對',
'next_expected_match' => '下一個預期配對',
'delete_bill' => '刪除帳單 ":name"',
'deleted_bill' => '已刪除帳單 ":name"',
@@ -726,7 +726,7 @@ return [
'list_inactive_rule' => '未啟用的規則',
// accounts:
- 'account_missing_transaction' => '帳戶 #:id (":name") 無法直接被檢視,但 Firefly 找不到重新轉向資訊。',
+ 'account_missing_transaction' => '帳戶 #:id (":name") 無法直接檢視,惟 Firefly 找不到重新導向資訊。',
'details_for_asset' => '資產帳戶 ":name" 的詳細資訊',
'details_for_expense' => '支出帳戶 ":name" 的詳細資訊',
'details_for_revenue' => '收入帳戶 ":name" 的詳細資訊',
@@ -767,7 +767,7 @@ return [
'start_of_reconcile_period' => '對帳區間開始: :period',
'start_balance' => '初始餘額',
'end_balance' => '結束餘額',
- 'update_balance_dates_instruction' => '與您的銀行帳單配對您的帳戶及日期,請按下 "開始對帳"',
+ 'update_balance_dates_instruction' => '與您的銀行帳單配對上述金額及日期,並按一下 "開始對帳"',
'select_transactions_instruction' => '選擇您銀行帳單上顯示的交易',
'select_range_and_balance' => '請驗證日期範圍與餘額,然後按下 "開始對帳"',
'date_change_instruction' => '如果您現在變更日期範圍,任何進度均將遺失。',
@@ -800,7 +800,7 @@ return [
'create_pos_reconcile_transaction' => '清除選擇交易,並建立校正,新增 :amount 至此資產帳戶。',
'create_neg_reconcile_transaction' => '清除選擇交易,並建立校正,自此資產帳戶移除 :amount。',
'reconcile_do_nothing' => '刪除選擇交易,但不校正。',
- 'reconcile_go_back' => '您可之後再編輯或刪除較正。',
+ 'reconcile_go_back' => '您可稍後再編輯或刪除校正。',
'must_be_asset_account' => '您只可以對帳資產帳戶。',
'reconciliation_stored' => '已儲存對帳',
'reconcilliation_transaction_title' => '對帳 (:from 至 :to)',
@@ -839,14 +839,14 @@ return [
'update_transfer' => '更新轉帳',
'updated_withdrawal' => '已更新提款 “:description“',
'updated_deposit' => '已更新存款 ”:description“',
- 'updated_transfer' => '已更新轉帳 ‘:description:',
- 'delete_withdrawal' => '刪除提款 ”:description“',
+ 'updated_transfer' => '已更新轉帳 “:description”',
+ 'delete_withdrawal' => '刪除提款 “:description”',
'delete_deposit' => '刪除存款 “:description”',
- 'delete_transfer' => '刪除轉帳 ”:description“',
- 'deleted_withdrawal' => '已成功刪除提款 ”:description“',
- 'deleted_deposit' => '已成功刪除存款 ”:description“',
- 'deleted_transfer' => '已成功刪除轉帳 ”:description“',
- 'stored_journal' => '已成功建立新交易 ”:description“',
+ 'delete_transfer' => '刪除轉帳 “:description”',
+ 'deleted_withdrawal' => '已成功刪除提款 “:description”',
+ 'deleted_deposit' => '已成功刪除存款 “:description”',
+ 'deleted_transfer' => '已成功刪除轉帳 “:description”',
+ 'stored_journal' => '已成功建立新交易 “:description”',
'select_transactions' => '選擇交易',
'rule_group_select_transactions' => '套用 ”:title“ 至交易',
'rule_select_transactions' => '套用 ”:title“ 至交易',
@@ -855,13 +855,13 @@ return [
'mass_delete_journals' => '刪除數個交易',
'mass_edit_journals' => '編輯數個交易',
'mass_bulk_journals' => '批次編輯數個交易',
- 'mass_bulk_journals_explain' => '使用大量編輯功能時,若您不想一步一步變更您的交易,您可一次性地進行更新。只要在下方的欄位選擇想要的分類、標籤或預算,所有表格內的交易都會被更新。',
- 'bulk_set_new_values' => '用下方的輸入欄位設定新的值。若您留空,則全部皆會為空值。此外,請注意僅有提款會被賦予預算。',
+ 'mass_bulk_journals_explain' => '使用大量編輯功能時,若您不想逐一變更您的交易,您可一次過更新所有交易。只要在以下欄位選擇要更新的分類、標籤或預算,表格內所有交易都將會更新。',
+ 'bulk_set_new_values' => '在下方的輸入欄位設定新值。若您留空,則全部皆會為空白值。此外,請注意僅有提款會被賦予預算。',
'no_bulk_category' => '不更新分類',
'no_bulk_budget' => '不更新預算',
'no_bulk_tags' => '不更新標籤',
'bulk_edit' => '批次編輯',
- 'cannot_edit_other_fields' => '由於畫面空間限制,除了此處所示的欄位以外,您無法大量編輯其他欄位。若您需要編輯其他欄位,請依連結並按部就班編輯之。',
+ 'cannot_edit_other_fields' => '受版面空間所限,您僅能大量編輯此處顯示的欄位。若您需要編輯其他欄位,請按一下連結並逐一編輯。',
'no_budget' => '(無預算)',
'no_budget_squared' => '(無預算)',
'perm-delete-many' => '一次刪除多個項目係非常危險的,請審慎考慮。',
@@ -878,7 +878,7 @@ return [
'opt_group_l_Debt' => '債務: 欠款',
'opt_group_l_Mortgage' => '債務: 抵押',
'opt_group_l_Credit card' => '債務: 信用卡',
- 'notes' => '註釋',
+ 'notes' => '備註',
'unknown_journal_error' => '無法儲存交易,請檢視日誌檔。',
'attachment_not_found' => '此附加檔案無法被找到。',
'journal_link_bill' => '此交易已與帳單 :name 鏈結。如要移除鏈結,取消核選方塊,使用規則將它與其他帳單鏈結。',
@@ -921,7 +921,7 @@ return [
'preferences' => '偏好設定',
'logout' => '登出',
'toggleNavigation' => '切換導覽',
- 'searchPlaceholder' => '搜尋中…',
+ 'searchPlaceholder' => '搜尋…',
'version' => '版本',
'dashboard' => '監控面板',
'available_budget' => '可用預算 ({currency})',
diff --git a/resources/lang/zh_TW/import.php b/resources/lang/zh_TW/import.php
index 436be3d977..438e7143c8 100644
--- a/resources/lang/zh_TW/import.php
+++ b/resources/lang/zh_TW/import.php
@@ -25,7 +25,7 @@ declare(strict_types=1);
return [
// ALL breadcrumbs and subtitles:
'index_breadcrumb' => '匯入資料到 Firefly III',
- 'prerequisites_breadcrumb_fake' => '假匯入供應商的先決條件',
+ 'prerequisites_breadcrumb_fake' => '虛擬匯入提供者的先決條件',
'prerequisites_breadcrumb_spectre' => 'Spectre 的先決條件',
'prerequisites_breadcrumb_bunq' => 'bunq 的先決條件',
'prerequisites_breadcrumb_ynab' => 'YNAB 的先決條件',
@@ -34,13 +34,13 @@ return [
'disabled_for_demo_user' => '在展示中不啟用',
// index page:
- 'general_index_intro' => '歡迎來到 Firefly III 的匯入例行。有幾種方法可以將資料匯入 Firefly III 中,在此以按鈕表示。',
+ 'general_index_intro' => '歡迎使用 Firefly III 的匯入流程。資料匯入 Firefly III 有幾種途徑,各以按鈕表示。',
// import provider strings (index):
- 'button_fake' => '假造匯入',
+ 'button_fake' => '模擬匯入',
'button_file' => '匯入檔案',
'button_bunq' => '自 bunq 匯入',
- 'button_spectre' => '自 Spectre 匯入',
+ 'button_spectre' => '使用 Spectre 匯入',
'button_plaid' => '使用 Plait 匯入',
'button_yodlee' => '使用 Yodlee 匯入',
'button_quovo' => '使用 Quovo 匯入',
@@ -50,8 +50,8 @@ return [
// prerequisites box (index)
'need_prereq_title' => '匯入先決條件',
- 'need_prereq_intro' => '部分匯入方式您得先在使用前注意一下。比方說,他們可能需要特別的串接秘鑰或應用程式金鑰,您可在此設定。此圖示表示所屬的先決條件已經媒合。',
- 'do_prereq_fake' => '假匯入供應商的先決條件',
+ 'need_prereq_intro' => '部分匯入方式在使用前需要您的注意。例如,可能需要特別的 API 金鑰或應用程式秘鑰,您可在此設定。圖示表示是否已滿足這些先決條件。',
+ 'do_prereq_fake' => '虛擬提供者的先決條件',
'do_prereq_file' => '檔案匯入的先決條件',
'do_prereq_bunq' => '從 bunq 匯入的先決條件',
'do_prereq_spectre' => '使用 Spectre 匯入的先決條件',
@@ -61,40 +61,40 @@ return [
'do_prereq_ynab' => '從 YNAB 匯入的先決條件',
// prerequisites:
- 'prereq_fake_title' => '自假的匯入供應商匯入的先決條件',
- 'prereq_fake_text' => '這個假的供應商需要一個假的 API 金鑰,必須是32個字元長。您可以使用此:12446809901236890123690124444466990aa',
+ 'prereq_fake_title' => '自虛擬匯入提供者匯入的先決條件',
+ 'prereq_fake_text' => '虛擬提供者需要一個虛構 API 金鑰,長度須為 32 個字元。可選用此範例:123456789012345678901234567890AA',
'prereq_spectre_title' => '使用 Spectre API 匯入的先決條件',
'prereq_spectre_text' => '為使用 Spectre API (v4) 匯入資料,您必須提供 Firefly III 兩個秘密數值,可於 密鑰頁面 找到。',
'prereq_spectre_pub' => '同理,Spectre API 也會需要您下方看見的公鑰。若無此公鑰,服務供應商無法辨認您,請於您的 密鑰頁面 鍵入您的公鑰。',
'prereq_bunq_title' => '從 bunq 匯入的先決條件',
- 'prereq_bunq_text' => '為自 bunq 匯入,您需要獲得一組 API 金鑰,您可以從應用程式著手。請注意自 bunq 匯入的功能仍是測試版本,僅在沙盒 API 內完成測試而已。',
- 'prereq_bunq_ip' => 'bunq 需要您的對外 IP 位址。Firefly III 已嘗試使用 ipify 服務 自動填入,請確認此 IP 係正確的,否則匯入將失敗。',
+ 'prereq_bunq_text' => '如要自 bunq 匯入,您需要先取得一組 API 金鑰,可從相關的手機應用程式取得。請注意,自 bunq 匯入的功能仍屬測試版本,僅以沙盒 API 作過測試。',
+ 'prereq_bunq_ip' => 'bunq 需要您的對外 IP 位址。Firefly III 已嘗試以 ipify 服務 自動填入此欄,請確認此 IP 位置正確,否則匯入將失敗。',
'prereq_ynab_title' => '從 YNAB 匯入的先決條件',
'prereq_ynab_text' => '為了能夠從 YNAB 下載交易,請在您的 開發人員設置頁 上建立一個新的應用程式,並在此頁面上輸入客戶端 ID 和密碼。',
- 'prereq_ynab_redirect' => '若要完成設定,前往以下位於 開發者設定頁面 中 "Redirect URI(s)" 的網址。',
- 'callback_not_tls' => 'Firefly III 偵測到以下回呼 URI。您的伺服器似乎沒有設定成 TLS-連接 (HTTP)。YNAB 不會接受此 URI,你可以繼續匯入 (因為 Firefly III 可能是錯的),但請記住這一點。',
+ 'prereq_ynab_redirect' => '若要完成設定,請前往 開發者設定頁面 並在 "Redirect URI(s)" 輸入以下網址。',
+ 'callback_not_tls' => 'Firefly III 偵測到以下回呼 URI。您的伺服器設定似乎未接受 TLS 連接 (https)。YNAB 不會接受此 URI,您可以繼續匯入 (也許 Firefly III 是錯的),但請留意此點。',
// prerequisites success messages:
- 'prerequisites_saved_for_fake' => '假 API 金鑰存儲成功!',
+ 'prerequisites_saved_for_fake' => '虛構 API 金鑰儲存成功!',
'prerequisites_saved_for_spectre' => '應用程式 ID 與密鑰已儲存!',
'prerequisites_saved_for_bunq' => 'API 金鑰與 IP 已儲存!',
'prerequisites_saved_for_ynab' => 'YNAB 客戶 ID 與密鑰已儲存!',
// job configuration:
'job_config_apply_rules_title' => '工作設定 - 套用您的規則?',
- 'job_config_apply_rules_text' => '一旦假供應商執行,您的規則可用於交易。這將為匯入增加時間。',
- 'job_config_input' => '您的輸入',
+ 'job_config_apply_rules_text' => '虛擬提供者一旦執行,交易就會相應套用您的規則。匯入時間或會因而延長。',
+ 'job_config_input' => '請輸入',
// job configuration for the fake provider:
'job_config_fake_artist_title' => '輸入專輯名稱',
- 'job_config_fake_artist_text' => '許多匯入慣常程序都有幾個必須經過的配置步驟。在假匯入供應商的情況下,你必須回答一些奇怪的問題。在這種情況下,請輸入 "David Bowie" 繼續。',
+ 'job_config_fake_artist_text' => '許多匯入流程都有數個必經的配置步驟。至於虛擬匯入提供者,就準備了一些古怪問題須要您回答。這條請輸入 "David Bowie" 繼續。',
'job_config_fake_song_title' => '輸入歌曲名稱',
- 'job_config_fake_song_text' => '請鍵入 "Golden years" 以繼續假匯入。',
+ 'job_config_fake_song_text' => '請鍵入 "Golden years" 繼續虛擬匯入。',
'job_config_fake_album_title' => '輸入專輯名稱',
- 'job_config_fake_album_text' => '某些匯入慣常程序在匯入過程中需要額外的資料。在假匯入供應商的情況下,你必須回答一些奇怪的問題。請輸入 "Station to station" 繼續。',
+ 'job_config_fake_album_text' => '一些匯入流程半路需要額外的資料。至於虛擬匯入提供者,就準備了一些古怪問題須要您回答。請輸入 "Station to station" 繼續。',
// job configuration form the file provider
'job_config_file_upload_title' => '匯入設定 (1/4) - 上傳您的檔案',
- 'job_config_file_upload_text' => '此慣常程序將協助您從您銀行將檔案匯入 Firefly III。',
- 'job_config_file_upload_help' => '選擇您的檔案,請確定檔案是 UTF-8 編碼。',
- 'job_config_file_upload_config_help' => '如果您之前已匯入過檔案至 Firefly III,您可能已有可提供預設值的設定檔案。就部分銀行,其他使用者業已慷慨地提供了他們的 設定檔。',
+ 'job_config_file_upload_text' => '此流程協助您匯入來自銀行的檔案到 Firefly III。',
+ 'job_config_file_upload_help' => '選擇您的檔案,請確定檔案使用 UTF-8 編碼。',
+ 'job_config_file_upload_config_help' => '如果您先前曾匯入資料到 Firefly III,您可能已有相關的設定檔,可預設組態值。至於一些銀行的檔案,其他使用者已慷慨提供他們的 設定檔。',
'job_config_file_upload_type_help' => '選擇要上傳的檔案類型',
'job_config_file_upload_submit' => '上傳檔案',
'import_file_type_csv' => 'CSV (以逗號分隔值)',
@@ -102,41 +102,41 @@ return [
'file_not_utf8' => '您上傳的檔案並非以 UTF-8 或 ASCII 編碼,Firefly III 無法處理此類檔案,請使用 Notepad++ 或 Sublime 轉換您的檔案成 UTF-8 格式。',
'job_config_uc_title' => '匯入設定 (2/4) - 基本檔案設定',
'job_config_uc_text' => '若要正確匯入您的檔案,請驗證以下選項。',
- 'job_config_uc_header_help' => '若您的 CSV 檔案第一列均為欄位標題,請核選此選項。',
- 'job_config_uc_date_help' => '您檔案內的日期格式。請依循 本頁 所示的格式,預設值將以 :dateExample 形式呈現日期。',
- 'job_config_uc_delimiter_help' => '選擇您檔案所使用的欄位分隔符號,若不確定,逗號係最為安全的選項。',
- 'job_config_uc_account_help' => '若您的檔案不包含資產帳戶的資訊,使用此下拉式選單選擇此檔案內交易所屬的帳戶。',
+ 'job_config_uc_header_help' => '若您的 CSV 檔案第一列為欄標題,請核選此選項。',
+ 'job_config_uc_date_help' => '檔案內的日期時間格式。請依循 此頁 所示的格式,預設形式為::dateExample。',
+ 'job_config_uc_delimiter_help' => '選擇輸入檔案所使用的欄位分隔符號,若不確定,逗號會最為穩妥。',
+ 'job_config_uc_account_help' => '若您的檔案不包含資產帳戶資訊,請在此下拉式選單選擇檔案內的交易屬於哪個帳戶。',
'job_config_uc_apply_rules_title' => '套用規則',
- 'job_config_uc_apply_rules_text' => '套用規則至每一個匯入的交易,請注意此功能會顯著地降低匯入速度。',
+ 'job_config_uc_apply_rules_text' => '套用您的規則至每一筆匯入的交易,請注意匯入會顯著減慢。',
'job_config_uc_specifics_title' => '特定銀行選項',
- 'job_config_uc_specifics_txt' => '部分銀行提供格式殘不佳的檔案,Firefly III 可以自動修復這個問題。如果銀行提供了不佳的檔案,又沒有列在這邊,請至 GitHub 開啟新的討論。',
+ 'job_config_uc_specifics_txt' => '一些銀行提供的檔案,格式有欠理想,Firefly III 可以自動修復這些問題。如果您的銀行提供了不佳的檔案,又沒有在此列出,請到 GitHub 開新報告。',
'job_config_uc_submit' => '繼續',
- 'invalid_import_account' => '您選擇了一個無效帳號來匯入。',
+ 'invalid_import_account' => '您選擇了匯入到無效的帳戶。',
'import_liability_select' => '債務',
// job configuration for Spectre:
'job_config_spectre_login_title' => '選擇您的登入',
- 'job_config_spectre_login_text' => 'Firefly III 已在您的 Spectre 帳戶找到 :count 筆既存登入,哪一個是您想要匯入的呢?',
+ 'job_config_spectre_login_text' => 'Firefly III 在您的 Spectre 帳戶找到 :count 個現存登入,匯入時您想使用何者?',
'spectre_login_status_active' => '啟用',
'spectre_login_status_inactive' => '未啟用',
'spectre_login_status_disabled' => '停用',
- 'spectre_login_new_login' => '使用其他銀行登入,或其中一間具有不同憑證的銀行。',
+ 'spectre_login_new_login' => '登入其他銀行,或使用不同的憑證登入。',
'job_config_spectre_accounts_title' => '選擇欲匯入的帳戶',
- 'job_config_spectre_accounts_text' => '您以選擇 ":name" (:country)。您在這個供應商有 :count 個可用帳戶,請在 Firefly III 的資產帳戶中選擇這些交易應被儲存的帳戶。請記得,若要匯入資料,Firefly III 與 ":name"-帳戶兩者均需使用相同貨幣。',
+ 'job_config_spectre_accounts_text' => '您已選擇 ":name" (:country)。您在此提供者有 :count 個帳戶可用,請選擇這些交易要儲存到 Firefly III 哪些資產帳戶。記得 Firefly III 與 ":name" 帳戶兩者均需使用相同貨幣,才能匯入資料。',
'spectre_do_not_import' => '(不匯入)',
'spectre_no_mapping' => '您似乎沒有選擇任何欲匯入的帳戶。',
- 'imported_from_account' => '已自 ":account" 匯入',
+ 'imported_from_account' => '匯入自 ":account"',
'spectre_account_with_number' => '帳戶 :number',
'job_config_spectre_apply_rules' => '套用規則',
- 'job_config_spectre_apply_rules_text' => '預設下,您的規則會被套用至此次匯入慣常程序中所建立的交易。若您不希望如此,請取消選取此核選方塊。',
+ 'job_config_spectre_apply_rules_text' => '您的規則預設會套用至此匯入流程中所建立的交易。若您不希望如此,請取消選取此核選方塊。',
// job configuration for bunq:
'job_config_bunq_accounts_title' => 'bunq 帳戶',
- 'job_config_bunq_accounts_text' => '這些是與您 bunq 帳戶關聯的帳戶,請選擇您所欲匯入的帳戶以及其必須匯入的交易。',
+ 'job_config_bunq_accounts_text' => '這些是在您 bunq 帳戶上的帳戶,請選擇您欲匯入的帳戶,以及欲把交易匯入到哪個帳戶。',
'bunq_no_mapping' => '您似乎沒有選擇任何帳戶。',
- 'should_download_config' => '您應該為此工作下載 設定檔,可更俾利為來匯入。',
- 'share_config_file' => '如果您已自公有銀行匯入資料,您應該 分享您的設定檔 俾利其他使用者匯入他們的資料。分享您的設定檔並不會暴露您的財務細節。',
+ 'should_download_config' => '您該下載此工作的 設定檔,好方便日後再匯入。',
+ 'share_config_file' => '如果您是從公共銀行匯入資料,您應該 分享您的設定檔 好方便其他使用者匯入他們的資料。分享您的設定檔並不會暴露您的財務細節。',
'job_config_bunq_apply_rules' => '套用規則',
- 'job_config_bunq_apply_rules_text' => '預設下,您的規則會被套用至此次匯入慣常程序中所建立的交易。若您不希望如此,請取消選取此核選方塊。',
+ 'job_config_bunq_apply_rules_text' => '您的規則預設會套用至此匯入流程中所建立的交易。若您不希望如此,請取消選取此核選方塊。',
'bunq_savings_goal' => '儲蓄目標::amount (:percentage%)',
'bunq_account_status_CANCELLED' => '已關閉 bunq 帳號',
@@ -153,25 +153,25 @@ return [
'ynab_account_type_merchantAccount' => '商業帳戶',
'ynab_account_type_investmentAccount' => '投資帳戶',
'ynab_account_type_mortgage' => '抵押',
- 'ynab_do_not_import' => '(不導入)',
+ 'ynab_do_not_import' => '(不匯入)',
'job_config_ynab_apply_rules' => '套用規則',
- 'job_config_ynab_apply_rules_text' => '預設下,您的規則會被套用至此次匯入慣常程序中所建立的交易。若您不希望如此,請取消選取此核選方塊。',
+ 'job_config_ynab_apply_rules_text' => '您的規則預設會套用至此匯入流程中所建立的交易。若您不希望如此,請取消選取此核選方塊。',
// job configuration for YNAB:
'job_config_ynab_select_budgets' => '選擇您的預算',
- 'job_config_ynab_select_budgets_text' => '您有 :count 筆儲存於 YNAB 的預算,請選擇以供 Firefly III 匯入其中交易紀錄。',
- 'job_config_ynab_no_budgets' => '沒有可被匯入的預算。',
+ 'job_config_ynab_select_budgets_text' => '您有 :count 筆儲存於 YNAB 的預算,請選擇要從哪個匯入交易紀錄。',
+ 'job_config_ynab_no_budgets' => '沒有可供匯入的預算。',
'ynab_no_mapping' => '您似乎沒有選擇任何欲匯入的帳戶。',
- 'job_config_ynab_bad_currency' => '您無法自以下預算匯入,因為您沒有與這些預算使用相同貨幣的帳戶。',
+ 'job_config_ynab_bad_currency' => '您無法匯入以下預算,因為您的帳戶不是使用這些預算的相同貨幣。',
'job_config_ynab_accounts_title' => '選擇帳戶',
- 'job_config_ynab_accounts_text' => '以下有您可用於此預算的帳戶,請選擇您欲匯入的帳戶以及交易資料儲存的地方。',
+ 'job_config_ynab_accounts_text' => '這預算中有以下帳戶可用,請選擇您欲匯入的帳戶以及欲儲存交易紀錄的地方。',
// keys from "extra" array:
'spectre_extra_key_iban' => '國際銀行帳戶號碼 (IBAN)',
'spectre_extra_key_swift' => 'SWIFT',
'spectre_extra_key_status' => '狀態',
- 'spectre_extra_key_card_type' => '卡片種類',
+ 'spectre_extra_key_card_type' => '卡類',
'spectre_extra_key_account_name' => '帳戶名稱',
'spectre_extra_key_client_name' => '客戶名稱',
'spectre_extra_key_account_number' => '帳戶號碼',
@@ -183,17 +183,17 @@ return [
'spectre_extra_key_open_date' => '開始日期',
'spectre_extra_key_current_time' => '目前時間',
'spectre_extra_key_current_date' => '目前日期',
- 'spectre_extra_key_cards' => '卡片',
+ 'spectre_extra_key_cards' => '卡',
'spectre_extra_key_units' => '單位',
'spectre_extra_key_unit_price' => '單價',
'spectre_extra_key_transactions_count' => '交易數',
//job configuration for finTS
- 'fints_connection_failed' => '嘗試連接至您的銀行時發生1個錯誤,請確定您所有鍵入的資料均正確。原始錯誤訊息::originalError',
+ 'fints_connection_failed' => '嘗試連接至您的銀行時發生錯誤,請確定您所有鍵入的資料均正確。原錯誤訊息::originalError',
'job_config_fints_url_help' => '例如 https://banking-dkb.s-fints-pt-dkb.de/fints30',
'job_config_fints_username_help' => '對多數銀行而言,這是你的帳號。',
- 'job_config_fints_port_help' => '預設埠號為 443。',
+ 'job_config_fints_port_help' => '預設埠為 443。',
'job_config_fints_account_help' => '選擇您欲匯入交易的銀行帳戶。',
'job_config_local_account_help' => '選擇對應您上方所選銀行帳戶的 Firefly III 帳戶。',
// specifics:
@@ -216,11 +216,11 @@ return [
'job_config_roles_column_role' => '欄資料涵義',
'job_config_roles_do_map_value' => '映射這些數值',
'job_config_roles_no_example' => '無範例資料可用',
- 'job_config_roles_fa_warning' => '如果您將一個欄標記為外幣金額、您亦須設定該欄外幣為何。',
- 'job_config_roles_rwarning' => '請至少將一個欄標示為金額-欄,亦建議為描述、日期與對應帳戶選擇欄。',
+ 'job_config_roles_fa_warning' => '如果您將一個欄標記為外幣金額,您亦須設定該欄是哪一外幣。',
+ 'job_config_roles_rwarning' => '請至少將一個欄標示為金額欄,亦建議選擇描述、日期與對應帳戶的欄。',
'job_config_roles_colum_count' => '欄',
// job config for the file provider (stage: mapping):
- 'job_config_map_title' => '匯入設定 (4/) - 連接匯入資料與 Firefly III 資料',
+ 'job_config_map_title' => '匯入設定 (4/4) - 連接匯入資料與 Firefly III 資料',
'job_config_map_text' => '在下方的表格中,左邊值顯示在您上傳的檔案中所找到的資訊,而映射這些值是您當前的任務。如果可能,請映射至呈現在您資料庫既有的值,Firefly III 會依此映射。若無可供映射的值,或您不希望映射特定值,請別選取。',
'job_config_map_nothing' => '您檔案中並無可映射至既有數值的資料,請點選 "開始匯入" 以繼續。',
'job_config_field_value' => '欄位數值',
@@ -239,18 +239,18 @@ return [
'status_job_rules' => '請稍候,執行規則…',
'status_fatal_title' => '重大錯誤',
'status_fatal_text' => '此次匯入遇到了無法回復的錯誤,抱歉!',
- 'status_fatal_more' => '此一訊息 (可能非常加密) 是由日誌檔所補完,您可在硬碟內或您運行的 Firefly III 空間中找到日誌檔。',
+ 'status_fatal_more' => '這一 (也許語焉不明的) 錯誤訊息有記錄檔補充, 可在硬碟或執行 Firefly III 的 Docker 容器中找到。',
'status_finished_title' => '匯入完成',
- 'status_finished_text' => '匯入已完成',
+ 'status_finished_text' => '匯入已完成。',
'finished_with_errors' => '執行匯入時有些錯誤,請仔細複審。',
'unknown_import_result' => '未知的匯入結果',
- 'result_no_transactions' => '沒有匯入任何交易紀錄,或許是因為均為重複記錄或無紀錄可供匯入。日誌檔也許能告訴你來龍去脈,若您定期匯入資料,這是正常的。',
- 'result_one_transaction' => '僅有1筆交易被匯入,並儲存在 :tag,您之後可進一步檢視。',
- 'result_many_transactions' => 'Firefly III 已匯入 :count 筆交易,並儲存 :tag 標籤下,您之後可進一步檢視。',
+ 'result_no_transactions' => '沒有匯入任何交易紀錄。也許是全部均為重複紀錄,或無紀錄可供匯入,日誌檔或會說明原委。若您定期匯入資料,這也是不出奇的。',
+ 'result_one_transaction' => '僅匯入了 1 筆交易,並儲存在標籤 :tag 下,可進一步再檢視。',
+ 'result_many_transactions' => 'Firefly III 已匯入 :count 筆交易,並儲存在標籤 :tag 下,可進一步再檢視。',
// general errors and warnings:
- 'bad_job_status' => '欲通行此頁,您的匯入工作不能有 ":status" 狀態。',
+ 'bad_job_status' => '如要存取此頁,您的匯入工作不能有 ":status" 狀態。',
// column roles for CSV import:
'column__ignore' => '(忽略此欄)',
@@ -263,7 +263,7 @@ return [
'column_amount_debit' => '金額 (債務欄)',
'column_amount_credit' => '金額 (信用欄)',
'column_amount_negated' => '金額 (正負交換欄)',
- 'column_amount-comma-separated' => '金額 (以逗號作為進位分隔符號)',
+ 'column_amount-comma-separated' => '金額 (逗號作小數點分隔)',
'column_bill-id' => '帳單 ID (與 FF3 相符)',
'column_bill-name' => '帳單名稱',
'column_budget-id' => '預算 ID (與 FF3 相符)',
@@ -304,6 +304,6 @@ return [
'column_account-number' => '資產帳戶 (帳戶號碼)',
'column_opposing-number' => '相對帳戶 (帳戶號碼)',
'column_note' => '備註',
- 'column_internal-reference' => '內部參考',
+ 'column_internal-reference' => '內部參照',
];
diff --git a/resources/lang/zh_TW/intro.php b/resources/lang/zh_TW/intro.php
index f0052dc0f1..6471977417 100644
--- a/resources/lang/zh_TW/intro.php
+++ b/resources/lang/zh_TW/intro.php
@@ -24,18 +24,18 @@ declare(strict_types=1);
return [
// index
- 'index_intro' => '歡迎來到 Firefly III 的首頁。請花時間參觀一下這個介紹,瞭解 Firefly III 是如何運作的。',
- 'index_accounts-chart' => '此圖表顯示您的資產帳戶的目前餘額,您可以在偏好設定中選擇此處可見的帳戶。',
- 'index_box_out_holder' => '這個小盒子和這個旁邊的盒子會提供您財務狀況的快速概覽。',
+ 'index_intro' => '歡迎來到 Firefly III 首頁。誠邀您花一點時間,看看這介紹,瞭解一下 Firefly III 如何運作。',
+ 'index_accounts-chart' => '此圖表顯示資產帳戶的目前餘額,哪些帳戶在此顯示,可在偏好設定中選擇。',
+ 'index_box_out_holder' => '這小方塊 (以及旁邊的) 給您一個財務狀況的快速概覽。',
'index_help' => '如果您需要有關頁面或表單的説明,請按此按鈕。',
- 'index_outro' => 'Firefly III 大多數頁面將以這樣的小介紹開始,如有問題或意見,不妨與我聯繫。祝您順心使用!',
+ 'index_outro' => 'Firefly III 大部分頁面會以這樣的小介紹開始,如有問題或意見,不妨與我聯繫。祝您使用得心應手!',
'index_sidebar-toggle' => '若要建立新的交易記錄、帳戶或其他內容,請使用此圖示下的選單。',
// create account:
- 'accounts_create_iban' => '給您的帳戶一個有效的 IBAN,可俾利未來資料匯入。',
+ 'accounts_create_iban' => '帳戶若設定有效的 IBAN,有助日後匯入資料。',
'accounts_create_asset_opening_balance' => '資產帳戶可以設定一個 "初始餘額",表示此帳戶在 Firefly III 中開始時的紀錄。',
'accounts_create_asset_currency' => 'Fireflly III 支援多種貨幣。資產帳戶有一種主要貨幣,須在此設定。',
- 'accounts_create_asset_virtual' => '有時,您或會想給予帳戶一個虛擬額度:一個在實際餘額之上加減的定額。',
+ 'accounts_create_asset_virtual' => '有時,您或會想給予帳戶一個虛擬額度:即在實際餘額之上加減一個定額。',
// budgets index
'budgets_index_intro' => '預算用來管理您的財務,是 Firefly III 的
@@ -49,7 +49,7 @@ return [
// reports (index)
'reports_index_intro' => '從這些報表洞察您的詳細財務狀況。',
- 'reports_index_inputReportType' => '選擇報表類型。查看説明頁面以瞭解每個報表向您顯示的內容。',
+ 'reports_index_inputReportType' => '挑一種報表。查看說明頁面瞭解各報表展示的內容。',
'reports_index_inputAccountsSelect' => '您可以根據需要排除或包括資產帳戶。',
'reports_index_inputDateRange' => '所選日期範圍完全由您決定:從1天到10年不等。',
'reports_index_extra-options-box' => '根據您選擇的報表,您可以在此處選擇額外的篩選標準和選項。更改報表類型時,請查看此區塊。',
@@ -59,17 +59,17 @@ return [
'reports_report_audit_intro' => '這份報表可讓您洞悉資產帳戶的詳細狀況。',
'reports_report_audit_optionsBox' => '在這些選取方塊勾選您感興趣想顯示的欄。',
- 'reports_report_category_intro' => '此報表將提供您一個或多個類別洞察報告。',
- 'reports_report_category_pieCharts' => '這些圖表將提供您每個類別或每個帳戶中,支出和所得的洞察報告。',
- 'reports_report_category_incomeAndExpensesChart' => '此圖表顯示您的每個類別的支出和所得。',
+ 'reports_report_category_intro' => '此報表可讓您洞悉一或多個分類的詳細狀況。',
+ 'reports_report_category_pieCharts' => '這些圖表可讓您洞悉按分類或帳戶的收支詳細狀況。',
+ 'reports_report_category_incomeAndExpensesChart' => '此圖表按分類顯示您的收支。',
- 'reports_report_tag_intro' => '此報表將提供您一個或多個標籤洞察報告。',
- 'reports_report_tag_pieCharts' => '這些圖表將提供您每個類別、帳戶、分類或預算中,支出和所得的洞察報告。',
- 'reports_report_tag_incomeAndExpensesChart' => '此圖表顯示您的每個標籤的支出和所得。',
+ 'reports_report_tag_intro' => '此報表可讓您洞悉一或多個標籤的詳細狀況。',
+ 'reports_report_tag_pieCharts' => '這些圖表可讓您洞悉按標籤、帳戶、分類或預算的收支詳細狀況。',
+ 'reports_report_tag_incomeAndExpensesChart' => '此圖表按標籤顯示您的收支。',
- 'reports_report_budget_intro' => '此報表將提供您一個或多個預算的洞察報告。',
- 'reports_report_budget_pieCharts' => '這些圖表將提供您每個預算或每個帳戶中,支出的洞察報告。',
- 'reports_report_budget_incomeAndExpensesChart' => '此圖表顯示您的每個預算的支出。',
+ 'reports_report_budget_intro' => '此報表可讓您洞悉一或多個預算的詳細狀況。',
+ 'reports_report_budget_pieCharts' => '這些圖表可讓您洞悉按預算或帳戶的支出詳細狀況。',
+ 'reports_report_budget_incomeAndExpensesChart' => '此圖表按預算顯示您的支出。',
// create transaction
'transactions_create_switch_box' => '使用這些按鈕可以快速切換要保存的交易類型。',
@@ -82,21 +82,21 @@ return [
// piggy banks index:
'piggy-banks_index_saved' => '此欄位顯示您在每個小豬撲滿中保存了多少。',
'piggy-banks_index_button' => '進度橫條旁有兩個按鈕 (+ 和-),可以在每個小豬撲滿中加減金額。',
- 'piggy-banks_index_accountStatus' => '此表中列出了每一個至少有一個小豬撲滿的資產帳戶的狀態。',
+ 'piggy-banks_index_accountStatus' => '有小豬撲滿的資產帳戶,會在此表格中列出狀態。',
// create piggy
'piggy-banks_create_name' => '您的目標為何?一張新沙發、一台相機,還是應急備用?',
- 'piggy-banks_create_date' => '您可以為小豬撲滿設定目標日期或截止日期。',
+ 'piggy-banks_create_date' => '您可以設定小豬撲滿的目標日期或期限。',
// show piggy
- 'piggy-banks_show_piggyChart' => '這張圖表將顯示這個小豬撲滿的歷史。',
- 'piggy-banks_show_piggyDetails' => '關於你的小豬撲滿的一些細節',
- 'piggy-banks_show_piggyEvents' => '此處還列出了任何增加或刪除。',
+ 'piggy-banks_show_piggyChart' => '此圖表顯示小豬撲滿的歷程紀錄。',
+ 'piggy-banks_show_piggyDetails' => '關於您的小豬撲滿的一些細節',
+ 'piggy-banks_show_piggyEvents' => '過去的金額加減會在此列出。',
// bill index
'bills_index_rules' => '在此可檢視此帳單是否觸及某些規則',
'bills_index_paid_in_period' => '此欄位表示上次支付帳單的時間。',
- 'bills_index_expected_in_period' => '如果(以及何時)下期帳單即將到期,此欄位將顯示每一筆的帳單。',
+ 'bills_index_expected_in_period' => '每張帳單是否及何時下次到期,會在此欄位顯示。',
// show bill
'bills_show_billInfo' => '此表格顯示了有關該帳單的一般資訊。',
@@ -104,36 +104,36 @@ return [
'bills_show_billChart' => '此圖表顯示與此帳單連結的交易記錄。',
// create bill
- 'bills_create_intro' => '使用帳單來跟蹤你每個區間到期的金額。想想租金、保險或抵押貸款等支出。',
- 'bills_create_name' => '使用描述性名稱, 如 "租金" 或 "健康保險"。',
+ 'bills_create_intro' => '使用帳單來追蹤您每段時期到期的金額,比如是租金、保險或抵押貸款等支出。',
+ 'bills_create_name' => '訂下一個顧名思義的名稱,如 "租金" 或 "健康保險"。',
//'bills_create_match' => 'To match transactions, use terms from those transactions or the expense account involved. All words must match.',
'bills_create_amount_min_holder' => '選擇此帳單的最小和最大金額。',
- 'bills_create_repeat_freq_holder' => '大多數帳單每月重複一次,但你可以在這裡設定另一個頻次。',
- 'bills_create_skip_holder' => '如果帳單每2週重複一次,則應將 "略過" 欄位設定為 "1",以便每隔一週跳一次。',
+ 'bills_create_repeat_freq_holder' => '大部分帳單每月重複一次,但頻率可在此另設。',
+ 'bills_create_skip_holder' => '如果帳單每兩週重複一次,"略過" 欄位則應設為 "1",以便每隔一週跳一次。',
// rules index
- 'rules_index_intro' => 'Firefly III 允許您管理規則,這些規則將魔幻自動地應用於您建立或編輯的任何交易。',
+ 'rules_index_intro' => 'Firefly III 讓您管理一些規則,在建立或編輯交易時就會神乎其技地套用。',
'rules_index_new_rule_group' => '您可以將規則整併為群組,以便於管理。',
- 'rules_index_new_rule' => '建立任意數量的規則。',
- 'rules_index_prio_buttons' => '以你認為合適的任何方式排序它們。',
- 'rules_index_test_buttons' => '您可以測試規則或將其套用至現有交易。',
- 'rules_index_rule-triggers' => '規則具有 "觸發器" 和 "操作",您可以通過拖放進行排序。',
- 'rules_index_outro' => '請務必使用右上角的 (?) 圖示查看説明頁面!',
+ 'rules_index_new_rule' => '規則多寡,隨您喜歡。',
+ 'rules_index_prio_buttons' => '排序方式不拘。',
+ 'rules_index_test_buttons' => '您可以測試或套用規則至現有交易。',
+ 'rules_index_rule-triggers' => '規則的 "觸發器" 和 "動作" 可拖放排序。',
+ 'rules_index_outro' => '記得按下右上角的 (?) 圖示查看説明頁面!',
// create rule:
- 'rules_create_mandatory' => '選擇一個描述性標題,並設定應觸發規則的時機。',
- 'rules_create_ruletriggerholder' => '增加任意數量的觸發器,但請記住在任一動作啟用前,所有觸發器必須配對。',
+ 'rules_create_mandatory' => '訂下一個適切描述的標題,並設定規則觸發的時機。',
+ 'rules_create_ruletriggerholder' => '觸發器隨意增加,惟需謹記,必須符合所有觸發器,動作才會觸發。',
'rules_create_test_rule_triggers' => '使用此按鈕可以查看哪些交易記錄將配對您的規則。',
- 'rules_create_actions' => '設定任意數量的動作。',
+ 'rules_create_actions' => '隨您設定多少動作。',
// preferences
- 'preferences_index_tabs' => '這些標籤頁後尚有更多選項可用。',
+ 'preferences_index_tabs' => '這些標籤頁尚有更多可用選項。',
// currencies
- 'currencies_index_intro' => 'Firefly III 支援多種貨幣,您可以在此頁面上更改。',
+ 'currencies_index_intro' => 'Firefly III 支援多種貨幣,可在此頁變更。',
'currencies_index_default' => 'Firefly III 有一種預設貨幣。',
'currencies_index_buttons' => '使用這些按鈕可以更改預設貨幣或啟用其他貨幣。',
// create currency
- 'currencies_create_code' => '此代碼應符合 ISO 標準 (可 Google 您的新貨幣)。',
+ 'currencies_create_code' => '此應為 ISO 標準代碼 (新貨幣代碼可線上搜尋)。',
];
diff --git a/resources/lang/zh_TW/list.php b/resources/lang/zh_TW/list.php
index b7f31354f7..b0fb6184da 100644
--- a/resources/lang/zh_TW/list.php
+++ b/resources/lang/zh_TW/list.php
@@ -51,7 +51,7 @@ return [
'repeat_freq' => '重複',
'description' => '描述',
'amount' => '金額',
- 'internal_reference' => '內部參考',
+ 'internal_reference' => '內部參照',
'date' => '日期',
'interest_date' => '利率日期',
'book_date' => '登記日期',
@@ -59,7 +59,7 @@ return [
'due_date' => '到期日',
'payment_date' => '付款日期',
'invoice_date' => '發票日期',
- 'interal_reference' => '內部參考',
+ 'interal_reference' => '內部參照',
'notes' => '備註',
'from' => '自',
'piggy_bank' => '小豬撲滿',
@@ -78,8 +78,8 @@ return [
'registered_at' => '註冊於',
'is_blocked' => '被封鎖',
'is_admin' => '是管理員',
- 'has_two_factor' => '有雙重身份驗證 (2FA)',
- 'blocked_code' => '區塊代碼',
+ 'has_two_factor' => '有兩步驟驗證 (2FA)',
+ 'blocked_code' => '封鎖代碼',
'source_account' => '來源帳戶',
'destination_account' => '目標帳戶',
'accounts_count' => '帳戶數量',
@@ -93,8 +93,8 @@ return [
'rule_and_groups_count' => '規則及規則群組數量',
'tags_count' => '標籤數量',
'tags' => '標籤',
- 'inward' => '向內描述',
- 'outward' => '外向描述',
+ 'inward' => '流入描述',
+ 'outward' => '流出描述',
'number_of_transactions' => '交易數量',
'total_amount' => '總金額',
'sum' => '總和',
diff --git a/resources/lang/zh_TW/passwords.php b/resources/lang/zh_TW/passwords.php
index cb75d32593..4671658469 100644
--- a/resources/lang/zh_TW/passwords.php
+++ b/resources/lang/zh_TW/passwords.php
@@ -23,10 +23,10 @@
declare(strict_types=1);
return [
- 'password' => '密碼至少需要六個字元,並與確認欄中的密碼相同。',
- 'user' => '我們找不到使用該電郵地址的用戶。',
- 'token' => '該密碼重置碼已經失效。',
- 'sent' => '我們已經將密碼重置連結發送至您的電郵!',
- 'reset' => '你的密碼已經被重置!',
- 'blocked' => '很好的嘗試。',
+ 'password' => '密碼至少需要 6 個字元,並重複輸入一次確認。',
+ 'user' => '找不到使用該電子郵件地址的使用者。',
+ 'token' => '此密碼重設碼已失效。',
+ 'sent' => '密碼重設連結已寄送到您的電子郵件地址!',
+ 'reset' => '您的密碼已重設!',
+ 'blocked' => '算是試過運氣了。',
];
diff --git a/resources/lang/zh_TW/validation.php b/resources/lang/zh_TW/validation.php
index d7c19676e6..7b73c4508e 100644
--- a/resources/lang/zh_TW/validation.php
+++ b/resources/lang/zh_TW/validation.php
@@ -24,28 +24,28 @@ declare(strict_types=1);
return [
'iban' => '這不是有效的 IBAN。',
- 'zero_or_more' => '此數值不能為負數',
- 'date_or_time' => '此數值必為有效的日期或時間值 (ISO 8601)。',
+ 'zero_or_more' => '此數值不能為負數。',
+ 'date_or_time' => '此數值須為有效的日期或時間值 (ISO 8601)。',
'source_equals_destination' => '來源帳戶與目標帳戶相同。',
- 'unique_account_number_for_user' => '看起來此帳戶號碼已在使用中。',
- 'unique_iban_for_user' => '看起來此IBAN已在使用中。',
- 'deleted_user' => '基於安全限制,你無法使用此電子郵件註冊。',
- 'rule_trigger_value' => '此值不能用於所選擇的觸發器。',
- 'rule_action_value' => '此值不能用於所選擇的動作。',
+ 'unique_account_number_for_user' => '此帳戶號碼似乎已在使用。',
+ 'unique_iban_for_user' => '此 IBAN 似乎已在使用。',
+ 'deleted_user' => '受安全限制,您無法使用此電子郵件地址註冊。',
+ 'rule_trigger_value' => '此值不適用於選取的觸發器。',
+ 'rule_action_value' => '此值不適用於選取的動作。',
'file_already_attached' => '上傳的檔案 ":name" 已附加到該物件上。',
'file_attached' => '已成功上傳檔案 ":name"。',
'must_exist' => '欄位 :attribute 的 ID 不存在於資料庫。',
'all_accounts_equal' => '此欄位中的所有帳戶必須相等。',
'invalid_selection' => '您的選擇無效。',
- 'belongs_user' => '此值對此欄位無效。',
+ 'belongs_user' => '此欄位不接受此值。',
'at_least_one_transaction' => '至少需要一個交易。',
'at_least_one_repetition' => '至少需要一次重複。',
- 'require_repeat_until' => '僅需重複次數或結束日期 (repeat_until) 即可,不需兩者均備。',
- 'require_currency_info' => '無貨幣資訊,此欄位內容無效。',
+ 'require_repeat_until' => '要嘛重複次數,要嘛結束日期 (repeat_until),須二擇其一。',
+ 'require_currency_info' => '此欄位內容須要貨幣資訊。',
'equal_description' => '交易描述不應等同全域描述。',
- 'file_invalid_mime' => '檔案 ":name" 的類型為 ":mime",係不被允許上載的類型。',
+ 'file_invalid_mime' => '檔案 ":name" 類型為 ":mime",不允許上載。',
'file_too_large' => '檔案 ":name" 過大。',
- 'belongs_to_user' => ':attribute 的值是未知的。',
+ 'belongs_to_user' => ':attribute 的值未知。',
'accepted' => ':attribute 必須被接受。',
'bic' => '這不是有效的 BIC。',
'at_least_one_trigger' => '規則必須至少有一個觸發器。',
@@ -54,20 +54,20 @@ return [
'model_id_invalid' => '指定的 ID 對於此模型似乎無效。',
'more' => ':attribute 必須大於零。',
'less' => ':attribute 必須小於 10,000,000。',
- 'active_url' => ':attribute 不是有效的URL。',
+ 'active_url' => ':attribute 不是有效的 URL。',
'after' => ':attribute 必須是一個在 :date 之後的日期。',
'alpha' => ':attribute 只能包含字母。',
'alpha_dash' => ':attribute 只能包含字母、數字和破折號。',
- 'alpha_num' => ':attribute 只允許包含數字和字母。',
+ 'alpha_num' => ':attribute 只能包含數字和字母。',
'array' => ':attribute 必須是一個陣列。',
'unique_for_user' => '包括 :attribute 的紀錄已存在。',
'before' => ':attribute 必須是一個在 :date 之前的日期。',
'unique_object_for_user' => '這個名稱已被使用。',
'unique_account_for_user' => '這個帳戶名稱已被使用。',
'between.numeric' => ':attribute 必須介於 :min 和 :max 之間。',
- 'between.file' => ':attribute 必須介於 :min kB 到 :max kB之間。',
- 'between.string' => ':attribute 必須介於 :min 到 :max 字元之間。',
- 'between.array' => ':attribute 必須介於 :min 到 :max 項目之間。',
+ 'between.file' => ':attribute 必須介於 :min kB 到 :max kB 之間。',
+ 'between.string' => ':attribute 必須介於 :min 到 :max 個字元之間。',
+ 'between.array' => ':attribute 必須介於 :min 到 :max 個項目之間。',
'boolean' => ':attribute 欄位必須為 true 或 false。',
'confirmed' => ':attribute 的確認並不相符。',
'date' => ':attribute 不是一個有效的日期。',
@@ -85,14 +85,14 @@ return [
'json' => ':attribute 必須是一個有效的 JSON 字串。',
'max.numeric' => ':attribute 不能大於 :max。',
'max.file' => ':attribute 不能大於 :max kB。',
- 'max.string' => ':attribute 不能大於 :max 字元。',
+ 'max.string' => ':attribute 不能大於 :max 個字元。',
'max.array' => ':attribute 不能多於 :max 個項目。',
'mimes' => ':attribute 的檔案類型必須是 :values 。',
'min.numeric' => ':attribute 至少需要 :min。',
'lte.numeric' => ':attribute 必須小於或等於 :value。',
'min.file' => ':attribute 必須至少為 :min kB。',
'min.string' => ':attribute 最少需要有 :min 個字元。',
- 'min.array' => ':attribute 至少需要有 :min 項目。',
+ 'min.array' => ':attribute 至少需要有 :min 個項目。',
'not_in' => '所選的 :attribute 無效。',
'numeric' => ':attribute 必須是數字。',
'numeric_native' => '本地金額必須是數字。',
@@ -100,12 +100,12 @@ return [
'numeric_source' => '來源金額必須是數字。',
'regex' => ':attribute 格式無效。',
'required' => ':attribute 欄位是必填的。',
- 'required_if' => ':attribute 欄位在 :other 是 :value 時是必填的。',
- 'required_unless' => '除非 :other 是 :values,否則 :attribute 是必填的。',
- 'required_with' => '當 :values 存在時, :attribute 是必填的。',
- 'required_with_all' => '當 :values 存在時, :attribute 是必填的。',
- 'required_without' => '當 :values 不存在時, :attribute 是必填的。',
- 'required_without_all' => '當沒有任何 :values 存在時, :attribute 為必填。',
+ 'required_if' => '當 :other 為 :value 時,欄位 :attribute 是必填的。',
+ 'required_unless' => '除非 :other 為 :values,否則欄位 :attribute 是必填的。',
+ 'required_with' => '當 :values 存在時,欄位 :attribute 是必填的。',
+ 'required_with_all' => '當 :values 存在時,欄位 :attribute 是必填的。',
+ 'required_without' => '當 :values 不存在時,欄位 :attribute 是必填的。',
+ 'required_without_all' => '當沒有任何 :values 存在時,欄位 :attribute 是必填的。',
'same' => ':attribute 和 :other 必須相符。',
'size.numeric' => ':attribute 必須是 :size。',
'amount_min_over_max' => '最小金額不能大於最大金額。',
@@ -115,18 +115,18 @@ return [
'unique' => ':attribute 已被使用。',
'string' => ':attribute 必須是字串。',
'url' => ':attribute 格式無效。',
- 'timezone' => ':attribute 必須是有效的區域。',
- '2fa_code' => ':attribute 欄位是無效的。',
- 'dimensions' => ':attribute 具有無效圖片尺寸。',
- 'distinct' => ':attribute 欄位有重複值。',
+ 'timezone' => ':attribute 必須是有效的時區。',
+ '2fa_code' => '欄位 :attribute 無效。',
+ 'dimensions' => ':attribute 圖片尺寸無效。',
+ 'distinct' => '欄位 :attribute 有重複值。',
'file' => ':attribute 必須是檔案。',
- 'in_array' => ':attribute 欄位不存在於 :other。',
+ 'in_array' => '欄位 :attribute 不存在於 :other。',
'present' => ':attribute 欄位必須存在。',
'amount_zero' => '總金額不能為零。',
'unique_piggy_bank_for_user' => '小豬撲滿的名稱必須是獨一無二的。',
- 'secure_password' => '這不是一個安全的密碼,請重試一次。如需更多訊息,請訪問 https://bit.ly/FF3-password-security',
- 'valid_recurrence_rep_type' => '對定期重複交易是無效的重複類型。',
- 'valid_recurrence_rep_moment' => '對此重複類型是無效的重複時刻。',
+ 'secure_password' => '此密碼不安全,請再試一遍。如需更多資訊,請瀏覽 https://bit.ly/FF3-password-security',
+ 'valid_recurrence_rep_type' => '定期重複交易的重複類型無效。',
+ 'valid_recurrence_rep_moment' => '重複時刻在此重複類型無效。',
'invalid_account_info' => '無效的帳戶資訊。',
'attributes' => [
'email' => '電子郵件地址',
diff --git a/resources/views/v1/install/index.twig b/resources/views/v1/install/index.twig
index 36d9fd56c2..9171e273c3 100644
--- a/resources/views/v1/install/index.twig
+++ b/resources/views/v1/install/index.twig
@@ -20,7 +20,7 @@
var upgradeUri = '{{ route('installer.upgrade') }}';
var verifyUri = '{{ route('installer.verify') }}';
var decryptUri = '{{ route('installer.decrypt') }}';
- var homeUri = '{{ route('home') }}';
+ var homeUri = '{{ route('flush') }}';
{% endblock %}