babel-plugin-react-intl-to-properties

2.0.3 • Public • Published

babel-plugin-react-intl-to-properties

Extracts string messages for translation from modules that use React Intl into a .properties file.

Installation

$ npm install babel-plugin-react-intl-to-properties

Example

Formatted Message
  <FormattedMessage
        defaultMessage='React Intl to Properties'
        description='Title for React Intl to Properties'
        id='example.rectintltoprops'
    />
Outputted .properties
# Title for React Intl to Properties
example.rectintltoprops=React Intl to Properties

Usage

The default message descriptors for the app's default language will be extracted from: defineMessages(), <FormattedMessage>, and <FormattedHTMLMeessage>; all of which are named exports of the React Intl package.

.babelrc
{
  "plugins": [
    ["react-intl-to-properties", {
        "enforceDescriptions": true,
        "fileName": "en-US",
        "messagesDir": "./build/messages/"
    }]
  ]
}
Options
  • enforceDescriptions: Whether or not message declarations must contain a description to provide context to translators. Defaults to: false.

  • fileName: Name of the generated .properties file.

  • messagesDir: The target location where the plugin will output a .properties file corresponding to each component from which React Intl messages were extracted. If not provided, the extracted message descriptors will only be accessible via Babel's API.

  • moduleSourceName: The ES6 module source name of the React Intl package. Defaults to: "react-intl", but can be changed to another name/path to React Intl.

  • namespace: Only extract messages with a particular namespaced id in the form <namespace>.id. Useful when including external components with their own messages.

Via CLI
$ babel --plugins react-intl-to-properties script.js

Credit

Forked from yahoo/babel-plugin-react-intl

Package Sidebar

Install

npm i babel-plugin-react-intl-to-properties

Weekly Downloads

1

Version

2.0.3

License

BSD-3-Clause

Last publish

Collaborators

  • stevenla
  • tarrencev