import yaml from 'js-yaml' import i18nConfig from '../next-i18next.config.js' import fs from 'fs' import path from 'path' // This will load YAML translation files and store them as JSON const generateTranslationFiles = async () => { const promises = [] for (const locale of i18nConfig.i18n.locales) { for (const namespace of i18nConfig.namespaces) { const content = yaml.load( fs.readFileSync(path.resolve(path.join('locales', locale, namespace + '.yaml')), 'utf-8') ) console.log(`Generating ${locale}/${namespace}.json translation file`) fs.writeFileSync( path.resolve(path.join('public', 'locales', locale, namespace + '.json')), JSON.stringify(content) ) } } } // Wrapper method const prebuild = async () => { await generateTranslationFiles() } // Get to work prebuild()