19 lines
550 B
TypeScript
19 lines
550 B
TypeScript
import { gettextToI18next } from 'i18next-conv'
|
|
|
|
export default function PoLoader() {
|
|
return {
|
|
name: 'po-loader',
|
|
async transform(source: string, id: string) {
|
|
const poRegEx = /\.po$/;
|
|
if (poRegEx.test(id)) {
|
|
const match = source.match(/Language: (\w+)/)
|
|
const lang = match ? match[1] : 'en';
|
|
|
|
return {
|
|
code: `export default ${await gettextToI18next(lang, source)}`
|
|
}
|
|
}
|
|
return {};
|
|
}
|
|
}
|
|
} |