MCPcopy Index your code
hub / github.com/ajv-validator/ajv-i18n

github.com/ajv-validator/ajv-i18n @v4.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.2.0 ↗ · + Follow
20 symbols 40 edges 9 files 0 documented · 0% 5 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

Extension points exported contracts — how you extend this code

Localize (Interface)
(no doc)
localize/types.d.ts

Core symbols most depended-on inside this repo

saveCode
called by 4
scripts/compile-locales.js
getTemplate
called by 4
scripts/compile-locales.js
compileMessage
called by 3
scripts/compile-locales.js
compileMsgFunc
called by 2
scripts/compile-locales.js
getLocaleDefs
called by 2
scripts/compile-locales.js
saveLocales
called by 1
scripts/compile-locales.js
localeMessages
called by 1
scripts/compile-locales.js
compileMessages
called by 0
scripts/compile-locales.js

Shape

Function 19
Interface 1

Languages

TypeScript100%

Modules by API surface

scripts/compile-locales.js9 symbols
spec/localize.spec.js5 symbols
spec/localize-jtd.spec.js3 symbols
spec/style.spec.js2 symbols
localize/types.d.ts1 symbols

For agents

$ claude mcp add ajv-i18n \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact