mirror of
https://github.com/iczer/vue-antd-admin.git
synced 2025-05-01 23:36:42 +08:00
feat: add statements and phrase mode for i18n-extend plugin; 🌟
新增:i18n-extend 插件增加语句模式和词组模式;
This commit is contained in:
parent
fa3fa22f3c
commit
2cb54136b5
@ -1,15 +1,26 @@
|
||||
// 语句模式
|
||||
const MODE = {
|
||||
STATEMENTS: 's', //语句模式
|
||||
PHRASAL: 'p', //词组模式
|
||||
}
|
||||
|
||||
const VueI18nPlugin = {
|
||||
install: function (Vue) {
|
||||
Vue.mixin({
|
||||
methods: {
|
||||
$ta(syntaxKey) {
|
||||
$ta(syntaxKey, mode) {
|
||||
let _mode = mode || MODE.STATEMENTS
|
||||
let keys = syntaxKey.split('|')
|
||||
let message = ''
|
||||
let _this = this
|
||||
let locale = this.$i18n.locale
|
||||
let message = ''
|
||||
let splitter = locale == 'US' ? ' ' : ''
|
||||
// 拼接 message
|
||||
keys.forEach(key => {
|
||||
message += _this.$t(key)
|
||||
message += _this.$t(key) + splitter
|
||||
})
|
||||
if (keys.length > 0) {
|
||||
// 英文环境语句模式下,转换单词大小写
|
||||
if (keys.length > 0 && _mode == MODE.STATEMENTS && locale == 'US') {
|
||||
message = message.charAt(0).toUpperCase() + message.toLowerCase().substring(1)
|
||||
}
|
||||
return message
|
||||
|
Loading…
x
Reference in New Issue
Block a user