Skip to content

Commit e50ac28

Browse files
committed
chore: cleanup
1 parent 32e14f7 commit e50ac28

File tree

10 files changed

+32
-2190
lines changed

10 files changed

+32
-2190
lines changed

i18n/scripts/build.ts

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,29 @@ const BASE_SRC_FILE = resolve(SRC_DIR, `${BASE_LANGUAGE}.yaml`)
2020
const FALLBACKS_FILE = resolve(SRC_DIR, 'fallbacks.json')
2121
const INDEX_DST_FILE = resolve(DST_DIR, 'index.json')
2222

23-
const index: {
23+
interface I18nIndex {
2424
manifest_version: number
2525
base_language: string
2626
last_modified: string
27-
languages: Record<
28-
string,
29-
{
30-
file: string
31-
fallback?: string
32-
data?: Record<string, string>
33-
}
34-
>
35-
} = {
27+
languages: Record<string, I18nLanguage>
28+
}
29+
30+
interface I18nLanguage {
31+
file: string
32+
iso_name: string
33+
endonym: string
34+
fallback?: string
35+
data?: Record<string, string>
36+
}
37+
38+
interface LanguagesMap {
39+
code: string
40+
iso_name: string
41+
endonym: string
42+
mw_code: string
43+
}
44+
45+
const index: I18nIndex = {
3646
manifest_version: 1,
3747
base_language: BASE_LANGUAGE,
3848
last_modified: new Date().toISOString(),
@@ -48,9 +58,10 @@ const fallbacks = (await readFile(FALLBACKS_FILE, 'utf-8').then(
4858
)) as Record<string, string>
4959

5060
consola.info('Reading languages map...')
51-
const languagesMap = (await readFile(LANGUAGES_MAP_FILE, 'utf-8').then(
52-
JSON.parse
53-
)) as Array<{ code: string; mw_code: string }>
61+
const languagesMap: LanguagesMap[] = await readFile(
62+
LANGUAGES_MAP_FILE,
63+
'utf-8'
64+
).then(JSON.parse)
5465

5566
const normalizeCode = (raw: string) => {
5667
const mapped = languagesMap.find((i) => i.code === raw)
@@ -96,15 +107,14 @@ Object.entries(fallbacks).forEach(([from, to]) => {
96107
index.languages = Object.fromEntries(
97108
Array.from(allLanguages)
98109
.sort((a, b) => a.localeCompare(b))
99-
.map<[string, { file: string; fallback?: string }]>((language) => {
110+
.map<[string, I18nLanguage]>((language) => {
100111
const resolved = resolveLanguageFallbacks(language, fallbacks, languages)
101-
const meta: {
102-
file: string
103-
fallback?: string
104-
data?: Record<string, string>
105-
} = {
112+
const mapped = languagesMap.find((i) => i.mw_code === language)
113+
const meta = {
106114
file: `${resolved}.json`,
107-
}
115+
} as I18nLanguage
116+
if (mapped) meta.iso_name = mapped.iso_name
117+
if (mapped) meta.endonym = mapped.endonym
108118
if (resolved !== language) meta.fallback = resolved
109119
if (language === BASE_LANGUAGE) meta.data = base
110120
return [language, meta]
@@ -141,9 +151,9 @@ consola.success('Index file written successfully')
141151

142152
// Check if en.json exists
143153
try {
144-
await access(resolve(DST_DIR, 'en.json'), constants.F_OK)
154+
await access(resolve(DST_DIR, `${BASE_LANGUAGE}.json`), constants.F_OK)
145155
} catch (_) {
146-
consola.error('en.json does not exist')
156+
consola.error(`${BASE_LANGUAGE}.json does not exist`)
147157
process.exit(1)
148158
}
149159

i18n/src/languages/ar.yaml

Lines changed: 0 additions & 244 deletions
This file was deleted.

0 commit comments

Comments
 (0)