diff --git a/app/Http/Controllers/Language/LanguageController.php b/app/Http/Controllers/Admin/LanguageController.php similarity index 98% rename from app/Http/Controllers/Language/LanguageController.php rename to app/Http/Controllers/Admin/LanguageController.php index 6e59d423..c6aa7a1e 100644 --- a/app/Http/Controllers/Language/LanguageController.php +++ b/app/Http/Controllers/Admin/LanguageController.php @@ -1,6 +1,6 @@ with('languageStrings')->first(); + }); + + // return $lang->with('languageStrings')->first(); + + } + } diff --git a/composer.json b/composer.json index e9b8ffb8..e258b98d 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,8 @@ "fzaninotto/faker": "^1.4", "mockery/mockery": "^1.0", "nunomaduro/collision": "^4.1", - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^8.5", + "supliu/laravel-query-monitor": "^1.0" }, "config": { "optimize-autoloader": true, diff --git a/composer.lock b/composer.lock index 86924906..71fd0160 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2753a719196cd76d1bd7ee346540266c", + "content-hash": "8101b4e870a27d17a1e4c30c54489cb6", "packages": [ { "name": "asm89/stack-cors", @@ -7573,6 +7573,53 @@ ], "time": "2020-05-29T17:27:14+00:00" }, + { + "name": "evenement/evenement", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/igorw/evenement.git", + "reference": "531bfb9d15f8aa57454f5f0285b18bec903b8fb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/igorw/evenement/zipball/531bfb9d15f8aa57454f5f0285b18bec903b8fb7", + "reference": "531bfb9d15f8aa57454f5f0285b18bec903b8fb7", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Evenement": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + } + ], + "description": "Événement is a very simple event dispatching library for PHP", + "keywords": [ + "event-dispatcher", + "event-emitter" + ], + "support": { + "issues": "https://github.com/igorw/evenement/issues", + "source": "https://github.com/igorw/evenement/tree/master" + }, + "time": "2017-07-23T21:35:13+00:00" + }, { "name": "facade/flare-client-php", "version": "1.3.4", @@ -8814,6 +8861,449 @@ ], "time": "2020-06-22T07:06:58+00:00" }, + { + "name": "react/cache", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/reactphp/cache.git", + "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/cache/zipball/4bf736a2cccec7298bdf745db77585966fc2ca7e", + "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "react/promise": "^3.0 || ^2.0 || ^1.1" + }, + "require-dev": { + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Async, Promise-based cache interface for ReactPHP", + "keywords": [ + "cache", + "caching", + "promise", + "reactphp" + ], + "support": { + "issues": "https://github.com/reactphp/cache/issues", + "source": "https://github.com/reactphp/cache/tree/v1.1.1" + }, + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2021-02-02T06:47:52+00:00" + }, + { + "name": "react/dns", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/dns.git", + "reference": "b22b0b20278e8535e633ab71a52472c5bf620aa1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/dns/zipball/b22b0b20278e8535e633ab71a52472c5bf620aa1", + "reference": "b22b0b20278e8535e633ab71a52472c5bf620aa1", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "react/cache": "^1.0 || ^0.6 || ^0.5", + "react/event-loop": "^1.0 || ^0.5", + "react/promise": "^3.0 || ^2.7 || ^1.2.1", + "react/promise-timer": "^1.2" + }, + "require-dev": { + "clue/block-react": "^1.2", + "phpunit/phpunit": "^9.3 || ^4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Dns\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Async DNS resolver for ReactPHP", + "keywords": [ + "async", + "dns", + "dns-resolver", + "reactphp" + ], + "support": { + "issues": "https://github.com/reactphp/dns/issues", + "source": "https://github.com/reactphp/dns/tree/v1.5.0" + }, + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2021-03-05T12:16:50+00:00" + }, + { + "name": "react/event-loop", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/reactphp/event-loop.git", + "reference": "6d24de090cd59cfc830263cfba965be77b563c13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/6d24de090cd59cfc830263cfba965be77b563c13", + "reference": "6d24de090cd59cfc830263cfba965be77b563c13", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35" + }, + "suggest": { + "ext-event": "~1.0 for ExtEventLoop", + "ext-pcntl": "For signal handling support when using the StreamSelectLoop", + "ext-uv": "* for ExtUvLoop" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\EventLoop\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", + "keywords": [ + "asynchronous", + "event-loop" + ], + "support": { + "issues": "https://github.com/reactphp/event-loop/issues", + "source": "https://github.com/reactphp/event-loop/tree/v1.1.1" + }, + "time": "2020-01-01T18:39:52+00:00" + }, + { + "name": "react/promise", + "version": "v2.8.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4", + "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "support": { + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v2.8.0" + }, + "time": "2020-05-12T15:16:56+00:00" + }, + { + "name": "react/promise-timer", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise-timer.git", + "reference": "daee9baf6ef30c43ea4c86399f828bb5f558f6e6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise-timer/zipball/daee9baf6ef30c43ea4c86399f828bb5f558f6e6", + "reference": "daee9baf6ef30c43ea4c86399f828bb5f558f6e6", + "shasum": "" + }, + "require": { + "php": ">=5.3", + "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5", + "react/promise": "^3.0 || ^2.7.0 || ^1.2.1" + }, + "require-dev": { + "phpunit/phpunit": "^9.0 || ^5.7 || ^4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Promise\\Timer\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@lueck.tv" + } + ], + "description": "A trivial implementation of timeouts for Promises, built on top of ReactPHP.", + "homepage": "https://github.com/reactphp/promise-timer", + "keywords": [ + "async", + "event-loop", + "promise", + "reactphp", + "timeout", + "timer" + ], + "support": { + "issues": "https://github.com/reactphp/promise-timer/issues", + "source": "https://github.com/reactphp/promise-timer/tree/v1.6.0" + }, + "time": "2020-07-10T12:18:06+00:00" + }, + { + "name": "react/socket", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/socket.git", + "reference": "e2b96b23a13ca9b41ab343268dbce3f8ef4d524a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/socket/zipball/e2b96b23a13ca9b41ab343268dbce3f8ef4d524a", + "reference": "e2b96b23a13ca9b41ab343268dbce3f8ef4d524a", + "shasum": "" + }, + "require": { + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/dns": "^1.1", + "react/event-loop": "^1.0 || ^0.5", + "react/promise": "^2.6.0 || ^1.2.1", + "react/promise-timer": "^1.4.0", + "react/stream": "^1.1" + }, + "require-dev": { + "clue/block-react": "^1.2", + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35", + "react/promise-stream": "^1.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Socket\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", + "keywords": [ + "Connection", + "Socket", + "async", + "reactphp", + "stream" + ], + "support": { + "issues": "https://github.com/reactphp/socket/issues", + "source": "https://github.com/reactphp/socket/tree/v1.6.0" + }, + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2020-08-28T12:49:05+00:00" + }, + { + "name": "react/stream", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/reactphp/stream.git", + "reference": "7c02b510ee3f582c810aeccd3a197b9c2f52ff1a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/stream/zipball/7c02b510ee3f582c810aeccd3a197b9c2f52ff1a", + "reference": "7c02b510ee3f582c810aeccd3a197b9c2f52ff1a", + "shasum": "" + }, + "require": { + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.8", + "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5" + }, + "require-dev": { + "clue/stream-filter": "~1.2", + "phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Stream\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP", + "keywords": [ + "event-driven", + "io", + "non-blocking", + "pipe", + "reactphp", + "readable", + "stream", + "writable" + ], + "support": { + "issues": "https://github.com/reactphp/stream/issues", + "source": "https://github.com/reactphp/stream/tree/v1.1.1" + }, + "time": "2020-05-04T10:17:57+00:00" + }, { "name": "scrivo/highlight.php", "version": "v9.18.1.1", @@ -9601,6 +10091,75 @@ ], "time": "2020-07-07T18:42:57+00:00" }, + { + "name": "supliu/laravel-query-monitor", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/supliu/laravel-query-monitor.git", + "reference": "f609e30cfc544a3621b8b4799aef6908f89c1ae8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/supliu/laravel-query-monitor/zipball/f609e30cfc544a3621b8b4799aef6908f89c1ae8", + "reference": "f609e30cfc544a3621b8b4799aef6908f89c1ae8", + "shasum": "" + }, + "require": { + "laravel/framework": "^5.6 || ^6.0 || ^7.0 || ^8.0", + "php": "^7.3", + "react/socket": "^1.4" + }, + "require-dev": { + "orchestra/testbench": "^3.6 || ^4.0 || ^5.0 || ^6.0", + "phpunit/phpunit": "^9.2@dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Supliu\\LaravelQueryMonitor\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Supliu\\LaravelQueryMonitor\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jansen Felipe", + "email": "jansen.felipe@gmail.com" + } + ], + "description": "Laravel Query Monitor", + "keywords": [ + "eloquent", + "laravel", + "monitor", + "query", + "sql" + ], + "support": { + "issues": "https://github.com/supliu/laravel-query-monitor/issues", + "source": "https://github.com/supliu/laravel-query-monitor/tree/1.0.2" + }, + "funding": [ + { + "url": "https://www.patreon.com/supliutech", + "type": "patreon" + } + ], + "time": "2021-03-04T14:35:53+00:00" + }, { "name": "symfony/filesystem", "version": "v5.1.3", @@ -9770,5 +10329,5 @@ "php": "^7.2" }, "platform-dev": [], - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.0.0" } diff --git a/config/language_strings.php b/config/language_strings.php index 529c35e4..e8624eb1 100644 --- a/config/language_strings.php +++ b/config/language_strings.php @@ -613,6 +613,450 @@ return [ ], 'regular' => [ + "actions.close" => "Close", + "actions.create_folder" => "Create folder", + "actions.delete" => "Delete item", + "actions.download" => "Download item", + "actions.info_panel" => "Info panel", + "actions.move" => "Move item", + "actions.preview" => "Change preview", + "actions.print" => "Print item", + "actions.share" => "Share item", + "actions.sorting_view" => "Sorting and View", + "actions.upload" => "Upload file", + "admin_menu.dashboard" => "Dashboard", + "admin_menu.pages" => "Pages", + "admin_menu.settings" => "Settings", + "admin_menu.users" => "Users", + "admin_menu.language" => "Language", + "admin_page_dashboard.backer_button" => "Help Us Improve", + "admin_page_dashboard.license" => "License", + "admin_page_dashboard.version" => "Version", + "admin_page_dashboard.w_latest_users.title" => "Latest Registrations", + "admin_page_dashboard.w_total_space.link" => "Show All Users", + "admin_page_dashboard.w_total_space.title" => "Total Space Used", + "admin_page_dashboard.w_total_users.link" => "Show All Users", + "admin_page_dashboard.w_total_users.title" => "Total Users", + "admin_page_user.change_capacity" => "Change Capacity", + "admin_page_user.create_user.avatar" => "Avatar", + "admin_page_user.create_user.group_details" => "Account Details", + "admin_page_user.create_user.group_settings" => "Account Settings", + "admin_page_user.create_user.label_conf_pass" => "Confirm password", + "admin_page_user.create_user.label_email" => "Type E-mail", + "admin_page_user.create_user.label_name" => "Type full name", + "admin_page_user.create_user.submit" => "Create User", + "admin_page_user.delete_user" => "Delete User", + "admin_page_user.invoices.empty" => "User don't have any invoices yet.", + "admin_page_user.label_change_capacity" => "Type storage capacity in GB", + "admin_page_user.label_delete_user" => "Type with Case Sensitive user name ‘{user}‘", + "admin_page_user.label_person_info" => "Personal Information", + "admin_page_user.placeholder_delete_user" => "Type here", + "admin_page_user.save_role" => "Save Role", + "admin_page_user.select_role" => "Select user role", + "admin_page_user.send_password_link" => "Send Password Reset Link", + "admin_page_user.subscription.empty" => "User don't have any subscription yet.", + "admin_page_user.subscription.interval_mo" => "Monthly", + "admin_page_user.table.action" => "Action", + "admin_page_user.table.created_at" => "Registered", + "admin_page_user.table.name" => "User", + "admin_page_user.table.role" => "Role", + "admin_page_user.table.storage_capacity" => "Storage Capacity", + "admin_page_user.table.storage_used" => "Storage Used", + "admin_page_user.tabs.delete" => "Delete User", + "admin_page_user.tabs.detail" => "Detail", + "admin_page_user.tabs.password" => "Password", + "admin_page_user.tabs.storage" => "Storage Usage", + "admin_pages.form.content" => "Content", + "admin_pages.form.content_plac" => "Type your content here...", + "admin_pages.form.slug" => "Slug", + "admin_pages.form.title" => "Title", + "admin_pages.form.title_plac" => "Title name", + "admin_pages.form.visibility" => "Visibility", + "admin_pages.form.visibility_help" => "Status of your page visibility on website.", + "admin_pages.table.page" => "Page", + "admin_pages.table.slug" => "Slug", + "admin_pages.table.status" => "Status", + "admin_settings.appearance.description" => "App Description", + "admin_settings.appearance.description_plac" => "Type your app description", + "admin_settings.appearance.favicon" => "App Favicon (optional)", + "admin_settings.appearance.logo" => "App Logo (optional)", + "admin_settings.appearance.logo_horizontal" => "App Logo Horizontal (optional)", + "admin_settings.appearance.section_appearance" => "Appearance", + "admin_settings.appearance.section_general" => "General Settings", + "admin_settings.appearance.title" => "App Title", + "admin_settings.appearance.title_plac" => "Type your app title", + "admin_settings.email.driver" => "Mail Driver", + "admin_settings.email.driver_plac" => "Type your mail driver", + "admin_settings.email.email_disclaimer" => "This form is not fully pre-filled for security reasons. Your email settings is available in your .env file. For apply new Email settings, please confirm your options by button at the end of formular.", + "admin_settings.email.encryption" => "Mail Encryption", + "admin_settings.email.encryption_plac" => "Select your mail encryption", + "admin_settings.email.host" => "Mail Host", + "admin_settings.email.host_plac" => "Type your mail host", + "admin_settings.email.password" => "Mail Password", + "admin_settings.email.password_plac" => "Type your mail password", + "admin_settings.email.port" => "Mail Port", + "admin_settings.email.port_plac" => "Type your mail port", + "admin_settings.email.save_button" => "Save Email Settings", + "admin_settings.email.section_email" => "Email Setup", + "admin_settings.email.username" => "Mail Username", + "admin_settings.email.username_plac" => "Type your mail username", + "admin_settings.others.allow_registration" => "Allow User Registration", + "admin_settings.others.allow_registration_help" => "You can disable public registration for new users. You will still able to
create new users in administration panel.", + "admin_settings.others.cache_clear" => "Clear Cache", + "admin_settings.others.cache_disclaimer" => "Did you change anything in your .env file or change your Stripe credentials? Then clear your cache.", + "admin_settings.others.contact_email" => "Contact Email", + "admin_settings.others.contact_email_plac" => "Type your contact email", + "admin_settings.others.default_storage" => "Default Storage Space for User Accounts", + "admin_settings.others.default_storage_plac" => "Set default storage space in GB", + "admin_settings.others.google_analytics" => "Google Analytics Code (optional)", + "admin_settings.others.google_analytics_plac" => "Paste your Google Analytics Code", + "admin_settings.others.mimetypes_blacklist" => "Mimetypes Blacklist", + "admin_settings.others.mimetypes_blacklist_help" => "If you want to prevent upload some type of files, just add them to blacklist like this: x-php,mp3,jpeg
Use a comma between each mimetype. Don't use a dot before mimetypes.", + "admin_settings.others.mimetypes_blacklist_plac" => "Add mimetypes to Blacklist", + "admin_settings.others.section_cache" => "Application Cache", + "admin_settings.others.section_others" => "Others Settings", + "admin_settings.others.section_user" => "Users and Storage", + "admin_settings.others.storage_limit" => "Storage Limitation", + "admin_settings.others.storage_limit_help" => "If this value is off, all users will have infinity storage capacity and you won't be
able to charge your users for storage plan.", + "admin_settings.others.upload_limit" => "Upload Limit", + "admin_settings.others.upload_limit_help" => "If you want to set max file size limit on single upload, add size of your limit in MB. E.g. 100 means 100 MB and 2 000 means 2 000 MB limit.", + "admin_settings.others.upload_limit_plac" => "Type your upload limit in MB", + "admin_settings.tabs.appearance" => "Appearance", + "admin_settings.tabs.email" => "Email", + "admin_settings.tabs.others" => "Application", + "alerts.error_confirm" => "That’s horrible!", + "alerts.leave_to_sign_in" => "Do you really want to leave?", + "alerts.success_confirm" => "Awesome!", + "context_menu.add_folder" => "Add Folder", + "context_menu.add_to_favourites" => "Add to Favourites", + "context_menu.create_folder" => "Create Folder", + "context_menu.delete" => "Delete", + "context_menu.detail" => "Detail", + "context_menu.download" => "Download", + "context_menu.empty_trash" => "Empty Trash", + "context_menu.log_out" => "Log Out", + "context_menu.move" => "Move", + "context_menu.no_options" => "No Options Available", + "context_menu.profile_settings" => "Profile Settings", + "context_menu.remove_from_favourites" => "Remove Favourite", + "context_menu.rename" => "Rename", + "context_menu.restore" => "Restore", + "context_menu.select" => "Select", + "context_menu.share" => "Share", + "context_menu.share_cancel" => "Cancel Sharing", + "context_menu.share_edit" => "Edit Sharing", + "context_menu.upload" => "Upload", + "context_menu.zip_folder" => "Zip and Download", + "cookie_disclaimer.button" => "cookies policy", + "cookie_disclaimer.description" => "By browsing this website you are agreeing to our {0}.", + "datatable.paginate_info" => "Showing 1 - {visible} from {total} records", + "empty_page.call_to_action" => "Upload Files", + "empty_page.description" => "Upload some files here easily via upload button.", + "empty_page.title" => "Upload Your First File", + "errors.capacity_digit" => "The storage capacity must be lower than 10 digit number.", + "file_detail.author" => "Author", + "file_detail.author_participant" => "Public Participant", + "file_detail.created_at" => "Created at", + "file_detail.items" => "Items", + "file_detail.selected_multiple" => "Selected Multiple Items", + "file_detail.shared" => "Shared", + "file_detail.size" => "Size", + "file_detail.where" => "Where", + "file_detail_meta.aperature" => "F Number", + "file_detail_meta.aperture_value" => "Aperture Value", + "file_detail_meta.author" => "Author", + "file_detail_meta.camera_lens" => "Camera Lens", + "file_detail_meta.color_space" => "Color Space", + "file_detail_meta.dimension" => "Dimensions", + "file_detail_meta.exposure" => "Exposure Time", + "file_detail_meta.focal" => "Focal Length", + "file_detail_meta.iso" => "ISO", + "file_detail_meta.latitude" => "Latitude", + "file_detail_meta.longitude" => "Longitude", + "file_detail_meta.make" => "Camera", + "file_detail_meta.meta_data" => "Metadata", + "file_detail_meta.model" => "Model", + "file_detail_meta.resolution" => "Resolution", + "file_detail_meta.time_data" => "Content Created", + "folder.empty" => "Empty", + "folder.item_counts" => "{count} Item | {count} Items", + "global.active" => "Active", + "global.admin" => "Admin", + "global.cancel" => "Cancel", + "global.canceled" => "Canceled", + "global.confirm_action" => "Yes, I'm sure", + "global.default" => "Default", + "global.free" => "Free", + "global.get_it" => "Get It", + "global.incomplete" => "Incomplete", + "global.menu" => "Menu", + "global.monthly_ac" => "Mo.", + "global.or" => "or", + "global.premium" => "Premium", + "global.saas" => "Services", + "global.subscription" => "Subscription", + "global.total" => "Total", + "global.upgrade_plan" => "Upgrade Plan", + "input_image.supported" => "Supported formats are .png, .jpg, .jpeg.", + "input_image.title" => "Upload Image", + "inputs.placeholder_search_files" => "Search files or folders...", + "item_thumbnail.deleted_at" => "Deleted {time}", + "item_thumbnail.original_location" => "Original Location", + "locations.home" => "Files", + "locations.logout" => "Log Out", + "locations.profile" => "Profile", + "locations.settings" => "Settings", + "locations.shared" => "Shared", + "locations.trash" => "Trash", + "menu.admin" => "Administration", + "menu.files" => "Files", + "menu.invoices" => "Invoices", + "menu.latest" => "Recent Uploads", + "menu.logout" => "Log Out", + "menu.password" => "Password", + "menu.payment_cards" => "Payment Cards", + "menu.profile" => "Profile Settings", + "menu.settings" => "Settings", + "menu.shared" => "Shared Files", + "menu.storage" => "Storage", + "menu.subscription" => "Subscription", + "menu.trash" => "Trash", + "messages.nothing_from_participants" => "You don't have any uploads from other users.", + "messages.nothing_to_preview" => "There is nothing to preview.", + "messages.nothing_was_found" => "Nothing was found.", + "mobile_selecting.deselect_all" => "Deselect All", + "mobile_selecting.done" => "Done", + "mobile_selecting.select_all" => "Select All", + "page_contact_us.description" => "Do you have any questions? Get in touch with us.", + "page_contact_us.error_message" => "Something went wrong, please try it again.", + "page_contact_us.form.email" => "Email", + "page_contact_us.form.email_plac" => "Type your email", + "page_contact_us.form.message" => "Message", + "page_contact_us.form.message_plac" => "Type your message here...", + "page_contact_us.form.submit_button" => "Send Message", + "page_contact_us.success_message" => "Your message was send successfully.", + "page_contact_us.title" => "Contact Us", + "page_create_password.button_update" => "Update Password", + "page_create_password.label_confirm_pass" => "Confirm password", + "page_create_password.label_email" => "Email:", + "page_create_password.label_new_pass" => "New password", + "page_create_password.subtitle" => "Create your new password here:", + "page_create_password.title" => "Only One Step to Log In", + "page_forgotten_password.button_get_link" => "Get Link", + "page_forgotten_password.pass_reseted_signin" => "Sign In", + "page_forgotten_password.pass_reseted_subtitle" => "Your password was reset successfully.", + "page_forgotten_password.pass_reseted_title" => "Awesome!", + "page_forgotten_password.pass_sennded_subtitle" => "We have e-mailed your password reset link!", + "page_forgotten_password.pass_sennded_title" => "Thank you!", + "page_forgotten_password.password_remember_button" => "Log In.", + "page_forgotten_password.password_remember_text" => "Remember your password?", + "page_forgotten_password.subtitle" => "Get reset link with your email:", + "page_forgotten_password.title" => "Forgotten Password?", + "page_index.get_started_button" => "Sign Up Now", + "page_index.menu.contact_us" => "Contact Us", + "page_index.menu.log_in" => "Log In", + "page_index.menu.pricing" => "Pricing", + "page_index.menu.sign_in" => "Sign Up", + "page_index.sign_feature_1" => "No credit card required", + "page_index.sign_feature_2" => "{defaultSpace} Free storage space", + "page_index.sign_up_button" => "Sign Up Now", + "page_login.button_next" => "Next Step", + "page_login.placeholder_email" => "Type your E-mail", + "page_login.registration_button" => "Register account.", + "page_login.registration_text" => "Don’t have an account?", + "page_login.subtitle" => "Please type your email to log in:", + "page_login.title" => "Welcome Back!", + "page_pricing_tables.description" => "Choose plan witch perfect fit your needs. All plans is billed monthly automatically via your credit card.", + "page_pricing_tables.storage_capacity" => "Of Storage Capacity", + "page_pricing_tables.title" => "Choose Your Plan", + "page_pricing_tables.vat_excluded" => "Price displayed excludes VAT.", + "page_registration.agreement" => "By clicking on 'Create Account' button I agree to the {0} and {1}.", + "page_registration.button_create_account" => "Create Account", + "page_registration.have_an_account" => "Do you have an account?", + "page_registration.label_confirm_pass" => "Confirm password:", + "page_registration.label_email" => "Email:", + "page_registration.label_name" => "Full Name:", + "page_registration.label_pass" => "Create password:", + "page_registration.placeholder_confirm_pass" => "Confirm your new password", + "page_registration.placeholder_email" => "Type your E-mail", + "page_registration.placeholder_name" => "Type your full name", + "page_registration.placeholder_pass" => "New password", + "page_registration.subtitle" => "Please fill registration to create account:", + "page_registration.title" => "Create New Account", + "page_shared.download_file" => "Download File", + "page_shared.placeholder_pass" => "Type password", + "page_shared.submit" => "Submit", + "page_shared.subtitle" => "Please type the password to get shared content:", + "page_shared.title" => "Your Share Link is Protected", + "page_shared_404.subtitle" => "The content you are finding was probably deleted.", + "page_shared_404.title" => "Not Found :(", + "page_sign_in.button_log_in" => "Log In", + "page_sign_in.password_reset_button" => "Reset Password.", + "page_sign_in.password_reset_text" => "Forgotten your password?", + "page_sign_in.placeholder_password" => "Type your password", + "page_sign_in.subtitle" => "Confirm you by your password:", + "page_sign_in.title" => "Are You {name}?", + "popup_create_folder.folder_default_name" => "New Folder", + "popup_create_folder.label" => "Type Name", + "popup_create_folder.placeholder" => "Type your name", + "popup_create_folder.title" => "Create Folder", + "popup_delete_card.message" => "This event is irreversible and your payment card will be delete forever", + "popup_delete_card.title" => "Are you sure?", + "popup_deleted_plan.message" => "Your plan was successfully deleted.", + "popup_deleted_plan.title" => "Plan was deleted", + "popup_deleted_user.message" => "Your user was deleted with all user data content.", + "popup_deleted_user.title" => "User was deleted", + "popup_deleted_user_aborted.message" => "You can't delete this account while user have active subscription.", + "popup_deleted_user_aborted.title" => "User wasn't deleted", + "popup_error.message" => "Something went wrong and we can't continue. Please contact us.", + "popup_error.title" => "Whooops, something went wrong!", + "popup_exceed_limit.message" => "Please contact your administrator to change your limit.", + "popup_exceed_limit.title" => "Whooops, you exceed storage limit :(", + "popup_mimetypes_blacklist.message" => "File of this type ({mimetype}) is not allowed to upload.", + "popup_mimetypes_blacklist.title" => "You are trying to upload unsupported file type", + "popup_move_item.cancel" => "Cancel", + "popup_move_item.submit" => "Move Item", + "popup_move_item.title" => "Move Item", + "popup_pass_changed.message" => "So now, you have awesome new password.", + "popup_pass_changed.title" => "Your password was changed!", + "popup_passport_error.message" => "Probably you didn't generated Passport Grant client or you didn't set up passport credentials in your .env file. Please follow install instructions.", + "popup_passport_error.title" => "Invalid Passport Grand Client", + "popup_paylod_error.message" => "Sorry, your file is too large and can't be uploaded", + "popup_paylod_error.title" => "File is too large", + "popup_rename.color_pick_label" => "Pick Your Color:", + "popup_rename.emoji_list_not_found" => "Not Found", + "popup_rename.label" => "Edit Name", + "popup_rename.placeholder" => "Type your title", + "popup_rename.search_emoji_input_placeholder" => "Search your emoji...", + "popup_rename.set_emoji_input_placeholder" => "Emojis List...", + "popup_rename.tab_color_title" => "Folder Color", + "popup_rename.tab_emoji_title" => "Emoji as an Icon", + "popup_rename.title" => "Rename Your {item}", + "popup_set_card.message" => "Your card will be set as default and will be always charged for the next billings.", + "popup_set_card.title" => "Set as default card?", + "popup_share_create.title" => "Share Your {item}", + "popup_share_edit.change_pass" => "Change Password", + "popup_share_edit.confirm" => "Confirm", + "popup_share_edit.go_back" => "Go Back", + "popup_share_edit.save" => "Save Changes", + "popup_share_edit.send_to_recipients" => "Send to Recipients", + "popup_share_edit.stop" => "Cancel Sharing", + "popup_share_edit.title" => "Update sharing options", + "popup_signup_error.message" => "Please check your database connection if everything works correctly.", + "popup_signup_error.title" => "Server Error", + "popup_subscription_cancel.button" => "I'm done", + "popup_subscription_cancel.message" => "You'll continue to have access to the features you've paid for until the end of your billing cycle.", + "popup_subscription_cancel.title" => "Subscription Was Canceled", + "popup_subscription_resumed.button" => "That's awesome!", + "popup_subscription_resumed.message" => "Your subscription was re-activated, and they will be billed on the original billing cycle.", + "popup_subscription_resumed.title" => "Subscription Was Resumed", + "popup_upload_limit.message" => "Size of your uploaded file exceed the upload limit ({uploadLimit}).", + "popup_upload_limit.title" => "You exceed upload limit on single file", + "popup_zipping.message" => "Please wait until your files start downloading.", + "popup_zipping.title" => "Zipping Your Files...", + "preview_sorting.grid_view" => "Grid View", + "preview_sorting.list_view" => "List View", + "preview_sorting.preview_sorting_button" => "View", + "preview_sorting.sort_alphabet" => "Sort By Aplhabet", + "preview_sorting.sort_date" => "Sort By Date", + "profile.change_pass" => "Change Password", + "profile.profile_info" => "Profile Information", + "profile.store_pass" => "Store New Password", + "pronouns.of" => "of", + "roles.admin" => "Admin", + "roles.user" => "User", + "routes.create_new_password" => "create-new-password", + "routes_title.appearance" => "Appearance", + "routes_title.billings" => "Billings", + "routes_title.dashboard" => "Dashboard", + "routes_title.email" => "Email", + "routes_title.others" => "Others", + "routes_title.page_edit" => "Edit Page", + "routes_title.pages" => "Pages", + "routes_title.payment_methods" => "Payment Methods", + "routes_title.profile" => "My Profile", + "routes_title.profile_settings" => "Profile Settings", + "routes_title.settings" => "Settings", + "routes_title.settings_mobile" => "Settings", + "routes_title.settings_password" => "Change Password", + "routes_title.settings_storage" => "Storage", + "routes_title.user_create" => "Create User", + "routes_title.users_delete" => "Delete User", + "routes_title.users_detail" => "Detail", + "routes_title.users_list" => "User Management", + "routes_title.users_password" => "Password", + "routes_title.users_storage_usage" => "Storage Usage", + "routes_title.users_user" => "User", + "shared.can_download" => "Can download file", + "shared.editor" => "Can edit and upload files", + "shared.empty_shared" => "You haven't shared anything yet.", + "shared.visitor" => "Can only view and download", + "shared_form.button_close_options" => "Close Options", + "shared_form.button_done" => "Awesome, I’m done!", + "shared_form.button_folder_icon_open" => "Customize Folder Icon", + "shared_form.button_generate" => "Generate Link", + "shared_form.button_more_options" => "Set Expiration", + "shared_form.email_placeholder" => "Type your emails", + "shared_form.email_successfully_send_message" => "Your item was successfully sended to recipients emails.", + "shared_form.expiration_day" => "{value}d.", + "shared_form.expiration_hour" => "{value}h.", + "shared_form.label_expiration" => "Link Expiration", + "shared_form.label_password_protection" => "Password Protected", + "shared_form.label_permission" => "Permission", + "shared_form.label_send_to_recipients" => "Send to Recipients", + "shared_form.label_share_vie_email" => "Get your link", + "shared_form.label_shared_url" => "Share url", + "shared_form.placeholder_permission" => "Select your permission", + "shared_form.recipients_label" => "Recipients", + "shared_form.share_by_email" => "Share by Email", + "shared_form.share_by_link" => "Share by Link", + "sidebar.favourites" => "Favourites", + "sidebar.favourites_empty" => "Drag here your favourite folder.", + "sidebar.folders_empty" => "Create some new folder.", + "sidebar.home" => "Files", + "sidebar.latest" => "Recent Uploads", + "sidebar.locations_title" => "Base", + "sidebar.my_shared" => "My Shared Items", + "sidebar.navigator_title" => "Navigator", + "sidebar.participant_uploads" => "Participant Uploads", + "sidebar.tools_title" => "Tools", + "storage.audios" => "Audios", + "storage.documents" => "Documents", + "storage.images" => "Images", + "storage.others" => "Others", + "storage.sec_capacity" => "Your disk Usage", + "storage.sec_details" => "Capacity Usage Details", + "storage.total_capacity" => "Your storage capacity is {capacity}", + "storage.total_used" => "Total used {used}", + "storage.videos" => "Videos", + "toaster.account_upgraded" => "Your account was successfully upgraded.", + "toaster.changed_capacity" => "You successfully changed user's storage size!", + "toaster.changed_user" => "You successfully changed user's role!", + "toaster.created_user" => "User was created successfully!", + "toaster.email_set" => "Your email settings was updated successfully", + "toaster.sended_password" => "You successfully send user email for reset password!", + "types.file" => "File", + "types.folder" => "Folder", + "upgrade_banner.button" => "Upgrade", + "upgrade_banner.description" => "You nearly reach your storage capacity.", + "upgrade_banner.title" => "You reach your storage capacity. Please upgrade.", + "uploading.cancel" => "Cancel Uploading", + "uploading.processing_file" => "Processing File...", + "uploading.progress" => "Uploading File {progress}% - {current}/{total}", + "uploading.progress_single_upload" => "Uploading File {progress}%", + "user_add_card.default_description" => "Your card will be charged for billing plans as first.", + "user_add_card.default_title" => "Set as Default Payment Method", + "user_box_delete.description" => "You can delete your user, but, pay attention! This event is irreversible and all user data include user files will be deleted.", + "user_box_delete.title" => "Delete User", + "user_box_password.description" => "You can send password reset email via button bellow. User will be redirected to page where he can update password for his account.", + "user_box_password.title" => "Change User Password", + "user_box_role.description" => "You can change role for current user. Admin role can edit or create new users, change storage capacity and any other application settings.", + "user_box_role.title" => "Change User Role", + "user_box_storage.description" => "Change user storage capacity by input bellow. You have to type only number e.g. value '5' means, user will have 5GB of storage capacity.", + "user_box_storage.title" => "Change User Storage Capacity", + "user_password.title" => "Change Your Password", + "user_settings.address" => "Address", + "user_settings.address_plac" => "Type your billing address", "user_settings.city" => "City", "user_settings.city_plac" => "Type your billing city", "user_settings.country" => "Country", @@ -625,5 +1069,22 @@ return [ "user_settings.postal_code_plac" => "Type your billing postal code", "user_settings.state" => "State", "user_settings.state_plac" => "Type your billing state", + "user_settings.timezone" => "Timezone", + "user_settings.timezone_plac" => "Select your timezone", + "user_settings.title_account" => "Account Information", + "user_settings.title_billing" => "Billing Information", + "user_subscription.billed" => "Billed", + "user_subscription.cancel_plan" => "Cancel Plan", + "user_subscription.canceled_at" => "Canceled At", + "user_subscription.created_at" => "Created At", + "user_subscription.empty" => "You don't have any subscription yet.", + "user_subscription.ends_at" => "Ends At", + "user_subscription.plan" => "Plan", + "user_subscription.renews_at" => "Renews At", + "user_subscription.resume_plan" => "Resume Plan", + "user_subscription.status" => "Status", + "user_subscription.title" => "Subscription Plan", + "validation_errors.incorrect_password" => "Sorry, you passed incorrect password :(", + "validation_errors.wrong_image" => "You may have uploaded the wrong file, try again!" ] ]; \ No newline at end of file diff --git a/config/laravel-query-monitor.php b/config/laravel-query-monitor.php new file mode 100644 index 00000000..d3597eb7 --- /dev/null +++ b/config/laravel-query-monitor.php @@ -0,0 +1,7 @@ + env('LARAVEL_QUERY_MONITOR', true), + 'host' => env('LARAVEL_QUERY_MONITOR_HOST', '0.0.0.0'), + 'port' => env('LARAVEL_QUERY_MONITOR_PORT', 8081), +]; diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 1f3ebe11..f2d70b4b 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -13,7 +13,7 @@ "/chunks/app-billings.js": "/chunks/app-billings.js?id=aac5bd51067578358164", "/chunks/app-email.js": "/chunks/app-email.js?id=9d1631b19f6492b8cae4", "/chunks/app-index.js": "/chunks/app-index.js?id=2dcbe307133d780b6472", - "/chunks/app-language.js": "/chunks/app-language.js?id=2cf5ac6cc7e6f4728b02", + "/chunks/app-language.js": "/chunks/app-language.js?id=4179320e3c8fcf2d4ae9", "/chunks/app-others.js": "/chunks/app-others.js?id=44efcfb317747ff3b508", "/chunks/app-payments.js": "/chunks/app-payments.js?id=187ecc16f9f7fbc4ccac", "/chunks/app-settings.js": "/chunks/app-settings.js?id=b6b0eba13665133c0a19", @@ -75,96 +75,5 @@ "/chunks/user-password.js": "/chunks/user-password.js?id=ac51d17a4aa7ae50bc88", "/chunks/user-storage.js": "/chunks/user-storage.js?id=5cfec8a8f8a8aef24ef2", "/chunks/user-subscription.js": "/chunks/user-subscription.js?id=10b3a108059d62d206c8", - "/chunks/users.js": "/chunks/users.js?id=6e68cb068f69fba3199c", - "/js/main.0edd68af36b98ba4f169.hot-update.js": "/js/main.0edd68af36b98ba4f169.hot-update.js", - "/js/main.13e8f559075fb4d1c237.hot-update.js": "/js/main.13e8f559075fb4d1c237.hot-update.js", - "/js/main.56605e23737285abe898.hot-update.js": "/js/main.56605e23737285abe898.hot-update.js", - "/js/main.83ee28277942299c71f1.hot-update.js": "/js/main.83ee28277942299c71f1.hot-update.js", - "/js/main.f131e3497a31e2717ee0.hot-update.js": "/js/main.f131e3497a31e2717ee0.hot-update.js", - "/js/main.a9328a7e6f2f2565dca3.hot-update.js": "/js/main.a9328a7e6f2f2565dca3.hot-update.js", - "/js/main.6fd4960d59a47a8bd567.hot-update.js": "/js/main.6fd4960d59a47a8bd567.hot-update.js", - "/js/main.6653a3f7fa26f26eadfd.hot-update.js": "/js/main.6653a3f7fa26f26eadfd.hot-update.js", - "/js/main.11a34f7b3e36467d413d.hot-update.js": "/js/main.11a34f7b3e36467d413d.hot-update.js", - "/js/main.9f4fbfe58c58a4dbc945.hot-update.js": "/js/main.9f4fbfe58c58a4dbc945.hot-update.js", - "/js/main.a58c527084ff6b43776c.hot-update.js": "/js/main.a58c527084ff6b43776c.hot-update.js", - "/js/main.4e51c9e5aa227321c2c3.hot-update.js": "/js/main.4e51c9e5aa227321c2c3.hot-update.js", - "/js/main.955b851ad6908e0c88d2.hot-update.js": "/js/main.955b851ad6908e0c88d2.hot-update.js", - "/js/main.a7eb9d82bf31eced1b21.hot-update.js": "/js/main.a7eb9d82bf31eced1b21.hot-update.js", - "/js/main.b9947925fe57983eb624.hot-update.js": "/js/main.b9947925fe57983eb624.hot-update.js", - "/js/main.f10f34ee95ddee49786f.hot-update.js": "/js/main.f10f34ee95ddee49786f.hot-update.js", - "/js/main.1c13480c7d52b18a4538.hot-update.js": "/js/main.1c13480c7d52b18a4538.hot-update.js", - "/js/main.d352138d9ccc3355f05e.hot-update.js": "/js/main.d352138d9ccc3355f05e.hot-update.js", - "/js/main.68cd4639663c26e2bdba.hot-update.js": "/js/main.68cd4639663c26e2bdba.hot-update.js", - "/js/main.9719407d3c78985e860c.hot-update.js": "/js/main.9719407d3c78985e860c.hot-update.js", - "/js/main.5003f0fa2e1cb26f8029.hot-update.js": "/js/main.5003f0fa2e1cb26f8029.hot-update.js", - "/js/main.b81c05de30c63404e33f.hot-update.js": "/js/main.b81c05de30c63404e33f.hot-update.js", - "/js/main.f69e726e065eb272fdd8.hot-update.js": "/js/main.f69e726e065eb272fdd8.hot-update.js", - "/js/main.63ba1b525a461aee1c34.hot-update.js": "/js/main.63ba1b525a461aee1c34.hot-update.js", - "/js/main.695535ea566883ace00c.hot-update.js": "/js/main.695535ea566883ace00c.hot-update.js", - "/js/main.6d0a3d5d1802b5e8b1fd.hot-update.js": "/js/main.6d0a3d5d1802b5e8b1fd.hot-update.js", - "/js/main.60cece221f1dfb110381.hot-update.js": "/js/main.60cece221f1dfb110381.hot-update.js", - "/js/main.f7d69776c8008c24d0e5.hot-update.js": "/js/main.f7d69776c8008c24d0e5.hot-update.js", - "/js/main.b99c7292258856c81b8b.hot-update.js": "/js/main.b99c7292258856c81b8b.hot-update.js", - "/js/main.6e8b95fb82c362d922a6.hot-update.js": "/js/main.6e8b95fb82c362d922a6.hot-update.js", - "/js/main.670777c43eb0d2f5c85c.hot-update.js": "/js/main.670777c43eb0d2f5c85c.hot-update.js", - "/js/main.669fe68d7a794f280b66.hot-update.js": "/js/main.669fe68d7a794f280b66.hot-update.js", - "/js/main.6ec94414498e1fd76719.hot-update.js": "/js/main.6ec94414498e1fd76719.hot-update.js", - "/js/main.81a176f887881e4d7655.hot-update.js": "/js/main.81a176f887881e4d7655.hot-update.js", - "/js/main.5d8a122a8548910df006.hot-update.js": "/js/main.5d8a122a8548910df006.hot-update.js", - "/js/main.ad9272379b3dc891089d.hot-update.js": "/js/main.ad9272379b3dc891089d.hot-update.js", - "/chunks/pages.eb27792b3617a0f87768.hot-update.js": "/chunks/pages.eb27792b3617a0f87768.hot-update.js", - "/chunks/pages.19f06f74b4ef268cf1be.hot-update.js": "/chunks/pages.19f06f74b4ef268cf1be.hot-update.js", - "/chunks/pages.0896a6dd5bfde85b5e70.hot-update.js": "/chunks/pages.0896a6dd5bfde85b5e70.hot-update.js", - "/js/main.ab2388a3893f4ed77a15.hot-update.js": "/js/main.ab2388a3893f4ed77a15.hot-update.js", - "/js/main.e3f63768c6abab043465.hot-update.js": "/js/main.e3f63768c6abab043465.hot-update.js", - "/js/main.6f3c7422bdce4d19ea95.hot-update.js": "/js/main.6f3c7422bdce4d19ea95.hot-update.js", - "/js/main.44aa5a5ab623a0a43035.hot-update.js": "/js/main.44aa5a5ab623a0a43035.hot-update.js", - "/js/main.f58c4535b6d29d546ba1.hot-update.js": "/js/main.f58c4535b6d29d546ba1.hot-update.js", - "/js/main.6cd1aea598a79b4bf8ca.hot-update.js": "/js/main.6cd1aea598a79b4bf8ca.hot-update.js", - "/js/main.2707b06a3915949c733f.hot-update.js": "/js/main.2707b06a3915949c733f.hot-update.js", - "/js/main.039a4ab0d9cde0b00b8d.hot-update.js": "/js/main.039a4ab0d9cde0b00b8d.hot-update.js", - "/js/main.f8d5891c3427bc174fea.hot-update.js": "/js/main.f8d5891c3427bc174fea.hot-update.js", - "/js/main.522fc0c741164035ceb8.hot-update.js": "/js/main.522fc0c741164035ceb8.hot-update.js", - "/js/main.eb7ec8e78c3b6a8b5f42.hot-update.js": "/js/main.eb7ec8e78c3b6a8b5f42.hot-update.js", - "/js/main.b79e84ea2d1f80daf8a8.hot-update.js": "/js/main.b79e84ea2d1f80daf8a8.hot-update.js", - "/js/main.1d4acf0b90918030a3a1.hot-update.js": "/js/main.1d4acf0b90918030a3a1.hot-update.js", - "/js/main.8c7833c3e7f0ae516aed.hot-update.js": "/js/main.8c7833c3e7f0ae516aed.hot-update.js", - "/js/main.e9a5a578d6d8a203ab51.hot-update.js": "/js/main.e9a5a578d6d8a203ab51.hot-update.js", - "/js/main.a5c5dfb1f7777a8152b5.hot-update.js": "/js/main.a5c5dfb1f7777a8152b5.hot-update.js", - "/js/main.1cb8f5fca063fc44f447.hot-update.js": "/js/main.1cb8f5fca063fc44f447.hot-update.js", - "/js/main.9af9eb308dd512109387.hot-update.js": "/js/main.9af9eb308dd512109387.hot-update.js", - "/js/main.6be41bd1c4e51d393f7e.hot-update.js": "/js/main.6be41bd1c4e51d393f7e.hot-update.js", - "/js/main.b218e2685b2d6ff3924d.hot-update.js": "/js/main.b218e2685b2d6ff3924d.hot-update.js", - "/js/main.beb98bd4608d956b9d1f.hot-update.js": "/js/main.beb98bd4608d956b9d1f.hot-update.js", - "/js/main.cf880fc7dbec84e7fa86.hot-update.js": "/js/main.cf880fc7dbec84e7fa86.hot-update.js", - "/js/main.e51571b5b9b9ef17ead1.hot-update.js": "/js/main.e51571b5b9b9ef17ead1.hot-update.js", - "/js/main.ffae095a348da306e047.hot-update.js": "/js/main.ffae095a348da306e047.hot-update.js", - "/js/main.2de9b19ae0092cbc05fc.hot-update.js": "/js/main.2de9b19ae0092cbc05fc.hot-update.js", - "/js/main.2f49317533428d84a32f.hot-update.js": "/js/main.2f49317533428d84a32f.hot-update.js", - "/js/main.b4619bb0db63aa4c145e.hot-update.js": "/js/main.b4619bb0db63aa4c145e.hot-update.js", - "/js/main.ec6fc321c79b4e90394a.hot-update.js": "/js/main.ec6fc321c79b4e90394a.hot-update.js", - "/js/main.7521084eb50bcd8b569f.hot-update.js": "/js/main.7521084eb50bcd8b569f.hot-update.js", - "/js/main.3ffc81b56113af5c1ec6.hot-update.js": "/js/main.3ffc81b56113af5c1ec6.hot-update.js", - "/js/main.02887057a4612898e589.hot-update.js": "/js/main.02887057a4612898e589.hot-update.js", - "/js/main.262c67d80e0ef6ef9b4a.hot-update.js": "/js/main.262c67d80e0ef6ef9b4a.hot-update.js", - "/js/main.45677b4cde1b81019477.hot-update.js": "/js/main.45677b4cde1b81019477.hot-update.js", - "/js/main.d72b99ea112238ee87d7.hot-update.js": "/js/main.d72b99ea112238ee87d7.hot-update.js", - "/js/main.838c5d2f9f752eca5bd9.hot-update.js": "/js/main.838c5d2f9f752eca5bd9.hot-update.js", - "/js/main.1a7808b8177c9215ecab.hot-update.js": "/js/main.1a7808b8177c9215ecab.hot-update.js", - "/chunks/pages.3b6d34707d23b96a9c28.hot-update.js": "/chunks/pages.3b6d34707d23b96a9c28.hot-update.js", - "/chunks/pages.2ec55f44bd6d3febf3f7.hot-update.js": "/chunks/pages.2ec55f44bd6d3febf3f7.hot-update.js", - "/chunks/pages.b63fe476d3352be88aaf.hot-update.js": "/chunks/pages.b63fe476d3352be88aaf.hot-update.js", - "/chunks/pages.2cac65f7eee568626e63.hot-update.js": "/chunks/pages.2cac65f7eee568626e63.hot-update.js", - "/js/main.3849cc739bbac4eb564f.hot-update.js": "/js/main.3849cc739bbac4eb564f.hot-update.js", - "/js/main.eae2899fcb540f239b40.hot-update.js": "/js/main.eae2899fcb540f239b40.hot-update.js", - "/js/main.328607b432c97dc33959.hot-update.js": "/js/main.328607b432c97dc33959.hot-update.js", - "/js/main.8d063753d299ddc67892.hot-update.js": "/js/main.8d063753d299ddc67892.hot-update.js", - "/js/main.73744c75b00be2df7f02.hot-update.js": "/js/main.73744c75b00be2df7f02.hot-update.js", - "/js/main.1c718a4f5037c2be4fed.hot-update.js": "/js/main.1c718a4f5037c2be4fed.hot-update.js", - "/js/main.3965f0fac4b60bd1fef8.hot-update.js": "/js/main.3965f0fac4b60bd1fef8.hot-update.js", - "/js/main.802f125210d3a0ebffb0.hot-update.js": "/js/main.802f125210d3a0ebffb0.hot-update.js", - "/js/main.de881089dbbbfa4bbb50.hot-update.js": "/js/main.de881089dbbbfa4bbb50.hot-update.js", - "/js/main.23a29c64427790755d09.hot-update.js": "/js/main.23a29c64427790755d09.hot-update.js", - "/js/main.80bc2705fe5c0cbc2d01.hot-update.js": "/js/main.80bc2705fe5c0cbc2d01.hot-update.js", - "/js/main.d237ac43bcb1ef2da639.hot-update.js": "/js/main.d237ac43bcb1ef2da639.hot-update.js" + "/chunks/users.js": "/chunks/users.js?id=6e68cb068f69fba3199c" } diff --git a/resources/js/helpers.js b/resources/js/helpers.js index f8e0d3c7..d808c20e 100644 --- a/resources/js/helpers.js +++ b/resources/js/helpers.js @@ -27,7 +27,7 @@ const Helpers = { // return new Promise((resolve, reject) => { let locale = language ? language : this.$store.getters.config.language - axios.get(`/api/languages/${locale}/strings_i18n`) + axios.get(`/api/language/${locale}`) .then((response) => { let lang = response.data.language_strings diff --git a/resources/js/views/Admin/Languages/Language.vue b/resources/js/views/Admin/Languages/Language.vue index 2ae556bf..92bcd9ee 100644 --- a/resources/js/views/Admin/Languages/Language.vue +++ b/resources/js/views/Admin/Languages/Language.vue @@ -27,8 +27,8 @@ - - + + diff --git a/resources/js/views/Admin/Languages/LanguageStrings.vue b/resources/js/views/Admin/Languages/LanguageStrings.vue index 077ac65f..3076a892 100644 --- a/resources/js/views/Admin/Languages/LanguageStrings.vue +++ b/resources/js/views/Admin/Languages/LanguageStrings.vue @@ -19,7 +19,8 @@ -
+ +
Language Settings
@@ -53,8 +54,8 @@ Language Strings
- -
+ +
@@ -85,7 +86,7 @@ import lodash from 'lodash' export default { name: 'LanguageStrings', - props: [ 'languageStrings' ], + props: [ 'languageStrings', 'loadedStrings'], components: { ValidationProvider, ValidationObserver, @@ -98,19 +99,25 @@ export default { computed: { languageSettingHandle() { return this.language.locale == this.languageSetting ? true : false - } + }, }, data () { return { defaultStrings: [], filteredStrings: [], - loadedStrings: false, + loadSearch: false, strings: undefined, language: undefined, searchInput: '', languageSetting: undefined } }, + watch: { + loadedStrings () { + if(this.loadedStrings) + this.loadData() + } + }, methods: { updateLanguageSetting() { @@ -148,7 +155,7 @@ export default { }, searchStrings() { - this.loadedStrings = false + this.loadSearch = false this.filteredStrings = [] @@ -159,35 +166,35 @@ export default { this.filteredStrings = this.defaultStrings.filter(string => string.value.toLowerCase().includes( this.searchInput.toLowerCase() )) - this.loadedStrings = true + this.loadSearch = true - }, 200) - }, - mounted () { + }, 200), + loadData() { - if(this.languageStrings.translated_strings) { + if(this.languageStrings.translated_strings) { - this.strings = this.languageStrings.translated_strings.language_strings + this.strings = this.languageStrings.translated_strings.language_strings - // Make from JSON object array of objects - for (const [key, value] of Object.entries(this.languageStrings.default_strings)) { - this.defaultStrings.push({ - 'key': key, - 'value': value, - }) + // Make from JSON object array of objects + for (const [key, value] of Object.entries(this.languageStrings.default_strings)) { + this.defaultStrings.push({ + 'key': key, + 'value': value, + }) + } + + this.language = { + 'id': this.languageStrings.translated_strings.id, + 'name': this.languageStrings.translated_strings.name, + 'locale': this.languageStrings.translated_strings.locale, + } + + this.languageSetting = this.languageStrings.language_setting + + this.filterStrings() } - - this.language = { - 'id': this.languageStrings.translated_strings.id, - 'name': this.languageStrings.translated_strings.name, - 'locale': this.languageStrings.translated_strings.locale, - } - - this.languageSetting = this.languageStrings.language_setting - - this.filterStrings() } - } + }, } @@ -206,7 +213,7 @@ export default { } .language-strings-wrapper { - width: 700px; + width: 100%; height: 100%; margin: 0 auto; display: flex; diff --git a/routes/api.php b/routes/api.php index a5e48b60..d4f836da 100644 --- a/routes/api.php +++ b/routes/api.php @@ -172,13 +172,12 @@ Route::group(['middleware' => ['auth:api', 'auth.master', 'auth.admin', 'scope:m Route::get('/flush-cache', 'AppFunctionsController@flush_cache'); Route::group(['prefix' => 'languages'], function () { - Route::get('/{language}/strings_i18n', 'Language\LanguageController@get_language_strings_i18n'); - Route::get('/{language}/strings', 'Language\LanguageController@get_language_strings'); - Route::patch('/{language}/string', 'Language\LanguageController@update_string'); - Route::delete('/{language}', 'Language\LanguageController@delete_language'); - Route::patch('/{language}', 'Language\LanguageController@update_language'); - Route::post('/', 'Language\LanguageController@create_language'); - Route::get('/', 'Language\LanguageController@get_languages'); + Route::get('/{language}/strings', 'Admin\LanguageController@get_language_strings'); + Route::patch('/{language}/string', 'Admin\LanguageController@update_string'); + Route::delete('/{language}', 'Admin\LanguageController@delete_language'); + Route::patch('/{language}', 'Admin\LanguageController@update_language'); + Route::post('/', 'Admin\LanguageController@create_language'); + Route::get('/', 'Admin\LanguageController@get_languages'); }); // Language @@ -207,6 +206,9 @@ Route::group(['middleware' => ['auth:api', 'auth.shared', 'auth.master', 'scope: Route::post('/upload', 'FileFunctions\EditItemsController@user_upload'); Route::post('/move', 'FileFunctions\EditItemsController@user_move'); + //Get translate + Route::get('/language/{lang}', 'AppFunctionsController@get_translate'); + //Get Emojis List Route::get('/emojis-list', 'AppFunctionsController@get_emojis_list'); });