in packages/lib/i18n/i18n.ts [55:74]
function getSubstringsForReplacing(str: string, interpolationValues: Record<string, string | number>): Record<string, string | number> {
let currentInterpolatedFragmentStart = -1;
const substringToValueMap: Record<string, string | number> = {};
for (let i = 0; i < (str.length - 1); ++i) {
if (str[i] === '{' && str[i + 1] === '{') {
currentInterpolatedFragmentStart = i + 2;
i = currentInterpolatedFragmentStart;
} else if (str[i] === '}' && str[i + 1] === '}' &&
currentInterpolatedFragmentStart > 0) {
const variableName = str.substring(
currentInterpolatedFragmentStart, i
);
const value = interpolationValues[variableName.trim()];
if (value !== undefined) {
substringToValueMap[`{{${variableName}}}`] = value;
}
}
}
return substringToValueMap;
}