ajv-i18n
    TypeScript icon, indicating that this package has built-in type declarations

    4.2.0 • Public • Published

    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

    Install

    npm i ajv-i18n

    DownloadsWeekly Downloads

    86,001

    Version

    4.2.0

    License

    MIT

    Unpacked Size

    188 kB

    Total Files

    104

    Last publish

    Collaborators

    • esp