+ Add translation support for backend by passing selected language in request header.

+ Add a new translation middleware.
+ Translated all /api/v1/system/* modules.
+ Translated /api/v1/autocode/auto_code_example.go
+ Increasing server timeout from 20 sec to 30 sec.
+ Fix Chinese translation for confirmation button.
+ Add selected language option to user store.
This commit is contained in:
Mohamed Hassan
2022-02-14 14:39:10 +02:00
parent 59843f1997
commit 2bd337fa38
36 changed files with 599 additions and 273 deletions
+2 -2
View File
@@ -8,7 +8,7 @@
"delete" : "删除",
"copy" : "拷贝",
"cancel" : "取消",
"sure" : "确定",
"confirm" : "确定",
"close" : "取 消",
"selectAll" : "全选",
"addSuccess" : "添加成功!",
@@ -39,7 +39,7 @@
"errUserName": "请输入正确的用户名",
"errPassword": "请输入正确的密码",
"errVerificationCode": "验证码格式不正确",
"errLoging": "请正确填写登录信息",
"errLogin": "请正确填写登录信息",
"errInit" : "已配置数据库信息,无法初始化",
"language": "Languages"
},
+15
View File
@@ -17,6 +17,8 @@ export const useUserStore = defineStore('user', () => {
baseColor: '#fff'
})
const token = ref(window.localStorage.getItem('token') || '')
const language = ref(window.localStorage.getItem('langauge') || 'en') // added by mohamed hassan to allow store selected language for multilanguage support.
const setUserInfo = (val) => {
userInfo.value = val
}
@@ -25,6 +27,16 @@ export const useUserStore = defineStore('user', () => {
token.value = val
}
// added by mohame hassan to allow store selected language for multilanguage support.
const setLanguage = (val) => {
console.log('setLanguage called with value: ' + val)
language.value = val
}
const getLanguage = () => {
return language.value
}
const NeedInit = () => {
token.value = ''
window.localStorage.removeItem('token')
@@ -117,11 +129,14 @@ export const useUserStore = defineStore('user', () => {
return {
userInfo,
token,
language, // added by mohame hassan to allow store selected language for multilanguage support.
NeedInit,
ResetUserInfo,
GetUserInfo,
LoginIn,
LoginOut,
setLanguage, // added by mohame hassan to allow store selected language for multilanguage support.
getLanguage, // added by mohame hassan to allow store selected language for multilanguage support.
changeSideMode,
mode,
sideMode,
+1
View File
@@ -40,6 +40,7 @@ service.interceptors.request.use(
'Content-Type': 'application/json',
'x-token': userStore.token,
'x-user-id': userStore.userInfo.ID,
'Accept-Language': userStore.language, // added by mohame hassan to allow store selected language for multilanguage support.
...config.headers
}
return config
+5 -2
View File
@@ -245,11 +245,14 @@ const checkInit = async() => {
}
const handleSetLanguage = (lang) => {
console.log('handleSetLanguage() called with value: ' + lang)
// console.log('handleSetLanguage() called with value: ' + lang)
i18n.locale.value = lang
userStore.setLanguage(lang)
// console.log('userStore handleSetLanguage() called with value: ' + userStore.getLanguage())
Cookies.set('language', lang)
// this.$store.dispatch('setLanguage', lang)
// if (lang === 'ar') {
// console.log('Arabic language selected changing to RTL')