Internationalised error messages for Ajv JSON validator
npm install ajv-i18nInternationalised error messages for Ajv - superfast JSON validator for JSON Schema and JSON Type Definition.




|locale|language |contributor|draft-04|draft-061|draft-072|draft
2019-093
/2020-124|JTD5
|------|:-------:|:---------:|:------:|:------:|:------:|:------:|:------:|
|๐ฌ๐ง en|English | |โ|โ|โ|โ|โ|
|AR ar|Arabic |Mahmoud-Mardeni|โ|โ|โ|-|-|
|CA ca|Catalan |alexandreec|โ|โ|โ|-|*|
|๐จ๐ฟ cs|Czech |kiskovacs
NAM0007|โ
|โ
|
โ|-|*|
|๐ฉ๐ช de|German |jmtoball
gflohr|โ
|โ
|
โ|โ
|โ
|
|๐ช๐ธ es|Spanish |jpablom|โ|โ|โ|-|*|
|๐ซ๐ฎ fi|Finnish |saulipurhonen|โ|โ|โ|โ|โ|
|๐ซ๐ท fr|French |monlouisj
Telokis|โ
|โ
|
โ|-|*|
|๐ญ๐บ hu|Hungarian|szilveszter9|โ|-|-|-|*|
|๐ฎ๐ฉ id|Indonesian|ekoeryanto|โ|โ|โ|-|*|
|๐ฎ๐น it|Italian |jasoniangreen
lucacorti|โ
|
โ|
โ|
โ|
โ|
|๐ฏ๐ต ja|Japanese |gilgongo|โ|-|-|-|*|
|๐ฐ๐ท ko|Korean |MinByeongDon|โ|โ|โ|โ|โ|
|๐ณ๐ด nb|Norwegian bokmรฅl|mtramm|โ|โ|-|-|*|
|๐ณ๐ฑ nl|Dutch |pimlie
niekvb|โ|โ|โ|
โ|
โ|
|๐ต๐ฑ pl|Polish |danielzurawski|โ|-|-|-|*|
|๐ง๐ท pt-BR|Portuguรชs - Brasil|marcosrava
ggondim|โ|โ|โ|
โ|
โ|
|๐ท๐บ ru|Russian | |โ|โ|โ|โ|โ|
|๐ธ๐ฐ sk|Slovak |kiskovacs|โ|โ|-|-|*|
|๐ธ๐ช sv|Swedish |limmen|โ|โ|-|-|*|
|๐น๐ญ th|Thai |encX|โ|โ|โ|โ|โ|
|๐จ๐ณ zh|Chinese |jinzhubaofu
leuction|โ
|
โ|
โ|
โ|
โ|
|๐น๐ผ zh-TW|Chinese - Taiwan|minipai|โ|โ|โ|โ|โ|
1 added boolean schema, keywords const, contains, propertyNames
2 added keywords if/then/else
3 added messages for keywords unevaluatedProperties, unevaluatedItems, dependentRequired
4 keyword items messages
5 JSON Type Definition
\* discriminator form messages are not translated
Please contribute locales that you need to use if they are missing or incomplete.
Using npm:
```
npm install ajv-i18n
In node:
`javascript
const Ajv = require("ajv") // version >= 8.0.0
const localize = require("ajv-i18n")
// or for JSON Type Definition
// const localize = require("ajv-i18n/localize/jtd")
const ajv = Ajv({allErrors: true, messages: false})
const validate = ajv.compile(schema)
const valid = validate(data)
if (!valid) {
// ru for Russian
localize.ru(validate.errors)
// string with all errors and data paths
console.log(ajv.errorsText(validate.errors, {separator: '\n'}))
}
`
To require only necessary locales (e.g., with browserify):
`javascript`
const localize_ru = require('ajv-i18n/localize/ru')
// or for JSON Type Definition
// const localize_ru = require('ajv-i18n/localize/ru/jtd')
or
`javascript`
const localize = {
en: require('ajv-i18n/localize/en'),
ru: require('ajv-i18n/localize/ru'),
}
See Ajv docs for more information.
``
npm install
git submodule update --init
npm test
Functions that localize error messages are generated using doT template localize.jst, JSON Schema messages and JSON Type Definition messages. Templates are pre-compiled, so doT is not a run-time dependency.
npm run build` - compiles functions to localize folder.


























ajv-i18n package is a part of Tidelift enterprise subscription - it provides a centralised commercial support to open-source software users, in addition to the support provided by software maintainers.
To report a security vulnerability, please use the
Tidelift security contact.
Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues.