- Notifications
You must be signed in to change notification settings - Fork10
Extracts messages for localization from ReScript source files.
License
cca-io/rescript-react-intl-extractor
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Extracts messages for localization fromReScript source files.
This assumes that you are using therescript-react-intl bindings forreact-intl.
Binaries for macOS, Linux and Windows can be installed via npm or yarn. For global installation, run
npm install -g rescript-react-intl-extractor-bin
Alternatively, the binaries are also available for download on thereleases page.
rescript-react-intl-extractor [--allow-duplicates] [path...]
wherepath is a ReScript (*.res) source file or a directory containing such source files. Multiple files/directories may be specified.
The--allow-duplicates option allows messages with identicalid props if thedefaultMessage props are identical as well.
The output (a JSON array of all extracted messages sorted by id) is written to stdout. It will look like this:
[ {"id":"message.hello","defaultMessage":"Hello" }, {"id":"message.world","defaultMessage":"World" }, {"id":"some.message.id","defaultMessage":"Some message" }]Formatted messages may be defined in your source files in one of the following ways:
- inline in
FormattedMessage:
<ReactIntl.FormattedMessageid="some.message.id"defaultMessage="Some message" />
or
openReactIntl...<FormattedMessageid="some.message.id"defaultMessage="Some message" />
- within a module with the
[@intl.messages]attribute:
openReactIntlmoduleMsg= { @@intl.messageslethello= {id:"message.hello",defaultMessage:"Hello"}letworld= {id:"message.world",defaultMessage:"World"}}
You also can pass descriptions to the records with:
letfoo= @intl.description("Hello description") {id:"message.hello",defaultMessage:"Hello"}
The ReScript parser is included as a git submodule. Therefore, after checking out the sources, first run
git submodule update --init --recursiveInstall OCaml and OPAM, and create an OPAM switch with OCaml version 4.14.1.
Then run
opam pin add rescript-react-intl-extractor.dev . --no-actionopam install . --deps-only --with-doc --with-testTo build the project, run
opam exec -- dune buildTo run the tests, do
opam exec -- dune runtestAbout
Extracts messages for localization from ReScript source files.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors7
Uh oh!
There was an error while loading.Please reload this page.
