WXL
5 天以前 871522ed7e06fd9c62a87c178d7f5c88d7853a20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
const debug = require('debug')('vue-cli-plugin-i18n:prompts')
 
module.exports = pkg => {
  const { semver } = require(require.resolve('@vue/cli-shared-utils'))
  const version = semver.minVersion(pkg.dependencies.vue)
  debug('vue version', version)
  const isVue3 = version.major === 3
 
  const prompts = [
    {
      type: 'input',
      name: 'locale',
      message: 'The locale of project localization.',
      validate: input => !!input,
      default: 'en'
    },
    {
      type: 'input',
      name: 'fallbackLocale',
      message: 'The fallback locale of project localization.',
      validate: input => !!input,
      default: 'en'
    },
    {
      type: 'input',
      name: 'localeDir',
      message:
        "The directory where store localization messages of project. It's stored under `src` directory.",
      validate: input => !!input,
      default: 'locales'
    }
  ]
 
  if (isVue3) {
    prompts.push({
      type: 'confirm',
      name: 'enableLegacy',
      message: 'Enable legacy API (compatible vue-i18n@v8.x) mode ?',
      default: false
    })
  } else {
    prompts.push({
      type: 'confirm',
      name: 'enableInSFC',
      message: 'Enable locale messages in Single file components ?',
      default: false
    })
    prompts.push({
      type: 'confirm',
      name: 'enableBridge',
      message:
        'Whether to set up a bridge to migrate to vue-i18n@v9.x from vue-i18n@v8.26',
      default: false
    })
  }
 
  debug('prompts', prompts)
  return prompts
}