1
0
Fork 0
freesewing/sites/shared/prebuild/i18n.mjs

43 lines
1 KiB
JavaScript
Raw Normal View History

import path from 'path'
import fs from 'fs'
2022-06-17 12:02:09 +02:00
import { en, de, es, fr, nl, languages } from '../../../packages/i18n/src/next.mjs'
const locales = { en, de, es, fr, nl }
const writeJson = (site, locale, namespace, content) => fs.writeFileSync(
path.resolve(
'..',
2022-06-17 12:02:09 +02:00
site,
'public',
'locales',
locale,
`${namespace}.json`
),
2022-02-06 19:16:49 +01:00
JSON.stringify(content)
)
/*
* Main method that does what needs doing
*/
export const prebuildI18n = async (site, only=false) => {
// Iterate over locales
for (const locale in locales) {
// Only English for dev site
if (site !== 'dev' || locale === 'en') {
console.log('Generating translation files for', locale)
const loc = locales[locale]
// Fan out into namespaces
for (const namespace in loc) {
if (!only || only.indexOf(namespace) !== -1) {
writeJson(
site, locale, namespace,
loc[namespace]
)
}
}
writeJson(site, locale, 'locales', languages)
}
}
}