forked from nicoputzehl/languagename-translation
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.ts
More file actions
53 lines (48 loc) · 1.48 KB
/
main.ts
File metadata and controls
53 lines (48 loc) · 1.48 KB
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
import { capitalizeTranslations } from "./src/capitalize.ts";
import { compactData } from "./src/compactData.ts";
import { generateFieldConfig } from "./src/generateFieldConfig.ts";
import { generateGermanCSV } from "./src/generateGermanCSV.ts";
const dataDir = "data";
const exportDir = "export";
run();
async function run() {
const input = readArgs();
if (Object.keys(input).length > 0) {
if ('capitalize' in input) {
console.log(':: running capitalize')
await capitalizeTranslations(dataDir, input.compactData);
}
if ('compactData' in input) {
console.log(':: running compactData')
await compactData(dataDir, exportDir, input.compactData);
}
if ('generateFieldConfig' in input) {
console.log(':: running generateFieldConfig')
await generateFieldConfig(dataDir, exportDir, input.generateFieldConfig);
}
if ('generateGermanCSV' in input) {
console.log(':: running generateGermanCSV')
await generateGermanCSV(dataDir, exportDir);
}
} else {
console.log(`Language Data Converter
---
run with options:
- "--compactData" optional whitespace separated locales to include labels for
- "--generateFieldConfig" optional whitespace separated locales generate ymls for
`);
}
}
function readArgs(): Record<string,string[]> {
let curCmd = "";
const input: Record<string,string[]> = {};
for (const arg of Deno.args) {
if (arg.startsWith('--')) {
curCmd = arg.slice(2);
input[curCmd] = [];
} else if (curCmd) {
input[curCmd].push(arg);
}
}
return input;
}