From a58e549c3f6513d60b3b995598af14df7871546c Mon Sep 17 00:00:00 2001 From: Whymarrh Whitby Date: Mon, 6 May 2019 15:04:16 -0230 Subject: [PATCH] Skip null and undefined keys when translating via context (#6543) * i18n: Don't translate null or undefined keys * Add JSDoc for I18nProvider#t context fn --- .../helpers/higher-order-components/i18n-provider.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ui/app/helpers/higher-order-components/i18n-provider.js b/ui/app/helpers/higher-order-components/i18n-provider.js index 298a12a28..5a6650147 100644 --- a/ui/app/helpers/higher-order-components/i18n-provider.js +++ b/ui/app/helpers/higher-order-components/i18n-provider.js @@ -15,7 +15,17 @@ class I18nProvider extends Component { const { localeMessages } = this.props const { current, en } = localeMessages return { + /** + * Returns a localized message for the given key + * @param {string} key The message key + * @param {string[]} args A list of message substitution replacements + * @return {string|undefined|null} The localized message if available + */ t (key, ...args) { + if (key === undefined || key === null) { + return key + } + return t(current, key, ...args) || t(en, key, ...args) || `[${key}]` }, tOrDefault: this.tOrDefault,