Localization: Allow float variables (#5179)

This commit is contained in:
zubiden 2024-11-09 15:43:34 +04:00 committed by Alexander Zinchuk
parent 2c482f82db
commit fd83e36aeb

View File

@ -369,7 +369,7 @@ function processTranslation(
const finalString = variableEntries.reduce((result, [key, value]) => { const finalString = variableEntries.reduce((result, [key, value]) => {
if (value === undefined) return result; if (value === undefined) return result;
const valueAsString = Number.isInteger(value) ? formatters!.number.format(value as number) : String(value); const valueAsString = Number.isFinite(value) ? formatters!.number.format(value as number) : String(value);
return result.replace(`{${key}}`, valueAsString); return result.replace(`{${key}}`, valueAsString);
}, string); }, string);
@ -412,9 +412,9 @@ function processTranslationAdvanced(
return renderText(curr, filters, { return renderText(curr, filters, {
markdownPostProcessor: (part: string) => { markdownPostProcessor: (part: string) => {
return variableEntries.reduce((result, [key, value]): TeactNode[] => { return variableEntries.reduce((result, [key, value]): TeactNode[] => {
if (!value) return result; if (value === undefined) return result;
const preparedValue = Number.isInteger(value) ? formatters!.number.format(value as number) : value; const preparedValue = Number.isFinite(value) ? formatters!.number.format(value as number) : value;
return replaceInStringsWithTeact(result, `{${key}}`, preparedValue); return replaceInStringsWithTeact(result, `{${key}}`, preparedValue);
}, [part] as TeactNode[]); }, [part] as TeactNode[]);
}, },
@ -423,9 +423,9 @@ function processTranslationAdvanced(
} }
return variableEntries.reduce((result, [key, value]): TeactNode[] => { return variableEntries.reduce((result, [key, value]): TeactNode[] => {
if (!value) return result; if (value === undefined) return result;
const preparedValue = Number.isInteger(value) ? formatters!.number.format(value as number) : value; const preparedValue = Number.isFinite(value) ? formatters!.number.format(value as number) : value;
return replaceInStringsWithTeact(result, `{${key}}`, preparedValue); return replaceInStringsWithTeact(result, `{${key}}`, preparedValue);
}, tempResult); }, tempResult);
} }