Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jun 8, 2019. It is now read-only.

Extracts string messages from React components that use React Intl.

License

NotificationsYou must be signed in to change notification settings

formatjs/babel-plugin-react-intl

Repository files navigation

travis

Extracts string messages for translation from modules that useReact Intl.

Dependencies

React Intl

This Babel plugin works with React Intl v2.x

Babel

  • 3.x of this plugin works with Babel 7
  • 2.x works with Babel 6
  • 1.x works with Babel 5

Installation

$ npm install babel-plugin-react-intl

Usage

This Babel plugin only visits ES6 modules whichimport React Intl.

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

If a message descriptor has adescription, it'll be removed from the source after it's extracted to save bytes since it isn't used at runtime.

Via.babelrc (Recommended)

.babelrc

{"plugins": [    ["react-intl", {"messagesDir":"./build/messages/"    }]  ]}

Options

  • messagesDir: The target location where the plugin will output a.json 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.

  • enforceDescriptions: Whether message declarationsmust contain adescription to provide context to translators. Defaults to:false.

  • extractSourceLocation: Whether the metadata about the location of the message in the source file should be extracted. Iftrue, thenfile,start, andend fields will exist for each extracted message descriptors. Defaults tofalse.

  • 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.

  • overrideIdFn: A function with the signature(id: string, defaultMessage: string, description: string|object) => string which allows you to override the ID both in the extracted javascript and messages.

Via Node API

The extract message descriptors are available via themetadata property on the object returned from Babel'stransform() API:

require('@babel/core').transform('code',{plugins:['react-intl']})// => { code, map, ast, metadata['react-intl'].messages };

About

Extracts string messages from React components that use React Intl.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors14


[8]ページ先頭

©2009-2025 Movatter.jp