From 7dd709f8a63bf55e4f57d216d22b55b7ab3d91d7 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 26 Mar 2017 03:23:19 +0900 Subject: wip #313 --- webpack.config.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'webpack.config.ts') diff --git a/webpack.config.ts b/webpack.config.ts index b67c0e9036..b501eb1efd 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -33,7 +33,23 @@ module.exports = (Object as any).entries(languages).map(([lang, locale]) => { exclude: /node_modules/, loader: StringReplacePlugin.replace({ replacements: [ - { pattern: /%i18n:(.+?)%/g, replacement: (_, text) => eval('locale' + text.split('.').map(x => `['${x}']`).join('')) } + { pattern: /%i18n:(.+?)%/g, replacement: (_, key) => { + let text = locale; + const error = key.split('.').some(k => { + if (text.hasOwnProperty(k)) { + text = text[k]; + return false; + } else { + return true; + } + }); + if (error) { + console.warn(`key '${key}' not found in '${lang}'`); + return '-UNTRANSLATED-'; + } else { + return text.replace(/'/g, '\\\'').replace(/"/g, '\\"'); + } + } } ] }) }, -- cgit v1.2.3-freya