// 国际化 

// 语句模式
const MODE = {
  STATEMENTS: 's', //语句模式
  PHRASAL: 'p', //词组模式
}

const VueI18nPlugin = { // 国际化插件
  install: function (Vue) { // 安装插件
    Vue.mixin({ // 混入
      methods: { 
        $ta(syntaxKey, mode) { // 语句模式
          let _mode = mode || MODE.STATEMENTS // 默认语句模式
          let keys = syntaxKey.split('|') // 使用 | 分割 获取 keys 数组
          let _this = this // 缓存 this
          let locale = this.$i18n.locale // 获取当前语言
          let message = '' // 国际化语句
          let splitter = locale == 'US' ? ' ' : '' // 英文使用空格分割
          // 拼接 message
          keys.forEach(key => { // 遍历 keys
            message += _this.$t(key) + splitter // 拼接 message
          })
          // 英文环境语句模式下，转换单词大小写 
          if (keys.length > 0 && _mode == MODE.STATEMENTS && locale == 'US') { // 如果 keys 长度大于 0 并且是语句模式并且是英文环境
            message = message.charAt(0).toUpperCase() + message.toLowerCase().substring(1) // 转换单词大小写
          }
          return message // 返回 message
        }
      }
    })
  }
}
export default VueI18nPlugin // 导出国际化插件