Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@visma/react-intl-helpers

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@visma/react-intl-helpers

Modular messages.properties, loaded dynamically.

  • 0.1.0
  • npm
  • Socket score

Version published
Weekly downloads
5
increased by150%
Maintainers
1
Weekly downloads
 
Created
Source

@visma/react-intl-helpers

Modular messages.properties, loaded dynamically.

Example

webpack.config.js:

module.exports = {
  module: {
    rules: [
      {
        test: /\.properties$/,
        use: "@visma/react-intl-helpers/cjs/loader"
      }
    ]
  }
};

Project structure:

my-app/
  dist/intl/                                // generated
      messages.1f87c6b2907b3c71.json        // defaults
      messages.en-US.64c397a24b33b0e8.json  // defaults + en + en-US
      messages.en.f6ddad6c6db9e386.json     // defaults + en
      messages.fi.7ad0b2e9bd60b8b2.json     // defaults + fi
  src/
    intl/
      messages.properties
      messages_fi.properties
    App.js
  node_modules/some-package/messages/
    messages.properties
    messages_fi.properties
    messages_en.properties
    messages_en_US.properties

Directory should contain only messages[_language[_COUNTRY]].properties files. Files are added automatically to the build, if message ids are imported from messages.properties. Final ids are namespaced - same keys in different directories are allowed.

messages.properties:

title = Intl Example
some.thing = Some thing

Components

<Localize>

propDefault valueDescription
localeundefinedApplication locale, if set.
defaultLocale'en-US'Fallback value, if getting value from localStorage or detecting browser locale fails.
onChangeLocaleundefinedCallback function gets called with new value when locale changes.

./src/App.js:

import { Localize } from "@visma/react-intl-helpers";
import { FormattedMessage } from "react-intl";
// Import ids from default(!) messages.
import { someThing } from "some-package/messages/messages.properties";
import * as ids from "./intl/messages.properties";

export default () => (
  <Localize locale="fi-FI">
    <FormattedMessage id={ids.title} />
    <FormattedMessage id={ids.someThing} />
    <FormattedMessage id={someThing} />
  </Localize>
);

<Selector>

propDescription
localesArray of objects containing locale and optionally other properties.
...restRest of the props will be merged to each locale selector item.

./src/App.js:

import { BrowserRouter } from "react-router-dom";
import { Selector } from "@visma/react-intl-helpers";

export default () => (
  <BrowserRouter>
    ...
    <Selector
      locales={[
        { locale: "fi-FI", children: "Suomeksi" },
        { locale: "en-US", children: "English" }
      ]}
      style={{ marginRight: ".4em" }}
    />
    ...
  </BrowserRouter>
);

Keywords

FAQs

Package last updated on 18 Mar 2018

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