Add debug messages for missing strings.

This commit is contained in:
Valentin Boettcher 2019-03-09 10:30:25 +01:00
parent 7b955e725c
commit 1ed5c1c214

View file

@ -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