Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas3-fe
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas3-fe
Commits
b31fd5c7
Commit
b31fd5c7
authored
Dec 31, 2021
by
guxukai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: 国际化planA实现
parent
d0e1fab4
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
106 additions
and
78 deletions
+106
-78
button-config.ts
src/shared/plugins/i18n/config/button-config.ts
+7
-10
menu-config.ts
src/shared/plugins/i18n/config/menu-config.ts
+60
-63
index.ts
src/shared/plugins/i18n/index.ts
+39
-5
No files found.
src/shared/plugins/i18n/config/button-config.ts
View file @
b31fd5c7
// 按钮配置
// 按钮配置
export
const
buttonConfig
=
{
export
default
{
zh
:
{
baas
:
{
baas
:
{},
button
:
{
login
:
{
zh
:
'登录'
,
en
:
'login'
,
},
},
},
en
:
{
baas
:
{},
},
},
}
type
ButtonConfigItem
=
{
baas
:
{
button
:
{}
}
}
}
src/shared/plugins/i18n/config/menu-config.ts
View file @
b31fd5c7
// 导航菜单配置
export
default
{
export
const
menusConfig
:
{
zh
:
MenusConfigItem
en
:
MenusConfigItem
}
=
{
zh
:
{
baas
:
{
baas
:
{
menu
:
{
menu
:
{
lookup
:
'开发参考'
,
lookup
:
{
icons
:
'图标库'
,
zh
:
'开发参考'
,
i18n
:
'国际化'
,
en
:
'lookup'
,
home
:
'首页'
,
},
chain
:
'链管理'
,
icons
:
{
'announce-list'
:
'公告列表'
,
zh
:
'图标库'
,
notice
:
'站内信'
,
en
:
'icons'
,
'alliance-chain'
:
'联盟链'
,
},
'parallel-chain'
:
'平行链'
,
i18n
:
{
'chain-log'
:
'链日志'
,
zh
:
'国际化'
,
'address-management'
:
'地址管理'
,
en
:
'i18n'
,
'key-management'
:
'密钥管理'
,
},
openapi
:
'OpenApi'
,
home
:
{
'app-management'
:
'授权管理'
,
zh
:
'首页'
,
'app-openapi'
:
'接口文档'
,
en
:
'home'
,
},
},
},
chain
:
{
},
zh
:
'链管理'
,
en
:
{
en
:
'chain'
,
baas
:
{
},
menu
:
{
'announce-list'
:
{
lookup
:
'lookup'
,
zh
:
'公告列表'
,
icons
:
'icons'
,
en
:
'announce list'
,
i18n
:
'i18n'
,
},
home
:
'home'
,
notice
:
{
chain
:
'chain'
,
zh
:
'站内信'
,
'announce-list'
:
'announce list'
,
en
:
'notice'
,
notice
:
'notice'
,
},
'alliance-chain'
:
'alliance chain'
,
'alliance-chain'
:
{
'parallel-chain'
:
'parallel chain'
,
zh
:
'联盟链'
,
'chain-log'
:
'chain log'
,
en
:
'alliance chain'
,
'address-management'
:
'address management'
,
},
'key-management'
:
'key management'
,
'parallel-chain'
:
{
openapi
:
'openapi'
,
zh
:
'平行链'
,
'app-management'
:
'app management'
,
en
:
'parallel chain'
,
'app-openapi'
:
'app openapi'
,
},
'chain-log'
:
{
zh
:
'链日志'
,
en
:
'chain log'
,
},
'address-management'
:
{
zh
:
'地址管理'
,
en
:
'address management'
,
},
'key-management'
:
{
zh
:
'密钥管理'
,
en
:
'key management'
,
},
openapi
:
{
zh
:
'OpenApi'
,
en
:
'OpenApi'
,
},
'app-management'
:
{
zh
:
'授权管理'
,
en
:
'app management'
,
},
'app-openapi'
:
{
zh
:
'接口文档'
,
en
:
'app openapi'
,
},
},
},
},
},
},
}
type
MenusConfigItem
=
{
baas
:
{
menu
:
{
lookup
:
string
icons
:
string
i18n
:
string
home
:
string
notice
:
string
'announce-list'
:
string
chain
:
string
'alliance-chain'
:
string
'parallel-chain'
:
string
'chain-log'
:
string
'address-management'
:
string
'key-management'
:
string
openapi
:
string
'app-management'
:
string
'app-openapi'
:
string
}
}
}
}
src/shared/plugins/i18n/index.ts
View file @
b31fd5c7
...
@@ -3,9 +3,43 @@ import { createI18n } from 'vue-i18n'
...
@@ -3,9 +3,43 @@ import { createI18n } from 'vue-i18n'
// element-plus国际化
// element-plus国际化
import
enLocale
from
'element-plus/lib/locale/lang/en'
import
enLocale
from
'element-plus/lib/locale/lang/en'
import
zhLocale
from
'element-plus/lib/locale/lang/zh-cn'
import
zhLocale
from
'element-plus/lib/locale/lang/zh-cn'
import
{
menusConfig
}
from
'@shared/plugins/i18n/config/menu-config'
// import { menuConfig } from '@shared/plugins/i18n/config/menu-config'
import
{
buttonConfig
}
from
'@shared/plugins/i18n/config/button-config'
// import { buttonConfig } from '@shared/plugins/i18n/config/button-config'
const
localesList
=
[
menusConfig
,
buttonConfig
]
import
{
camelCase
,
isPlainObject
,
upperFirst
}
from
'lodash'
import
path
from
'path'
import
{
modules
}
from
'@/pages/account/views/cropped/home/components'
/**
* 返回拆分的国际化配置
* @param v
* @param parentKeys
* @param config
*/
function
func
(
v
,
parentKeys
:
string
[]
=
[],
config
=
{
zh
:
{},
en
:
{},
},
)
{
if
(
!
isPlainObject
(
v
))
{
if
(
parentKeys
[
parentKeys
.
length
-
1
]
===
'zh'
)
{
config
.
zh
[
parentKeys
.
slice
(
0
,
parentKeys
.
length
-
1
).
join
(
'.'
)]
=
v
}
if
(
parentKeys
[
parentKeys
.
length
-
1
]
===
'en'
)
{
config
.
en
[
parentKeys
.
slice
(
0
,
parentKeys
.
length
-
1
).
join
(
'.'
)]
=
v
}
return
config
}
Object
.
entries
(
v
).
map
(([
key
,
value
])
=>
func
(
value
,
[...
parentKeys
,
key
],
config
))
return
config
}
const
requireModules
=
require
.
context
(
'./config'
,
false
,
/config
\.
ts$/i
u
)
const
localesList
=
requireModules
.
keys
().
map
(
filePath
=>
{
const
component
=
requireModules
(
filePath
)
return
component
.
default
})
export
const
i18n
=
createI18n
({
export
const
i18n
=
createI18n
({
locale
:
sessionStorage
.
getItem
(
'layout'
)
locale
:
sessionStorage
.
getItem
(
'layout'
)
?
JSON
.
parse
(
sessionStorage
.
getItem
(
'layout'
)
as
string
).
currentLocale
?
JSON
.
parse
(
sessionStorage
.
getItem
(
'layout'
)
as
string
).
currentLocale
...
@@ -13,11 +47,11 @@ export const i18n = createI18n({
...
@@ -13,11 +47,11 @@ export const i18n = createI18n({
fallbackLocale
:
'zh'
,
// set fallback locale
fallbackLocale
:
'zh'
,
// set fallback locale
messages
:
{
messages
:
{
zh
:
{
zh
:
{
baas
:
Object
.
assign
({},
...
localesList
.
map
(
v
=>
v
.
zh
.
baas
)),
...
Object
.
assign
({},
...
localesList
.
map
(
v
=>
func
(
v
).
zh
)),
...
zhLocale
,
...
zhLocale
,
},
},
en
:
{
en
:
{
baas
:
Object
.
assign
({},
...
localesList
.
map
(
v
=>
v
.
en
.
baas
)),
...
Object
.
assign
({},
...
localesList
.
map
(
v
=>
func
(
v
).
en
)),
...
enLocale
,
...
enLocale
,
},
},
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment