Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const replaceSubtermsWithTranslatedValues = (preparedTerms: PrepareTermsResult['preparedTerms'], storedTranslations: ITranslation[]) => {
- const termsWithStoredTranslations = _.cloneDeep(preparedTerms);
- storedTranslations.forEach(({ source, translation }) =>
- Object.values(termsWithStoredTranslations).forEach((term) => {
- term.subterms = term.subterms.map((subterm) => (subterm === source ? translation : subterm));
- }),
- );
- return termsWithStoredTranslations;
- };
- const replaceSubtermsWithTranslatedValuesV2 = (preparedTerms: PrepareTermsResult['preparedTerms'], storedTranslations: ITranslation[]) => {
- const termsWithStoredTranslations = _.cloneDeep(preparedTerms);
- const translationsMap = new Map<string, string>(storedTranslations.map(({ source, translation }) => [source, translation]));
- Object.values(termsWithStoredTranslations).forEach((term) => {
- term.subterms = term.subterms.map((subterm) => translationsMap.get(subterm) || subterm);
- });
- return termsWithStoredTranslations;
- };
Advertisement
Add Comment
Please, Sign In to add comment