An i18n like translator for json templates(typescript/javascript).
this package has been developed for cases which you want to use a feature like i18n but on json templates which will be fetched from server like json schema form generators like below example(note:you can use {{}} or any other tags like t() for templateing):
//json template { "platformType": "{{specification.platformType}}", "ownershipMode": "COBO", "version": 1, "description": "{{specification.description}}", "label": "{{specification.label}}" }
//json lang {"specification": { "platformType": "Android", "description": "Command Schema For 'Company Owned/Business Only'", "label": "COBO3" } }
import i18nTranslatorForJsonTemplates from "i18n-translator-for-json-templates"; const result = i18nTranslatorForJsonTemplates(lang, template); console.log(JSON.stringify(result)); /*output { "platformType": "Android", "ownershipMode": "COBO", "version": 1, "description": "Command Schema For 'Company Owned/Business Only'", "label": "COBO3" } */
i18nTranslatorForJsonTemplates takes 4 args, which the last two of the are optionals as below:
i18nTranslatorForJsonTemplates = ( language_json: any, template_json: any, start_of_pattern = '{{', end_of_pattern = '}}', ) => string