diff --git a/app/Http/Controllers/Language/LanguageController.php b/app/Http/Controllers/Language/LanguageController.php index 76bea642..6e59d423 100644 --- a/app/Http/Controllers/Language/LanguageController.php +++ b/app/Http/Controllers/Language/LanguageController.php @@ -28,6 +28,14 @@ class LanguageController extends Controller return Language::all(); } + public function get_language_strings_i18n($language) + { + $lang = Language::whereLocale($language); + + return $lang->with('languageStrings')->first(); + + } + /** * Get all language strings * diff --git a/config/language_strings.php b/config/language_strings.php index 6ba936dc..529c35e4 100644 --- a/config/language_strings.php +++ b/config/language_strings.php @@ -22,6 +22,7 @@ return [ "admin_menu.plans" => "Plans", "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", @@ -165,7 +166,7 @@ return [ "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_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", @@ -180,7 +181,7 @@ return [ "admin_settings.payments.button_testing" => "Testing Stripe Connection", "admin_settings.payments.credentials_disclaimer" => "Your Stripe credentials is not showed because these values are secret and must not be revealed by stranger. You can change your Stripe credentials in your .env file.", "admin_settings.payments.section_payments" => "Stripe Payments", - "admin_settings.payments.stripe_create_acc" => "If you don’t have stripe account, please //dashboard.stripe.com/register\" target=\"_blank\">register here and get your Publishable Key, Secret Key and create your webhook.", + "admin_settings.payments.stripe_create_acc" => "If you don’t have stripe account, please register here and get your Publishable Key, Secret Key and create your webhook.", "admin_settings.payments.stripe_create_webhook" => "You have to create webhook endpoint in your Stripe Dashboard. You can find it in Dashboard -> Developers -> Webhooks -> Add Endpoint. In Endpoint URL please copy and paste url bellow. Make sure, this url is your public domain, not localhost. In events section, please click on receive all events. That's all.", "admin_settings.payments.stripe_currency" => "Stripe Currency", "admin_settings.payments.stripe_currency_plac" => "Select your Stripe currency", @@ -314,9 +315,9 @@ return [ "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_email" => "Email:", "page_create_password.label_new_pass" => "New password", - "page_create_password.subtitle" => "Create your new password here =>", + "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", @@ -326,7 +327,7 @@ return [ "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.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", @@ -340,7 +341,7 @@ return [ "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.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", @@ -349,28 +350,28 @@ return [ "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.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.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.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_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.subtitle" => "Confirm you by your password:", "page_sign_in.title" => "Are You {name}?", "page_upgrade_account.change_payment.change_payment" => "change your default payment method", "page_upgrade_account.change_payment.pay_by_new_card" => "pay by new credit card", @@ -401,7 +402,7 @@ return [ "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_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", @@ -413,7 +414,7 @@ return [ "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.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", @@ -607,7 +608,7 @@ return [ "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.incorrect_password" => "Sorry, you passed incorrect password :(", "validation_errors.wrong_image" => "You may have uploaded the wrong file, try again!" ], diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 903b773b..1f3ebe11 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=cb21d7713de6d235ce9e", + "/chunks/app-language.js": "/chunks/app-language.js?id=2cf5ac6cc7e6f4728b02", "/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", @@ -76,7 +76,95 @@ "/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", - "/chunks/app-language.f2d6f777c948d2be3fa4.hot-update.js": "/chunks/app-language.f2d6f777c948d2be3fa4.hot-update.js", - "/chunks/app-language.eff2e9dae1a04c9ec690.hot-update.js": "/chunks/app-language.eff2e9dae1a04c9ec690.hot-update.js", - "/chunks/app-language.8f859b95699d27e6c06e.hot-update.js": "/chunks/app-language.8f859b95699d27e6c06e.hot-update.js" + "/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" } diff --git a/resources/js/App.vue b/resources/js/App.vue index 2bdc6597..e713c11b 100644 --- a/resources/js/App.vue +++ b/resources/js/App.vue @@ -83,6 +83,7 @@ import RenameItem from '@/components/Others/RenameItem' import ShareEdit from '@/components/Others/ShareEdit' import MoveItem from '@/components/Others/MoveItem' import Vignette from '@/components/Others/Vignette' +import Helpers from "./helpers"; import DragUI from '@/components/FilesView/DragUI' import MenuBar from '@/components/Sidebar/MenuBar' import Alert from '@/components/FilesView/Alert' @@ -146,7 +147,7 @@ export default { }, data() { return { - isScaledDown: false + isScaledDown: false, } }, methods: { @@ -180,6 +181,8 @@ export default { }, mounted() { + this.$loadLanguage() + this.$checkOS() // Handle mobile navigation scale animation diff --git a/resources/js/helpers.js b/resources/js/helpers.js index 7d194fd3..f8e0d3c7 100644 --- a/resources/js/helpers.js +++ b/resources/js/helpers.js @@ -23,6 +23,30 @@ const Helpers = { }) }, 150) + Vue.prototype.$loadLanguage = function (language) { + + // return new Promise((resolve, reject) => { + let locale = language ? language : this.$store.getters.config.language + axios.get(`/api/languages/${locale}/strings_i18n`) + .then((response) => { + + let lang = response.data.language_strings + + let obj = {} + + lang.map(element => { + obj[element.key] = element.value + }) + + i18n.setLocaleMessage(locale, obj) + i18n.locale = locale + + // resolve(true) + + }) + // }) + } + Vue.prototype.$updateImage = function (route, name, image) { // Create form diff --git a/resources/js/i18n/index.js b/resources/js/i18n/index.js index 93f3a298..c85a350b 100644 --- a/resources/js/i18n/index.js +++ b/resources/js/i18n/index.js @@ -8,10 +8,9 @@ import cn from './lang/cn.json' Vue.use(VueI18n); const i18n = new VueI18n({ - locale: config.locale, - messages: Object.assign({ - en - }), + locale: config.language, + silentTranslationWarn: true, }); + export default i18n; diff --git a/resources/js/views/Admin/Languages/LanguageStrings.vue b/resources/js/views/Admin/Languages/LanguageStrings.vue index f86b40cc..077ac65f 100644 --- a/resources/js/views/Admin/Languages/LanguageStrings.vue +++ b/resources/js/views/Admin/Languages/LanguageStrings.vue @@ -117,6 +117,8 @@ export default { this.$updateText('/settings', 'language', this.language.locale) this.languageSetting = this.language.locale + + this.$loadLanguage(this.language.locale) }, resetInput(){ diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php index dc48a1eb..7a9c6ee7 100644 --- a/resources/views/index.blade.php +++ b/resources/views/index.blade.php @@ -40,6 +40,8 @@ locale: '{{ \Illuminate\Support\Facades\App::getLocale() }}', + language: '{{ isset($settings->language) ? $settings->language : en }}', + app_name: '{{ isset($settings->app_title) && $settings->app_title ? $settings->app_title : 'VueFileManager' }}', app_description: '{{ isset($settings->app_description) && $settings->app_description ? $settings->app_description : 'Your self-hosted storage cloud software powered by Laravel and Vue' }}', app_footer: '{!! isset($settings->footer_content) && $settings->footer_content ? $settings->footer_content : null !!}', diff --git a/routes/api.php b/routes/api.php index 02f924cb..a5e48b60 100644 --- a/routes/api.php +++ b/routes/api.php @@ -172,6 +172,7 @@ 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');