# Overriding default error messages using internationalization (Anglular)

**URL:** <https://jsonforms.discourse.group/t/overriding-default-error-messages-using-internationalization-anglular/892>\
**Category:** General\
**Created:** [July 13, 2022, 5:24pm UTC](https://jsonforms.discourse.group/t/overriding-default-error-messages-using-internationalization-anglular/892 "2022-07-13T17:24:14Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jayrack813](https://avatars.discourse-cdn.com/v4/letter/j/a183cd/32.png) [@Jayrack813](https://jsonforms.discourse.group/u/Jayrack813)\
**Post date:** [July 13, 2022, 5:24pm UTC](https://jsonforms.discourse.group/t/overriding-default-error-messages-using-internationalization-anglular/892/1 "2022-07-13T17:24:14Z")

</div>

Hi All,  
I’m trying to override the default error messages using the i18n object. However, when trying to bind to my i18n object i get the error: Can’t bind to ‘i18n’ since it isn’t a known property of ‘jsonforms’ Here is my json forms root component:

```auto
 <jsonforms
 #form
 [schema]="schema"
 [renderers]="renderers"
 [ajv] ="ajv"
 [locale]="'en-US'"
 [(data)]="formData"
 [validationMode] ="validationMode"
 (dataChange)="onChange($event)"
 (errors)="onErrors($event)"
 [i18n] = "i18nObj" >
 </jsonforms>

```

Here is my i18nObj that I’m trying to bind to the i18n prop:

```auto
 i18nObj = {
    translate:
    (key: string, defaultMessage: string | undefined) => {
      if(key === "error.required"){
        return "This field is required."
      }
      return defaultMessage;
    }
  }

```

I see in the documentation that the i18n has the @Input decorator:

```auto
export class JsonForms implements OnChanges, OnInit {

    @Input() uischema: UISchemaElement;
    @Input() schema: JsonSchema;
    @Input() data: any;
    @Input() renderers: JsonFormsRendererRegistryEntry[];
    @Input() uischemas: { tester: UISchemaTester; uischema: UISchemaElement; }[];
    @Output() dataChange = new EventEmitter<any>();
    @Input() readonly: boolean;
    @Input() validationMode: ValidationMode;
    @Input() ajv: Ajv;
    @Input() config: any;
    @Input() i18n: JsonFormsI18nState;
    @Input() additionalErrors: ErrorObject[];
    @Output() errors = new EventEmitter<ErrorObject[]>();

```

Here is my package.json:  
“@jsonforms/angular”: “3.0.0-alpha.1”,  
“@jsonforms/angular-material”: “^3.0.0-alpha.1”,  
“@jsonforms/core”: “^3.0.0-alpha.1”,  
“@jsonforms/material-renderers”: “^3.0.0-alpha.1”,

Any idea what’s happening here? Am i approaching this in the wrong way? Any guidance would be greatly appreciated. Thanks

---

<div class="post-metadata">

**Author:** ![sdirix](https://yyz2.discourse-cdn.com/free1/user_avatar/jsonforms.discourse.group/sdirix/32/1073_2.png) [@sdirix](https://jsonforms.discourse.group/u/sdirix)\
**Post date:** [July 14, 2022, 8:20am UTC](https://jsonforms.discourse.group/t/overriding-default-error-messages-using-internationalization-anglular/892/2 "2022-07-14T08:20:46Z")

</div>

Hi @Jayrack813,

the `i18n` support is available since `3.0.0-alpha.2` so you need to upgrade the JSON Forms dependencies. I would like to recommend to update to the latest `3.0.0-beta.5`.

---

<div class="post-metadata">

**Author:** ![Jayrack813](https://avatars.discourse-cdn.com/v4/letter/j/a183cd/32.png) [@Jayrack813](https://jsonforms.discourse.group/u/Jayrack813)\
**Post date:** [July 14, 2022, 1:17pm UTC](https://jsonforms.discourse.group/t/overriding-default-error-messages-using-internationalization-anglular/892/3 "2022-07-14T13:17:34Z")

</div>

Ah okay, I’ve just tried updating to ^3.0.0-beta.5, but it seems for that version you need angular version 12 or 13: @angular/core@“^12.0.0 || ^13.0.0” from @jsonforms/angular@3.0.0-beta.5…Im running:  
“@angular/common”: “^11.2.14”,  
“@angular/compiler”: “^11.2.14”,  
“@angular/core”: “^11.2.14”,  
So is it not possible to use 3.0.0-beta.5 with angular 11?

---

<div class="post-metadata">

**Author:** ![sdirix](https://yyz2.discourse-cdn.com/free1/user_avatar/jsonforms.discourse.group/sdirix/32/1073_2.png) [@sdirix](https://jsonforms.discourse.group/u/sdirix)\
**Post date:** [July 14, 2022, 2:47pm UTC](https://jsonforms.discourse.group/t/overriding-default-error-messages-using-internationalization-anglular/892/4 "2022-07-14T14:47:22Z")

</div>

They were built against Angular 12 and were also tested against Angular 13. I don’t know whether they work with Angular 11. I fear they do not.

---

<div class="post-metadata">

**Author:** ![Jayrack813](https://avatars.discourse-cdn.com/v4/letter/j/a183cd/32.png) [@Jayrack813](https://jsonforms.discourse.group/u/Jayrack813)\
**Post date:** [July 14, 2022, 4:34pm UTC](https://jsonforms.discourse.group/t/overriding-default-error-messages-using-internationalization-anglular/892/5 "2022-07-14T16:34:01Z")

</div>

Ok, Thanks for your helo Stefan!
