Coder Social home page Coder Social logo

arbify / arbify Goto Github PK

View Code? Open in Web Editor NEW
227.0 227.0 48.0 2.91 MB

ARB files localization tool. Dedicated to Flutter and its intl package.

Home Page: https://arbify.dev

License: Apache License 2.0

PHP 69.17% HTML 0.46% Dockerfile 0.31% Shell 0.49% Vue 6.85% Blade 22.73%
arb flutter internationalization intl localization

arbify's Introduction

Arbify

PHP workflow

Arbify is currently abandoned. Features that are already present should work without a problem, but no further support or development will be made here, at least for some time. Feel free to fork it!

Screenshot

ARB files localization tool. Dedicated to Flutter and its intl package.

Installation

Firstly, copy the .env.example file to .env and fill it with the correct configuration for some of the services.

cp .env.example .env
nano .env # or vim or whatever you like :)

Commented lines are irrelevant, or you most probably shouldn't care about them. You may want to set MAIL_* variables to use a proper SMTP server. Arbify logs the emails instead of sending them by default.

Deploying

docker-compose build arbify
docker-compose up -d
docker-compose run --rm arbify docker/arbify/upgrade.sh

The build step and running the upgrade.sh script is required only after installing or updating the Arbify. You don't need to run it everytime.

After this you're ready to go to http://localhost:8000 and check out Arbify yourself!

The database is seeded with a pre-verified super administrator account admin with password password.

arbify's People

Contributors

albert221 avatar dependabot[bot] avatar matejmecka avatar stefandevo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

arbify's Issues

Imported ARB file missing line breaks

Hello!

Two nuances were noticed:

  1. If you import a file into a project with a indented with \n, they disappear from the translation strings.
  2. If you export the current localization file with strings containing \n, it will be escaped as \\n.

[Bug] Cant enter value for other languages on mobile

Browser: Chrome 83 for Android
Android Version: 11

Steps to Reproduce:

  • Create project with 2 languages
  • Select the second language

What happens:

  • It switched back to the first one

What should happen:

  • Allow me to enter values for the 2nd language without returning me to the first one

API Support

Do you plan to have an API?
Would like to automate the download through an API (with API Key for example).

Importing existing ARB files

Arbify looks great, thanks!

One thing I'm missing is the possibility to import existing arb . I only found the option to export them.

This would be a great addition!

WARNING, project abandoned.

I would like to use it in my project but the lack of maintenance makes it very risky to use in a production project.

Yes I know, this project looks (and actually is) super great.

Are you planning on adding other contributors on this project? It is a shame, this has so much potential! There is a ARB tool niche with paid products, and this open-source project was what the community needed.

Any alternative project / forks that might do the job?

Error for `docker-compose up`

Warning: require(/var/www/public/../vendor/autoload.php): failed to open stream: No such file or directory in /var/www/public/index.php on line 24

Fatal error: require(): Failed opening required '/var/www/public/../vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/www/public/index.php on line 24

Toggling user registration

Create a setting in Administration panel to enable or disable the feature of registering users. With this setting enabled, only administrators will be able to create new user accounts.

Run error "The requested PHP extension ext-zip * is missing"

Hello,

Firstly, thanks for Arbify, it looks great ๐Ÿ™‚

But I encounter an error when I try to run Arbify following the README instructions. The Arbify's container restarts itself forever, with these logs :

> [email protected] install /var/www/node_modules/fsevents
> node install.js


Skipping 'fsevents' build as platform linux is not supported
added 1096 packages in 79.36s

> @ prod /var/www
> npm run production


> @ production /var/www
> cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

 DONE  Compiled successfully in 48953ms4:55:29 PM

                                                            Asset      Size  Chunks                    Chunk Names
                                                     /css/app.css   156 KiB       0  [emitted]         /js/app
                                                       /js/app.js   306 KiB       0  [emitted]  [big]  /js/app
                                           /js/app.js.LICENSE.txt  2.49 KiB          [emitted]         
  fonts/JetBrainsMono-Medium.eot?5f6496e992ba97500e6950c0244d7204   135 KiB          [emitted]         
  fonts/JetBrainsMono-Medium.ttf?902f1cf630c9adcb7ae5408ad36243b0   135 KiB          [emitted]         
fonts/JetBrainsMono-Medium.woff2?54b6827550ef145b4c1968518a96070f  45.2 KiB          [emitted]         
 fonts/JetBrainsMono-Medium.woff?ef1089ea6d73b64008a2feef1f204f6b  59.7 KiB          [emitted]         
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested PHP extension ext-zip * is missing from your system. Install or enable PHP's zip extension.

npm WARN prepare removing existing node_modules/ before installation

Thanks for your help

Add dialog for adding messages in bulk

During the creation of a new project users sometimes need to add many messages one after another. Let user do that with a new option available as a dropdown in New message that shows a new message dialog, but after creating one, a new dialog appears for adding a new message.

Fully build on Docker Hub

It would be great if you could provide a docker-compose that is available on Docker-hub with the latest build version.
I want to deploy this on a semi-public host but now it takes a very long time to download, build and startup. The startup itself is taking a very long time, and I see hundreds of lines in the log before it can start.
So it would be great to have a running version available.

Add logging

Add logging for crucial administrative tasks and show them in Administration โ€บ Logs.

image

API for downloading ARB files

Dependencies

  • Probably also with secret-based authentication middleware. #16

Endpoints

  • GET /v1/projects/{project}/arb - list of all languages and their last_modified
  • GET /v1/projects/{project}/arb/{language_code} - ARB file for given project and language

Message values history

Right now, when updating the value for a given message in a given language, the message value is being overridden.

Change that behavior to:

  • if the last message value for a given message in a given language was authored NOT by you or is older than 3 minutes (to be confirmed) or if there was NO message value, add new message value;
  • update the last message value otherwise.

Other stuff

  • Add author field to MessageValue
  • Add history route with actions:
    • Restore - for adding a cloned message value, but with current timestamps
    • Delete? - for deleting messages from history
  • Add history modal for dynamic management of message value history (maybe use Vue for that? it's going to be a little bit complex)
  • Always use the newest message value for exporting or other stuff

Delete messages dynamically

Show a popover after clicking delete on a message asking for confirmation and remove the row dynamically from the page. Remember to update translation stats.

Deleting project with messages/languages crashes program

Illuminate\Database\QueryException
SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`arbify`.`language_project`, CONSTRAINT `language_project_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`)) (SQL: delete from `projects` where `id` = 8)

502 bad gateway

Hi, I'm running this on my MacBook Pro with BigSur. I followed the steps based on the article in medium and run the command below:
docker-compose run --rm arbify docker/arbify/upgrade.sh
But it still shows 502 bad gateway. I've waited for a while and refresh it but it still not showing the login page. Below are my logs.
Attaching to arbify_arbify_1
arbify_1 | [23-Dec-2020 05:22:53] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
arbify_1 | [23-Dec-2020 05:22:53] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
arbify_1 | [23-Dec-2020 05:22:53] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
arbify_1 | [23-Dec-2020 05:22:53] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
arbify_1 | [23-Dec-2020 05:22:53] NOTICE: fpm is running, pid 15
arbify_1 | [23-Dec-2020 05:22:53] NOTICE: ready to handle connections

Language is not removed from Arbify

Actual result: If you remove the language from the project and add it again, the old translation strings will be loaded. The language that has been removed is also loaded as a file via the API, although it shouldn't.

Expected result: If you delete a language from the project, then it should be deleted, and when you add it again, a new file with translations should be created, including through the API.

Messages table page

Todo

  • Adding messages with modal instead of new page. #9
  • Dynamically shown progress of translating in the table header. 32a8dc3
  • Optimized page. Right now it takes 1 second for Fast Shopping. 54dd3db
  • Better UX of translating message values. Save after leaving the input. 32a8dc3
  • Sticky table header. c2543f4
  • Correct sizing of table columns. 2ffd35f
  • Dynamic deleting messages #22

Add check for a new release

In Administration > Statistics where current version is shown check for the latest GitHub release and show a proper message if the current version is not the latest.

Create a releasable Docker image

The current state of the repository requires people to use docker-compose, which makes it harder for people that wants to integrate with their existing system. Any thoughts of modifying the Dockerfile (copying static files inside, the image, etc.)?

I can help to do it.

Data too long for column 'value'

[2020-07-20 15:50:34] prod.ERROR: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'value' at row 1 (SQL: insert into `message_values` (`message_id`, `language_id`, `form`, `author_id`, `value`, `updated_at`, `created_at`) values (137, 1, ?, 1, Fast Shopping is a mobile application developed with simplicity in mind. It allows you to have a simple set of shopping lists, that you can easily manage. It contains no ads. Targetted to everyone who wants a simple app to get the job done. Not limited to tech-savvy users., 2020-07-20 15:50:34, 2020-07-20 15:50:34)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 22001): SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'value' at row 1 (SQL: insert into `message_values` (`message_id`, `language_id`, `form`, `author_id`, `value`, `updated_at`, `created_at`) values (137, 1, ?, 1, Fast Shopping is a mobile application developed with simplicity in mind. It allows you to have a simple set of shopping lists, that you can easily manage. It contains no ads. Targetted to everyone who wants a simple app to get the job done. Not limited to tech-savvy users., 2020-07-20 15:50:34, 2020-07-20 15:50:34)) at /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php:671)
[stacktrace]
#0 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\\Database\\Connection->runQueryCallback('insert into `me...', Array, Object(Closure))
#1 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(465): Illuminate\\Database\\Connection->run('insert into `me...', Array, Object(Closure))
#2 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(417): Illuminate\\Database\\Connection->statement('insert into `me...', Array)
#3 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\\Database\\Connection->insert('insert into `me...', Array)
#4 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2771): Illuminate\\Database\\Query\\Processors\\Processor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `me...', Array, 'id')
#5 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1403): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#6 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(900): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#7 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(865): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#8 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(728): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(767): Illuminate\\Database\\Eloquent\\Model->save()
#10 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Support/helpers.php(433): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(Arbify\\Models\\MessageValue))
#11 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(768): tap(Object(Arbify\\Models\\MessageValue), Object(Closure))
#12 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#13 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1728): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#14 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1740): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#15 /usr/home/Albert221/domains/arb.wolszon.me/app/Http/Controllers/Web/Project/MessageValueController.php(62): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#16 [internal function]: Arbify\\Http\\Controllers\\Web\\Project\\MessageValueController->put(Object(Arbify\\Http\\Requests\\PutMessageValue), Object(Arbify\\Models\\Project), Object(Arbify\\Models\\Message), Object(Arbify\\Models\\Language), NULL)
#17 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#18 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('put', Array)
#19 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Route.php(239): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Arbify\\Http\\Controllers\\Web\\Project\\MessageValueController), 'put')
#20 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Route.php(196): Illuminate\\Routing\\Route->runController()
#21 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(685): Illuminate\\Routing\\Route->run()
#22 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#23 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\EnsureEmailIsVerified->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(76): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#33 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(687): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#40 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#41 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(628): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#42 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(617): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#43 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#44 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#45 /usr/home/Albert221/domains/arb.wolszon.me/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /usr/home/Albert221/domains/arb.wolszon.me/vendor/fruitcake/laravel-cors/src/HandleCors.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#57 /usr/home/Albert221/domains/arb.wolszon.me/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#58 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#59 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#60 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(140): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#61 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(109): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#62 /usr/home/Albert221/domains/arb.wolszon.me/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#63 {main}

[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDOException(code: 22001): SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'value' at row 1 at /usr/home/Albert221/domains/arb.wolszon.me/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:129)
[stacktrace]
#0 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(464): Doctrine\\DBAL\\Driver\\PDOStatement->execute()
#1 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(664): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('insert into `me...', Array)
#2 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\\Database\\Connection->runQueryCallback('insert into `me...', Array, Object(Closure))
#3 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(465): Illuminate\\Database\\Connection->run('insert into `me...', Array, Object(Closure))
#4 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(417): Illuminate\\Database\\Connection->statement('insert into `me...', Array)
#5 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\\Database\\Connection->insert('insert into `me...', Array)
#6 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2771): Illuminate\\Database\\Query\\Processors\\Processor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `me...', Array, 'id')
#7 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1403): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#8 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(900): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#9 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(865): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#10 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(728): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#11 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(767): Illuminate\\Database\\Eloquent\\Model->save()
#12 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Support/helpers.php(433): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(Arbify\\Models\\MessageValue))
#13 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(768): tap(Object(Arbify\\Models\\MessageValue), Object(Closure))
#14 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#15 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1728): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#16 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1740): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#17 /usr/home/Albert221/domains/arb.wolszon.me/app/Http/Controllers/Web/Project/MessageValueController.php(62): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#18 [internal function]: Arbify\\Http\\Controllers\\Web\\Project\\MessageValueController->put(Object(Arbify\\Http\\Requests\\PutMessageValue), Object(Arbify\\Models\\Project), Object(Arbify\\Models\\Message), Object(Arbify\\Models\\Language), NULL)
#19 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#20 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('put', Array)
#21 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Route.php(239): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Arbify\\Http\\Controllers\\Web\\Project\\MessageValueController), 'put')
#22 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Route.php(196): Illuminate\\Routing\\Route->runController()
#23 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(685): Illuminate\\Routing\\Route->run()
#24 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#25 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\EnsureEmailIsVerified->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(76): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#35 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(687): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#42 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#43 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(628): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#44 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(617): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#45 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#46 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#47 /usr/home/Albert221/domains/arb.wolszon.me/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#57 /usr/home/Albert221/domains/arb.wolszon.me/vendor/fruitcake/laravel-cors/src/HandleCors.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#58 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#59 /usr/home/Albert221/domains/arb.wolszon.me/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#60 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#61 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#62 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(140): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#63 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(109): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#64 /usr/home/Albert221/domains/arb.wolszon.me/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#65 {main}

[previous exception] [object] (PDOException(code: 22001): SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'value' at row 1 at /usr/home/Albert221/domains/arb.wolszon.me/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:127)
[stacktrace]
#0 /usr/home/Albert221/domains/arb.wolszon.me/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(127): PDOStatement->execute(NULL)
#1 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(464): Doctrine\\DBAL\\Driver\\PDOStatement->execute()
#2 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(664): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('insert into `me...', Array)
#3 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\\Database\\Connection->runQueryCallback('insert into `me...', Array, Object(Closure))
#4 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(465): Illuminate\\Database\\Connection->run('insert into `me...', Array, Object(Closure))
#5 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Connection.php(417): Illuminate\\Database\\Connection->statement('insert into `me...', Array)
#6 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\\Database\\Connection->insert('insert into `me...', Array)
#7 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2771): Illuminate\\Database\\Query\\Processors\\Processor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `me...', Array, 'id')
#8 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1403): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#9 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(900): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#10 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(865): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#11 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(728): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#12 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(767): Illuminate\\Database\\Eloquent\\Model->save()
#13 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Support/helpers.php(433): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(Arbify\\Models\\MessageValue))
#14 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(768): tap(Object(Arbify\\Models\\MessageValue), Object(Closure))
#15 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#16 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1728): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#17 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1740): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#18 /usr/home/Albert221/domains/arb.wolszon.me/app/Http/Controllers/Web/Project/MessageValueController.php(62): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#19 [internal function]: Arbify\\Http\\Controllers\\Web\\Project\\MessageValueController->put(Object(Arbify\\Http\\Requests\\PutMessageValue), Object(Arbify\\Models\\Project), Object(Arbify\\Models\\Message), Object(Arbify\\Models\\Language), NULL)
#20 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#21 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('put', Array)
#22 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Route.php(239): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Arbify\\Http\\Controllers\\Web\\Project\\MessageValueController), 'put')
#23 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Route.php(196): Illuminate\\Routing\\Route->runController()
#24 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(685): Illuminate\\Routing\\Route->run()
#25 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#26 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\EnsureEmailIsVerified->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(76): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(687): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(628): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Routing/Router.php(617): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /usr/home/Albert221/domains/arb.wolszon.me/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /usr/home/Albert221/domains/arb.wolszon.me/vendor/fruitcake/laravel-cors/src/HandleCors.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /usr/home/Albert221/domains/arb.wolszon.me/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(140): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /usr/home/Albert221/domains/arb.wolszon.me/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(109): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /usr/home/Albert221/domains/arb.wolszon.me/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"}

Update last modified at when message (not value) changes

Right now editing message name doesn't invalidate existing messages. Thanks to that, message values aren't exported with a new name.

Quick workaround

Edit a message in every language. You can just remove a character, press Enter and add that character again. It updates the last modified date and hence correctly invalidates the cached exports.

Logo and favicon

This is current Arbify logo:

image

That's .Arbify text in JetBrains Mono, medium, 18px with a 2px bottom border under the first 4 characters.

Arbify needs an SVG (possibly PNG) logo that could be used on websites, when promoting it etc. It also needs a favicon for the software itself.

Both of them should utilize the style and typographics of the current logo.

Add screenshots to messages

Let project members upload a screenshot to each message and show it before the message title as a thumbnail.

Use FilePond for uploading, create thumbnails on upload. Remove old screenshots.

Use PhotoSwipe for enlarging the screenshot.

Fullscreen messages table

Let user maximize the messages table so he can focus on translating and utilize all of his screen space.

It should be possible to enter this mode with a button and exit with a button too, as well as Esc.

Add GitHub, GitLab and BitBucket integration

After this, project leads would be able to send a Pull Request/Merge Request to the set repository with the new translations.

This probably requires a Dart microservice running in the Docker compose for the creation of necessary files.

Collapse languages in messages table

If the table is too wide for the browser size, collapse the excess of language columns and let the user choose which languages he wants to see.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.