عکس SeyyedKhandon
An i18n like translator for json templatesTypeScript
موضوع‌ها
۰
فورک‌ها
۰
ستاره‌ها
۴
تاریخ ایجاد
۱۳ اردیبهشت ۱۳۹۹
آخرین بروزرسانی
۵ ماه قبل
لایسنس
MIT License

i18nTranslatorForJsonTemplates

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