brabeji / react-intl-po

:rocket: Extract POT from react-intl and convert back to json.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

react-intl-po

Extract POT from react-intl and convert back to json.

messages.json → POT → PO → translation.json

Travis Codecov Status npm package npm downloads license

Dependency Status devDependency Status peerDependency Status

Installation

$ npm install react-intl-po --save

Requirements and Workflow

  • react-intl
  • babel-plugin-react-intl

RIP Workflow

Usage

There are two sub-commands of react-intl-po or rip:

  1. json2pot: Convert the json files extracted from babel-plugin-react-intl into one .pot file.
  2. po2json: Convert translated .po files back to .json format.

json2pot

$ rip json2pot '_translations/src/**/*.json' \
    -o ./mcs-public.pot
Arguments Description
srcPatterns The pattern of .json files extracted from babel-plugin-react-intl
output (-o) The output pathname of .pot file to be translated

po2json

Case 1: Output one file per locale if a directory is set

$ rip po2json './node_modules/mcs-translation/po/mcs-public*.po' \
     -m './_translations/src/**/*.json' \
     -o './translations'

Case 2: Output one merged file if a .json file is set

$ rip po2json './node_modules/mcs-translation/po/mcs-public*.po' \`
     -m './_translations/src/**/*.json' \
     -o './translations.json'
Arguments Description
srcPatterns The pattern of translated .po files
messagesPattern (-m) The pattern of .json files extracted from babel-plugin-react-intl
output (-o) The output pathname of a file / directory

API

Property

Test

$ npm run test:watch

CONTRIBUTING

  • ⇄ Pull requests and ★ Stars are always welcome.
  • For bugs and feature requests, please create an issue.
  • Pull requests must be accompanied by passing automated tests ($ npm test).

MIT: http://michaelhsu.mit-license.org

About

:rocket: Extract POT from react-intl and convert back to json.

License:MIT License


Languages

Language:JavaScript 100.0%