New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

messageformat-validator

Package Overview
Dependencies
Maintainers
0
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

messageformat-validator

Validates that ICU MessageFormat strings are well-formed, and that translated target strings are compatible with their source.

  • 2.6.7
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.1K
decreased by-15.1%
Maintainers
0
Weekly downloads
 
Created
Source

messageformat-validator

Validates messageformat messages against various errors and warnings.

Install

npm i messageformat-validator

Usage

mfv [options] [subcommand]

Examples

Check for issues in all files within lang/

mfv -s en -p lang/

Add messages that exist in en to all files within lang/, if they are missing

mfv -s en -p lang/ add-missing

Output the myMessage message from the es-es file with all messageformat structure highlighted

mfv -l es-es -p lang/ highlight myMessage

Options:

-V, --version - output the version number

-e, --throw-errors - Throw an error if error issues are found

--no-issues - Don't output issues

-i, --ignoreIssueTypes <items> - Ignore these comma-separated issue types

-l, --locales <items> - Process only these comma-separated locales

-p, --path <path> - Path to a directory containing locale files

-t, --translator-output - Output JSON of all source messages that are missing or untranslated in the target

-s, --source-locale <locale> - The locale to use as the source

--json-obj - Indicate that the files to be parsed are JSON files with keys that have objects for values with their own keys: translation and context

-h, --help - display help for command

Subommands:

remove-extraneous - Remove messages that do not exist in the source locale

add-missing - Add messages that do not exist in the target locale

sort - Sort messages alphabetically by key, maintaining any blocks

rename <old-key> <new-key> - Rename a message

highlight <key> - Output a message with all non-translatable ICU MessageFormat structure highlighted

help [command] - display help for command

Config File

Some options can be configured with default values in mfv.config.json

{
  "source": "en"
  "path": "lang/",
  "locales": "ar,de,en,es,es-es,hi,tr",
  "jsonObj": true
}

Errors

argument - There are unrecognized arguments in the target message.

brace - There are mismatched braces in the target message.

case - There are unrecognized cases in the target message.

extraneous - There is an extraneous message in the target locale.

missing - There is a message missing from the target locale.

nbsp - There are invalid non-breaking spaces in the structure of the target message.

nest - The nesting order of the target message does not match the source message.

other - The target message is missing an other case

parse - The target message can not be parsed.

source - There is an error in the source message.

Warnings

categories - The target message is missing plural categories used in the target locale

nest - There is a select nested inside a plural or selectordinal in the target message.

split - The target message is split by a non-argument. plural, selectordinal, and select cases should contain complete translations.

untranslated - The target message has not been translated.

FAQs

Package last updated on 09 Sep 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc