From 1ed5c1c2141e64056d6264e9dceb4e113a9a5ec9 Mon Sep 17 00:00:00 2001 From: Valentin Boettcher Date: Sat, 9 Mar 2019 10:30:25 +0100 Subject: [PATCH] Add debug messages for missing strings. --- packages/vulcan-lib/lib/modules/intl.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/vulcan-lib/lib/modules/intl.js b/packages/vulcan-lib/lib/modules/intl.js index 361404313..98c90ccd4 100644 --- a/packages/vulcan-lib/lib/modules/intl.js +++ b/packages/vulcan-lib/lib/modules/intl.js @@ -1,5 +1,6 @@ import SimpleSchema from 'simpl-schema'; import { getSetting } from '../modules/settings'; +import { debug } from 'meteor/vulcan:lib'; export const Strings = {}; @@ -16,8 +17,19 @@ export const addStrings = (language, strings) => { }; export const getString = ({id, values, defaultMessage, locale}) => { - const messages = Strings[locale] || Strings[defaultLocale] || {}; - let message = messages[id] || defaultMessage; + const messages = Strings[locale] || {}; + let message = messages[id]; + + // use default locale + if(!message) { + debug(`\x1b[32m>> INTL: No string found for id "${id}" in locale "${locale}".\x1b[0m`); + message = Strings[defaultLocale] && Strings[defaultLocale][id]; + + // if default locale hasn't got the message too + if(!message && locale !== defaultLocale) + debug(`\x1b[32m>> INTL: No string found for id "${id}" in the default locale ("${defaultLocale}").\x1b[0m`); + } + if (message && values) { Object.keys(values).forEach(key => { // note: see replaceAll definition in vulcan:lib/utils