Extract react-intl messages
$ npm install --save-dev extract-react-intl-messages
app/components/App/messages.js
import { defineMessages } from 'react-intl'
export default defineMessages({
hello: {
id: 'a.hello',
defaultMessage: 'hello'
},
world: {
id: 'a.world',
defaultMessage: 'world'
}
})
$ extract-messages -l=en,ja -o app/translations -d en --flat false 'app/**/!(*.test).js'
app/translations/en.json
{
"a": {
"hello": "hello",
"world": "world"
},
"b": {
"hello": "hello",
"world": "world"
}
}
app/translations/ja.json
{
"a": {
"hello": "",
"world": ""
},
"b": {
"hello": "",
"world": ""
}
}
Use with babel-plugin-react-intl-auto: i18n for the component age. Auto management react-intl ID.
$ extract-messages --help
Extract react-intl messages
Usage
$ extract-react-intl-messages <input>
$ extract-messages <input>
Options
-o, --output Output directory [require: true]
-l, --locales locales [require: true]
-f, --format json|yaml [default: json]
--flat json [default: true] | yaml [default: false]
--default-locale default locale [default: en]
--delimiter json | yaml [default: .]
Example
$ extract-messages --locales=ja,en --output app/translations 'app/**/*.js'
$ extract-messages -l=ja,en -o app/translations -f yaml 'app/**/messages.js'
Type: Array<string>
Example: ['en', 'ja']
Type: Array<string>
Target files. glob.
Type: string
Export directory.
Type: string
Default: en
Type: json
| yaml
Default: json
Set extension to output.
Type: boolean
Default: true
If format is yaml
, set to false
.
Be careful if false
.
See this issue.
Thanks goes to these wonderful people (emoji key):
akameco 💻 |
Hoan Tran 💻 |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!
MIT © akameco