calckey/webpack/i18n.ts

20 lines
380 B
TypeScript

/**
* Replace i18n texts
*/
export const pattern = /%i18n:([a-z0-9_\-@\.]+?)%/g;
export const replacement = (ctx, match, key) => {
const client = '/src/client/app/';
let name = null;
if (key[0] == '@') {
name = ctx.src.substr(ctx.src.indexOf(client) + client.length);
key = key.substr(1);
}
const path = name ? `${name}|${key}` : key;
return `%i18n:${path}%`;
};