mirror of
https://codeberg.org/yeentown/barkey
synced 2024-11-30 01:23:01 +00:00
24 lines
502 B
TypeScript
24 lines
502 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;
|
|
|
|
const shouldEscape = key[0] == '!';
|
|
if (shouldEscape) {
|
|
key = key.substr(1);
|
|
}
|
|
|
|
if (key[0] == '@') {
|
|
name = ctx.src.substr(ctx.src.indexOf(client) + client.length);
|
|
key = key.substr(1);
|
|
}
|
|
|
|
const path = name ? `${name}|${key}` : key;
|
|
|
|
return shouldEscape ? `%i18n:!${path}%` : `%i18n:${path}%`;
|
|
};
|