
Research
Namastex.ai npm Packages Hit with TeamPCP-Style CanisterWorm Malware
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.
Internationalised error messages for Ajv - superfast JSON validator for JSON Schema and JSON Type Definition.
| 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.
Using npm:
npm install ajv-i18n
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.
npm install
git submodule update --init
npm test
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.
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.
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.
i18next is a popular internationalization framework for JavaScript. It provides a complete solution for localizing your application, including translation management, language detection, and more. Unlike ajv-i18n, which focuses on localizing error messages from Ajv, i18next offers a broader range of i18n functionalities.
messageformat is a library for handling both pluralization and gender in messages. It allows you to create complex messages with variable parts that can be translated into different languages. While ajv-i18n is specifically designed for localizing Ajv error messages, messageformat provides a more general solution for creating and managing localized messages.
FAQs
Internationalised error messages for Ajv JSON validator
The npm package ajv-i18n receives a total of 309,455 weekly downloads. As such, ajv-i18n popularity was classified as popular.
We found that ajv-i18n demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.