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.
i18n-modules
Advanced tools
Isolated I18N modules for your components. Like CSS modules but for i18n ;)
npm install --save i18n-modules
The steps below use webpack to organize building process. You are free to use anything else.
First of all you should set available locales with the global variable LANGS
and a locale for the current bundle with BUNDLE_LANG
:
plugins: [
new webpack.DefinePlugin({
LANGS: JSON.stringify(['en', 'ru']),
BUNDLE_LANG: JSON.stringify(bundleLang)
})
]
Set an ignore pattern for unnecessary languages in the current bundle:
plugins: [
new webpack.IgnorePlugin(new RegExp(`^\.\/(?!${bundleLang}$)`), /i18n$/),
new webpack.DefinePlugin({
LANGS: JSON.stringify(['en', 'ru']),
BUNDLE_LANG: JSON.stringify(bundleLang)
})
]
Create a folder with translations for your component:
// src/components/MyComponent/i18n/en.js
module.exports = {
'hello_world': 'Hello, world!'
};
// src/components/MyComponent/i18n/ru.js
module.exports = {
'hello_world': 'Привет, мир!'
};
// src/components/MyComponent/i18n/index.js
// Include translations
module.exports = require('i18n-modules').include(lang => require(`./${lang}`));
Use translations from your component:
// src/components/MyComponent/index.js
const t = require('./i18n');
class MyComponent extends Component {
render() {
return <h1>{t('hello_world')}</h1>
}
}
If you want to use i18n modules with node.js, for example, to render react components, you should set a locale for the request before call translation functions.
I18N.setLang(req.lang);
res.status(200).send(...rendering...);
If your project renders client code, don't set BUNDLE_LANG
and include all translations into the server bundle.
plugins: [
new webpack.DefinePlugin({
LANGS: JSON.stringify(['en', 'ru'])
})
]
See example
folder. Clone repo and run npm i && npm start
.
Supports interpolation, pluralization. Has Polyglot.js under the hood.
FAQs
Isolated I18N modules
The npm package i18n-modules receives a total of 1 weekly downloads. As such, i18n-modules popularity was classified as not popular.
We found that i18n-modules 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.