Coder Social home page Coder Social logo

ajv-validator / ajv-i18n Goto Github PK

View Code? Open in Web Editor NEW
167.0 5.0 87.0 419 KB

Internationalised error messages for Ajv JSON schema validator

Home Page: https://ajv.js.org

License: MIT License

JavaScript 97.16% Shell 0.23% EJS 2.61%
json-schema ajv validator internationalization i18n

ajv-i18n's Introduction

ajv-i18n

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

Build Status npm Coverage Status Gitter

Supported locales

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.

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

danielzurawski szilveszter9 jmtoball gilgongo jasoniangreen jpablom limmen jinzhubaofu kiskovacs mahmoud-mardeni monlouisj marcosrava mtramm Mahmoud-Mardeni leuction lucacorti minipai encX pimlie MinByeongDon gflohr ekoeryanto Telokis alexandreec ggondim niekvb NAM0007 saulipurhonen

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

MIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.