-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Expand file tree
/
Copy pathgenerateInitialLangFallback.ts
More file actions
22 lines (17 loc) · 949 Bytes
/
Copy pathgenerateInitialLangFallback.ts
File metadata and controls
22 lines (17 loc) · 949 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { readFileSync, writeFileSync } from 'fs';
import initialKeys from '../src/assets/localization/initialKeys';
import { buildFallbackStrings } from '../src/util/data/readFallbackStrings';
import { pick } from '../src/util/iteratees';
const HEADER = `/* eslint-disable */
// This file is generated by dev/generateInitialLangFallback.ts. Do not edit it manually.\n
import type { LangPackStringValue } from '../../api/types';
import type { LangKey } from '../../types/language';\n`;
function main() {
const fileData = readFileSync('./src/assets/localization/fallback.strings', 'utf8');
const data = buildFallbackStrings(fileData);
const selectedKeys = pick(data.langPack.strings, initialKeys);
const json = JSON.stringify(selectedKeys, undefined, 2);
const text = `${HEADER}\nexport default ${json} as Record<LangKey, LangPackStringValue>;\n`;
writeFileSync('./src/assets/localization/initialStrings.ts', text, 'utf8');
}
main();