Extracts string messages for translation from modules that use React Intl into a .properties
file.
$ npm install babel-plugin-react-intl-to-properties
<FormattedMessage
defaultMessage='React Intl to Properties'
description='Title for React Intl to Properties'
id='example.rectintltoprops'
/>
# Title for React Intl to Properties
example.rectintltoprops=React Intl to Properties
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.
{
"plugins": [
["react-intl-to-properties", {
"enforceDescriptions": true,
"fileName": "en-US",
"messagesDir": "./build/messages/"
}]
]
}
-
enforceDescriptions
: Whether or not message declarations must contain adescription
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 namespacedid
in the form<namespace>.id
. Useful when including external components with their ownmessages
.
$ babel --plugins react-intl-to-properties script.js
Forked from yahoo/babel-plugin-react-intl