ajv-i18n v4.2.0
ajv-i18n
Internationalised error messages for Ajv - superfast JSON validator for JSON Schema and JSON Type Definition.
Supported locales
locale | language | contributor | draft-04 | draft-061 | draft-072 | draft2019-093/2020-124 | JTD5 |
---|---|---|---|---|---|---|---|
๐ฌ๐ง en | English | โ | โ | โ | โ | โ | |
AR ar | Arabic | Mahmoud-Mardeni | โ | โ | โ | - | - |
CA ca | Catalan | alexandreec | โ | โ | โ | - | * |
๐จ๐ฟ cs | Czech | kiskovacsNAM0007 | โย | โย | โ | - | * |
๐ฉ๐ช de | German | jmtoballgflohr | โย | โย | โ | โย | โย |
๐ช๐ธ es | Spanish | jpablom | โ | โ | โ | - | * |
๐ซ๐ฎ fi | Finnish | saulipurhonen | โ | โ | โ | โ | โ |
๐ซ๐ท fr | French | monlouisjTelokis | โย | โย | โ | - | * |
๐ญ๐บ hu | Hungarian | szilveszter9 | โ | - | - | - | * |
๐ฎ๐ฉ id | Indonesian | ekoeryanto | โ | โ | โ | - | * |
๐ฎ๐น it | Italian | jasoniangreenlucacorti | โย | โ | โ | โ | โ |
๐ฏ๐ต ja | Japanese | gilgongo | โ | - | - | - | * |
๐ฐ๐ท ko | Korean | MinByeongDon | โ | โ | โ | โ | โ |
๐ณ๐ด nb | Norwegian bokmรฅl | mtramm | โ | โ | - | - | * |
๐ณ๐ฑ nl | Dutch | pimlieniekvb | โ | โ | โ | โ | โ |
๐ต๐ฑ pl | Polish | danielzurawski | โ | - | - | - | * |
๐ง๐ท pt-BR | Portuguรชs - Brasil | marcosravaggondim | โ | โ | โ | โ | โ |
๐ท๐บ ru | Russian | โ | โ | โ | โ | โ | |
๐ธ๐ฐ sk | Slovak | kiskovacs | โ | โ | - | - | * |
๐ธ๐ช sv | Swedish | limmen | โ | โ | - | - | * |
๐น๐ญ th | Thai | encX | โ | โ | โ | โ | โ |
๐จ๐ณ zh | Chinese | jinzhubaofuleuction | โย | โ | โ | โ | โ |
๐น๐ผ 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.
Install
Using npm:
npm install ajv-i18n
Usage
In node:
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):
const localize_ru = require('ajv-i18n/localize/ru')
// or for JSON Type Definition
// const localize_ru = require('ajv-i18n/localize/ru/jtd')
or
const localize = {
en: require('ajv-i18n/localize/en'),
ru: require('ajv-i18n/localize/ru'),
}
See Ajv docs for more information.
Tests
npm install
git submodule update --init
npm test
Contributing
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.
Contributors of locales
Enterprise support
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.
Security contact
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.
License
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago