ajv-i18n repository (opens new window)
# ajv-i18n
Internationalised error messages for Ajv (opens new window) - superfast JSON validator for JSON Schema and JSON Type Definition.
(opens new window) (opens new window) (opens new window) (opens new window)
# Supported locales
locale | language | contributor | draft-04 | draft-061 | draft-072 | draft 2019-093 /2020-124 | JTD5 |
---|---|---|---|---|---|---|---|
๐ฌ๐ง en | English | โ | โ | โ | โ | โ | |
AR ar | Arabic | Mahmoud-Mardeni (opens new window) | โ | โ | โ | - | - |
CA ca | Catalan | alexandreec (opens new window) | โ | โ | โ | - | * |
๐จ๐ฟ cs | Czech | kiskovacs (opens new window) NAM0007 (opens new window) | โ | โ | โ | - | * |
๐ฉ๐ช de | German | jmtoball (opens new window) gflohr (opens new window) | โ | โ | โ | โ | โ |
๐ช๐ธ es | Spanish | jpablom (opens new window) | โ | โ | โ | - | * |
๐ซ๐ฎ fi | Finnish | saulipurhonen (opens new window) | โ | โ | โ | โ | โ |
๐ซ๐ท fr | French | monlouisj (opens new window) Telokis (opens new window) | โ | โ | โ | - | * |
๐ญ๐บ hu | Hungarian | szilveszter9 (opens new window) | โ | - | - | - | * |
๐ฎ๐ฉ id | Indonesian | ekoeryanto (opens new window) | โ | โ | โ | - | * |
๐ฎ๐น it | Italian | jasoniangreen (opens new window) lucacorti (opens new window) | โ | โ | โ | โ | โ |
๐ฏ๐ต ja | Japanese | gilgongo (opens new window) | โ | - | - | - | * |
๐ฐ๐ท ko | Korean | MinByeongDon (opens new window) | โ | โ | โ | โ | โ |
๐ณ๐ด nb | Norwegian bokmรฅl | mtramm (opens new window) | โ | โ | - | - | * |
๐ณ๐ฑ nl | Dutch | pimlie (opens new window) niekvb (opens new window) | โ | โ | โ | โ | โ |
๐ต๐ฑ pl | Polish | danielzurawski (opens new window) | โ | - | - | - | * |
๐ง๐ท pt-BR | Portuguรชs - Brasil | marcosrava (opens new window) ggondim (opens new window) | โ | โ | โ | โ | โ |
๐ท๐บ ru | Russian | โ | โ | โ | โ | โ | |
๐ธ๐ฐ sk | Slovak | kiskovacs (opens new window) | โ | โ | - | - | * |
๐ธ๐ช sv | Swedish | limmen (opens new window) | โ | โ | - | - | * |
๐น๐ญ th | Thai | encX (opens new window) | โ | โ | โ | โ | โ |
๐จ๐ณ zh | Chinese | jinzhubaofu (opens new window) leuction (opens new window) | โ | โ | โ | โ | โ |
๐น๐ผ zh-TW | Chinese - Taiwan | minipai (opens new window) | โ | โ | โ | โ | โ |
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 (opens new window) 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 (opens new window), JSON Schema messages (opens new window) and JSON Type Definition messages (opens new window). Templates are pre-compiled, so doT is not a run-time dependency.
npm run build
- compiles functions to localize (opens new window) folder.
# Contributors of locales
(opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window) (opens new window)
# Enterprise support
ajv-i18n package is a part of Tidelift enterprise subscription (opens new window) - 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 (opens new window). Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues.
# License
โ ajv-errors ajv-cli โ