0.2.1 • Published 3 years ago

ajv-i18n-excelation v0.2.1

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
3 years ago

excelation-ajv-i18n

Internationalised error messages for Ajv - superfast JSON validator for JSON Schema and JSON Type Definition.

This modification supports german type names and is based on the package by Evgeny Poberezkin Git.

Build Status npm Coverage Status Gitter

Supported locales

localelanguagecontributordraft-04draft-061draft-072draft2019-093/2020-124JTD5
šŸ‡©šŸ‡Ŗ deGermanjmtoballgflohrāœ“Ā āœ“Ā āœ“āœ“Ā āœ“Ā 

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.

License

MIT

0.2.1

3 years ago

0.2.0

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago