blob: dbbc4e5e71cac4e72ce913176087af03ae14bd9d (
plain)
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
|
import { readFile } from 'fs/promises';
import path from 'path';
import { settings } from '../../config';
export type Messages = { [key: string]: string };
export const defaultLocale = settings.locales.defaultLocale;
/**
* Load the translation for the provided locale.
*
* @param currentLocale - The current locale.
* @returns {Promise<Messages>} The translated strings.
*/
export async function loadTranslation(
currentLocale: string | undefined
): Promise<Messages> {
const locale: string = currentLocale ?? defaultLocale;
const languagePath = path.join(process.cwd(), `lang/${locale}.json`);
try {
const contents = await readFile(languagePath, 'utf8');
return JSON.parse(contents);
} catch (error) {
console.error(
'Error: Could not load compiled language files. Please run `yarn run i18n:compile` first."'
);
throw error;
}
}
|