iceshrimp/webpack/i18n.ts

20 lines
400 B
TypeScript
Raw Normal View History

2018-05-17 00:28:31 +00:00
/**
* Replace i18n texts
*/
2018-05-20 11:26:38 +00:00
export const pattern = /%i18n:([a-z0-9_\-@\.]+?)%/g;
2018-05-17 00:28:31 +00:00
2018-06-18 00:54:53 +00:00
export const replacement = (ctx: any, _: any, key: string) => {
2018-05-17 00:28:31 +00:00
const client = '/src/client/app/';
let name = null;
if (key.startsWith('@')) {
2018-05-17 00:28:31 +00:00
name = ctx.src.substr(ctx.src.indexOf(client) + client.length);
key = key.substr(1);
}
const path = name ? `${name}|${key}` : key;
2018-05-20 11:26:38 +00:00
return `%i18n:${path}%`;
2018-05-17 00:28:31 +00:00
};