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
+4 -1
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
+24
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
+3 -4
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;
@@ -117,6 +117,8 @@ export default {
this.$updateText('/settings', 'language', this.language.locale)
this.languageSetting = this.language.locale
this.$loadLanguage(this.language.locale)
},
resetInput(){
+2
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 !!}',