add load strings for i18n from database

This commit is contained in:
Milos Holba
2021-03-16 19:26:42 +01:00
parent 353180491b
commit 617f715774
9 changed files with 154 additions and 26 deletions

View File

@@ -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
*

View File

@@ -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 <br/> 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 <br/> 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 <b>.env</b> file.",
"admin_settings.payments.section_payments" => "Stripe Payments",
"admin_settings.payments.stripe_create_acc" => "If you dont have stripe account, please <a href=\"https =>//dashboard.stripe.com/register\" target=\"_blank\">register here</a> and get your Publishable Key, Secret Key and create your webhook.",
"admin_settings.payments.stripe_create_acc" => "If you dont have stripe account, please <a href=\"https://dashboard.stripe.com/register\" target=\"_blank\">register here</a> 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 <b>Dashboard -> Developers -> Webhooks -> Add Endpoint</b>. 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 <b>receive all events</b>. 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" => "Dont 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!"
],

View File

@@ -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"
}

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -117,6 +117,8 @@ export default {
this.$updateText('/settings', 'language', this.language.locale)
this.languageSetting = this.language.locale
this.$loadLanguage(this.language.locale)
},
resetInput(){

View File

@@ -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 !!}',

View File

@@ -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');