Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
react-intl-po
Advanced tools
Extract POT from react-intl and convert back to json.
messages.json → POT → PO → translation.json
Please take a look at standalone repo based on Create-React-App: https://github.com/evenchange4/react-intl-po-example
$ yarn add react-intl-po
^2.0.0
^2.0.0
There are two sub-commands of react-intl-po
or rip
:
.pot
file..json
format.$ rip json2pot '_translations/src/**/*.json' \
-o ./mcs-public.pot
Arguments | Description |
---|---|
srcPatterns | The pattern of .json files extracted from babel-plugin-react-intl |
-o, --output <path> | The output pathname of .pot file to be translated |
-k, --message-key [key] | [Optional] Translation message key (default key is defaultMessage ) |
-c, --message-context [context] | [Optional] Translation message context (defaults to no context) |
directory
is set$ rip po2json './node_modules/mcs-translation/po/mcs-public*.po' \
-m './_translations/src/**/*.json' \
-o './translations'
.json file
is set$ rip po2json './node_modules/mcs-translation/po/mcs-public*.po' \`
-m './_translations/src/**/*.json' \
-o './translations.json'
Arguments | Description |
---|---|
srcPatterns | The pattern of translated .po files |
-m, --messages-pattern <path> | The pattern of .json files extracted from babel-plugin-react-intl |
-o, --output <path> | The output pathname of a file / directory |
-k, --message-key [key] | [Optional] Translation message key (default key is defaultMessage ) |
-c, --message-context [context] | [Optional] Translation message context (defaults to no context) |
-l, --lang-mapper-pattern <pattern> | [Optional] Custom regex to use for lang mapping. PR#122 |
-i, --lang-mapper-pattern-index [index] | [Optional] When specifying a custom lang-mapper-pattern, the index of match to use for the lang mapping. Default is 1, index is ignored if not using a custom lang mapping regex. PR#122 |
--indentation <number|char> | [Optional] Specify a number of spaces or a set of characters to be used before each entry of the resulting json file. Defaults to null , which means the entries are not prefixed with spaces. |
--sort-by-id | [Optional] If specified, the entries of each language are sorted by id before being output |
Set the message-context (-c)
to 'id'
of message object from babel-plugin-react-intl (there is no context by default).
The advantage of this option over Option 2 (below) is that PO file editors that provide features such as translation suggestions or error-checking often expect the message key to be defaultMessage
.
$ rip po2json './node_modules/mcs-translation/po/mcs-public*.po' \
-m './_translations/src/**/*.json' \
-o './translations' \
-c 'id'
$ rip po2json './node_modules/mcs-translation/po/mcs-public*.po' \`
-m './_translations/src/**/*.json' \
-o './translations.json' \
-c 'id'
Example: https://github.com/evenchange4/react-intl-po-example#option
Set the message-key (-k)
to 'id'
of message object from babel-plugin-react-intl (default key is 'defaultMessage'
). (#41)
$ rip po2json './node_modules/mcs-translation/po/mcs-public*.po' \
-m './_translations/src/**/*.json' \
-o './translations' \
-k 'id'
$ rip po2json './node_modules/mcs-translation/po/mcs-public*.po' \`
-m './_translations/src/**/*.json' \
-o './translations.json' \
-k 'id'
$ yarn install --pure-lockfile
You can use R.tap()
for developing.
R.pipe(
R.concat(...),
+ R.tap(e => console.log(e)),
R.mergeAll,
);
$ yarn run format
$ yarn run eslint
$ yarn run test:watch
Any git tags.
CHANGELOG.md
$ npm version patch
$ yarn run test
).FAQs
Extract POT from react-intl and convert back to json.
We found that react-intl-po 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
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.