forked from bdefore/protondb-i18n
-
Notifications
You must be signed in to change notification settings - Fork 0
/
migrate.js
121 lines (112 loc) · 2.32 KB
/
migrate.js
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
const fs = require('fs-extra')
const languages = [
{
label: 'English (US)',
value: 'en-US'
},
{
label: 'български',
value: 'bg-BG'
},
{
label: 'Deutsch',
value: 'de-DE'
},
{
label: 'ελληνικά',
value: 'el-GR'
},
{
label: 'español',
value: 'es-ES'
},
{
label: 'français',
value: 'fr-FR'
},
{
label: 'italiano',
value: 'it-IT'
},
{
label: 'polski',
value: 'pl-PL'
},
{
label: 'português',
value: 'pt-BR'
},
{
label: 'svenska',
value: 'sv-SE'
},
{
label: 'Українська',
value: 'uk-UA'
}
]
const migrateTranslation = locale => {
const baseTranslation = require(`./locales/${locale}/translation.json`)
const baseProtonDb = require(`./locales/${locale}/protondb.json`)
const {
breakdown,
explore,
filters,
gameDetails,
home,
medals,
ratingDefinitions,
reports,
stats,
suggestions,
systemInfo,
...updatedTranslation
} = baseTranslation
const updatedProtonDb = {
...baseProtonDb,
breakdown,
explore,
gameDetails,
home,
medals,
ratingDefinitions,
stats,
suggestions,
systemInfo
}
updatedProtonDb.steamAuthor = {
hoursInSteam: reports.hoursInSteam,
timeWithProton: reports.timeWithProton
}
updatedProtonDb.specs = reports.specs
const {
hoursInSteam,
timeWithProton,
specs,
...trimmedReports
} = reports
updatedTranslation.reports = trimmedReports
fs.writeJsonSync(`./locales/${locale}/protondb-content.json`, updatedProtonDb)
fs.writeJsonSync(`./locales/${locale}/general.json`, updatedTranslation)
fs.removeSync(`./locales/${locale}/protondb.json`)
fs.removeSync(`./locales/${locale}/translation.json`)
}
const migrateContribute = locale => {
const baseContribute = require(`./locales/${locale}/contribute.json`)
const {
genericFollowUpPrompt,
misc,
...updatedContribute
} = baseContribute
const questionnaire = {
genericFollowUpPrompt,
misc
}
fs.writeJsonSync(`./locales/${locale}/proton-report.json`, updatedContribute)
fs.writeJsonSync(`./locales/${locale}/questionnaire.json`, questionnaire)
fs.removeSync(`./locales/${locale}/contribute.json`)
}
languages.map(l => {
migrateTranslation(l.value)
migrateContribute(l.value)
})