From 14f7ff13ec13e282480e1be779dc25f080cf5f4c Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 17 May 2018 09:28:31 +0900 Subject: #491 --- webpack/i18n.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 webpack/i18n.ts (limited to 'webpack') diff --git a/webpack/i18n.ts b/webpack/i18n.ts new file mode 100644 index 0000000000..de4d02e9d9 --- /dev/null +++ b/webpack/i18n.ts @@ -0,0 +1,24 @@ +/** + * 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}%`; +}; -- cgit v1.2.3-freya