Git Product home page Git Product logo

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 โœ“ โœ“ โœ“ - *
๐Ÿ‡ฎ๐Ÿ‡ท fa Persian mohamadkhani โœ“ โœ“ โœ“ โœ“ โœ“
๐Ÿ‡ซ๐Ÿ‡ฎ 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

ajv-i18n's People

Contributors

epoberezkin avatar greenkeeper[bot] avatar bearmini avatar alexandreec avatar mohamadkhani avatar kiskovacs avatar minbyeongdon avatar encx avatar minipai avatar gflohr avatar jasoniangreen avatar jmtoball avatar dependabot-preview[bot] avatar mtramm avatar mahmoud-mardeni avatar ekoeryanto avatar ggondim avatar niekvb avatar marcosrava avatar limmen avatar pimlie avatar jpcodr avatar nam0007 avatar danielzurawski avatar hirse avatar lakeyzer avatar lucacorti avatar martijnthe avatar telokis avatar greenkeeperio-bot avatar

Forkers

nikanzeyaei

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.