forked from angular/angular-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxi18n.ts
75 lines (68 loc) · 1.67 KB
/
xi18n.ts
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
const Command = require('../ember-cli/lib/models/command');
export interface Xi18nOptions {
outputPath?: string;
verbose?: boolean;
i18nFormat?: string;
locale?: string;
outFile?: string;
}
const Xi18nCommand = Command.extend({
name: 'xi18n',
description: 'Extracts i18n messages from source code.',
works: 'insideProject',
availableOptions: [
{
name: 'i18n-format',
type: String,
default: 'xlf',
aliases: ['f', {'xmb': 'xmb'}, {'xlf': 'xlf'}, {'xliff': 'xlf'}],
description: 'Output format for the generated file.'
},
{
name: 'output-path',
type: 'Path',
default: null,
aliases: ['op'],
description: 'Path where output will be placed.'
},
{
name: 'verbose',
type: Boolean,
default: false,
description: 'Adds more details to output logging.'
},
{
name: 'progress',
type: Boolean,
default: true,
description: 'Log progress to the console while running.'
},
{
name: 'app',
type: String,
aliases: ['a'],
description: 'Specifies app name to use.'
},
{
name: 'locale',
type: String,
aliases: ['l'],
description: 'Specifies the source language of the application.'
},
{
name: 'out-file',
type: String,
aliases: ['of'],
description: 'Name of the file to output.'
},
],
run: function (commandOptions: any) {
const {Extracti18nTask} = require('../tasks/extract-i18n');
const xi18nTask = new Extracti18nTask({
ui: this.ui,
project: this.project
});
return xi18nTask.run(commandOptions);
}
});
export default Xi18nCommand;