3.4.0 โข Published 7 years ago
ajv-id v3.4.0
ajv-i18n
Internationalised error messages for Ajv - currently the fastest JSON-Schema validator
Supported locales
| locale | language | contributor | draft-04 | draft-06* | draft-07** |
|---|---|---|---|---|---|
| ๐ฌ๐ง en | English | โ | โ | โ | |
| AR ar | Arabic | Mahmoud-Mardeni | โ | โ | โ |
| ๐จ๐ฟ cz | Czech | kiskovacs | โ | โ | - |
| ๐ฉ๐ช de | German | jmtoballgflohr | โย | โย | โ |
| ๐ช๐ธ es | Spanish | jpablom | โ | - | - |
| ๐ซ๐ท fr | French | monlouisj | โ | โ | - |
| ๐ญ๐บ hu | Hungarian | szilveszter9 | โ | - | - |
| ๐ฎ๐น it | Italian | jasoniangreenlucacorti | โย | โ | โ |
| ๐ฏ๐ต ja | Japanese | gilgongo | โ | - | - |
| KR ko | Korean | MinByeongDon | โ | โ | โ |
| ๐ณ๐ด nb | Norwegian bokmรฅl | mtramm | โ | โ | - |
| ๐ณ๐ฑ nl | Dutch | pimlie | โ | โ | โ |
| ๐ต๐ฑ pl | Polish | danielzurawski | โ | - | - |
| ๐ง๐ท pt-BR | Portuguรชs - Brasil | marcosrava | โ | - | - |
| ๐ท๐บ ru | Russian | โ | โ | โ | |
| ๐ธ๐ฐ sk | Slovak | kiskovacs | โ | โ | - |
| ๐ธ๐ช sv | Swedish | limmen | โ | โ | - |
| ๐น๐ญ th | Thai | encX | โ | โ | โ |
| ๐จ๐ณ zh | Chinese | jinzhubaofuleuction | โย | โ | โ |
| ๐น๐ผ zh-TW | Chinese - Taiwan | minipai | โ | โ | โ |
* added boolean schema, keywords const, contains, propertyNames
** added keywords if/then/else
Please contribute locales that you need to use if they are missing or incomplete.
Install
Using npm:
npm install ajv-i18nUsing bower:
bower install ajv-i18n
cd bower_components/ajv-i18n
npm install && npm run bundle-allUsage
In node:
var Ajv = require('ajv'); // version >= 2.0.0
var localize = require('ajv-i18n');
// option `i18n` is required for this package to work
var ajv = Ajv({ allErrors: true });
var validate = ajv.compile(schema);
var 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 in browser (with browserify):
var localize_ru = require('ajv-i18n/localize/ru');or
var 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 testContributing
Functions that localize error messages are generated using doT templates in messages and localize.jst template. Templates are precompiled so doT is not a run-time dependency.
npm run build - compiles functions to localize folder.
Contributors of locales
License
3.4.0
7 years ago