From ab9c77909c3516c334cc546d4268f4daaec79c11 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Sat, 2 Nov 2019 19:07:57 +0100 Subject: [PATCH] Add options in getMessages --- src/i18n/index.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/i18n/index.js b/src/i18n/index.js index 69d86cb28..fdaaa76c1 100644 --- a/src/i18n/index.js +++ b/src/i18n/index.js @@ -4,6 +4,7 @@ * const editor = grapesjs.init({ * i18n: { * locale: 'en', + * localeFallback: 'en', * messages: { * en: { * hello: 'Hello', @@ -89,6 +90,8 @@ export default () => { /** * Get all messages * @param {String} [lang] Specify the language of messages to return + * @param {Object} [opts] Options + * @param {Boolean} [opts.noWarn] Avoid warnings in case of missing language * @returns {Object} * @example * i18n.getMessages(); @@ -96,8 +99,14 @@ export default () => { * i18n.getMessages('en'); * // -> { hello: '...' } */ - getMessages(lang) { - const { messages } = this.config; + getMessages(lang, opts = {}) { + const { em, config } = this; + const { messages } = config; + !opts.noWarn && + lang && + !messages[lang] && + em && + em.logWarning(`'${lang}' i18n lang set not found`); return lang ? messages[lang] : messages; }, @@ -159,6 +168,7 @@ export default () => { * @param {String} key Label to translate * @param {Object} [params] Params for the translation * @param {Object} [opts] Options for the translation + * @param {Boolean} [opts.noWarn] Avoid warnings in case of missing resources * @returns {String} * @example * obj.setMessages({ @@ -176,7 +186,7 @@ export default () => { const { em } = this; const param = params || {}; const locale = opts.l || this.getLocale(); - const msgSet = this.getMessages(locale) || {}; + const msgSet = this.getMessages(locale, opts) || {}; const reg = new RegExp(`\{([\\w\\d-]*)\}`, 'g'); let result = msgSet[key]; !result &&